diff --git a/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java b/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java index 4788fdec31b..210464db7d7 100644 --- a/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java +++ b/forge-game/src/main/java/forge/game/cost/CostRemoveCounter.java @@ -140,7 +140,13 @@ public class CostRemoveCounter extends CostPart { final Card source = ability.getHostCard(); final String type = this.getType(); - final Integer amount = this.convertAmount(); + final Integer amount; + if (getAmount().equals("All")) { + amount = source.getCounters(cntrs); + } + else { + amount = this.convertAmount(); + } if (this.payCostFromSource()) { return (amount == null) || ((source.getCounters(cntrs) - amount) >= 0); } @@ -170,7 +176,14 @@ public class CostRemoveCounter extends CostPart { Card source = ability.getHostCard(); int removed = 0; - int toRemove = AbilityUtils.calculateAmount(source, getAmount(), ability); + final int toRemove; + if (getAmount().equals("All")) { + toRemove = source.getCounters(counter); + } + else { + toRemove = AbilityUtils.calculateAmount(source, getAmount(), ability); + } + // for this cost, the list should be only one for (Card c : decision.cards) { removed += toRemove;