diff --git a/forge-game/src/main/java/forge/game/cost/CostTap.java b/forge-game/src/main/java/forge/game/cost/CostTap.java index 2f57d20589d..bf2d35cef5a 100644 --- a/forge-game/src/main/java/forge/game/cost/CostTap.java +++ b/forge-game/src/main/java/forge/game/cost/CostTap.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 CostTap. @@ -61,7 +62,7 @@ public class CostTap extends CostPart { @Override public final boolean canPay(final SpellAbility ability, final Player payer, final boolean effect) { final Card source = ability.getHostCard(); - return source.isUntapped() && (!source.isSick() || source.hasKeyword("CARDNAME may activate abilities as though it has haste.")); + return source.isUntapped() && !isAbilitySick(source); } @Override @@ -74,4 +75,10 @@ public class CostTap extends CostPart { return visitor.visit(this); } + public boolean isAbilitySick(final Card source) { + if (!source.isSick()) { + return false; + } + return !StaticAbilityActivateAbilityAsIfHaste.canActivate(source); + } }