From d2c42071aad5c01e7499e6f5483d66eff4c47d60 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Sun, 11 Aug 2024 19:09:59 +0200 Subject: [PATCH] Fix token CMC when copying (#5898) * Fix token CMC when copying * Fix TDFC token copy using front CMC --------- Co-authored-by: TRT <> --- forge-game/src/main/java/forge/game/card/Card.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index ec1ac85145e..0d77dc57a76 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -7230,9 +7230,6 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return getCMC(SplitCMCMode.CurrentSideCMC); } public int getCMC(SplitCMCMode mode) { - if (isToken() && getCopiedPermanent() == null) { - return 0; - } if (lkiCMC >= 0) { return lkiCMC; // a workaround used by getLKICopy } @@ -7263,8 +7260,15 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } } else if (currentStateName == CardStateName.Transformed) { // Except in the cases were we clone the back-side of a DFC. + if (getCopiedPermanent() != null) { + return 0; + } requestedCMC = getState(CardStateName.Original).getManaCost().getCMC(); } else if (currentStateName == CardStateName.Meld) { + // to follow the rules (but we shouldn't get here while cloned) + if (getCopiedPermanent() != null) { + return 0; + } // Melded creatures have a combined CMC of each of their parts requestedCMC = getState(CardStateName.Original).getManaCost().getCMC() + this.getMeldedWith().getManaCost().getCMC(); } else {