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); + } }