From a1dcb3617c3b686d5846df77f05d72e184aed5aa Mon Sep 17 00:00:00 2001 From: Northmoc Date: Thu, 26 May 2022 13:59:19 -0400 Subject: [PATCH] CostUntap change keyword check to static check --- forge-game/src/main/java/forge/game/cost/CostUntap.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/cost/CostUntap.java b/forge-game/src/main/java/forge/game/cost/CostUntap.java index cbaff72257a..877e6730d44 100644 --- a/forge-game/src/main/java/forge/game/cost/CostUntap.java +++ b/forge-game/src/main/java/forge/game/cost/CostUntap.java @@ -20,6 +20,7 @@ package forge.game.cost; import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import forge.game.staticability.StaticAbilityActivateAbilityAsIfHaste; /** * The Class CostUntap. @@ -72,7 +73,7 @@ public class CostUntap extends CostPart { @Override public final boolean canPay(final SpellAbility ability, final Player payer, final boolean effect) { final Card source = ability.getHostCard(); - return source.isTapped() && (!source.isSick() || source.hasKeyword("CARDNAME may activate abilities as though it has haste.")); + return source.isTapped() && !isAbilitySick(source); } @Override @@ -85,4 +86,10 @@ public class CostUntap extends CostPart { return visitor.visit(this); } + public boolean isAbilitySick(final Card source) { + if (!source.isSick()) { + return false; + } + return !StaticAbilityActivateAbilityAsIfHaste.canActivate(source); + } }