CostUntap change keyword check to static check

This commit is contained in:
Northmoc
2022-05-26 13:59:19 -04:00
parent a10e906ddb
commit a1dcb3617c

View File

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