From 02db93b75c43b0378b94e704fdde6957d6613f8a Mon Sep 17 00:00:00 2001 From: Grath <1895280+Grath@users.noreply.github.com> Date: Sun, 1 Dec 2024 12:21:10 -0500 Subject: [PATCH] Correct UntapTargetCost similarly to UntapSourceCost per 118.11 --- .../java/mage/abilities/costs/common/UntapTargetCost.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java b/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java index 75f498e97058..8e0506c2f5c8 100644 --- a/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java +++ b/Mage/src/main/java/mage/abilities/costs/common/UntapTargetCost.java @@ -4,6 +4,7 @@ import mage.abilities.costs.Cost; import mage.abilities.costs.CostImpl; import mage.constants.Outcome; +import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; @@ -45,7 +46,10 @@ public boolean pay(Ability ability, Game game, Ability source, UUID controllerId return false; } - if (permanent.untap(game)) { + // 118.11 - if a stun counter replaces the untap, the cost has still been paid. + // Fear of Sleep Paralysis ruling - if the stun counter can't be removed, the untap cost hasn't been paid. + int stunCount = permanent.getCounters(game).getCount(CounterType.STUN); + if (permanent.untap(game) || (stunCount > 0 && permanent.getCounters(game).getCount(CounterType.STUN) < stunCount)) { untapped.add(targetId); }