mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
CostUntap change keyword check to static check
This commit is contained in:
@@ -20,6 +20,7 @@ package forge.game.cost;
|
|||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
|
import forge.game.staticability.StaticAbilityActivateAbilityAsIfHaste;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class CostUntap.
|
* The Class CostUntap.
|
||||||
@@ -72,7 +73,7 @@ public class CostUntap extends CostPart {
|
|||||||
@Override
|
@Override
|
||||||
public final boolean canPay(final SpellAbility ability, final Player payer, final boolean effect) {
|
public final boolean canPay(final SpellAbility ability, final Player payer, final boolean effect) {
|
||||||
final Card source = ability.getHostCard();
|
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
|
@Override
|
||||||
@@ -85,4 +86,10 @@ public class CostUntap extends CostPart {
|
|||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isAbilitySick(final Card source) {
|
||||||
|
if (!source.isSick()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return !StaticAbilityActivateAbilityAsIfHaste.canActivate(source);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user