From 3b0de691c8341bd31741fbbbdac45a3a0da15a95 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Fri, 9 Jun 2023 06:55:36 +0400 Subject: [PATCH] Remove a counter from - fixed game error --- .../common/RemoveCountersSourceCost.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/costs/common/RemoveCountersSourceCost.java b/Mage/src/main/java/mage/abilities/costs/common/RemoveCountersSourceCost.java index d6f7982a263..5fc6f56077c 100644 --- a/Mage/src/main/java/mage/abilities/costs/common/RemoveCountersSourceCost.java +++ b/Mage/src/main/java/mage/abilities/costs/common/RemoveCountersSourceCost.java @@ -46,16 +46,22 @@ public class RemoveCountersSourceCost extends CostImpl { @Override public boolean canPay(Ability ability, Ability source, UUID controllerId, Game game) { Permanent permanent = game.getPermanent(source.getSourceId()); - return permanent != null && name.isEmpty() - ? permanent - .getCounters(game) - .values() - .stream() - .map(Counter::getCount) - .anyMatch(i -> i > 0) - : permanent - .getCounters(game) - .getCount(name) >= amount; + if (permanent == null) { + return false; + } + + if (this.name.isEmpty()) { + // any counter + return permanent + .getCounters(game) + .values() + .stream() + .map(Counter::getCount) + .anyMatch(i -> i >= amount); + } else { + // specific counter + return permanent.getCounters(game).getCount(name) >= amount; + } } @Override