mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
add canAttack boolean and MODE string
This commit is contained in:
@@ -20,6 +20,7 @@ package forge.game.staticability;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameEntity;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
/**
|
||||
* The Class StaticAbility_CanAttackDefender.
|
||||
@@ -27,6 +28,24 @@ import forge.game.card.Card;
|
||||
*/
|
||||
public class StaticAbilityCanAttackDefender {
|
||||
|
||||
static String MODE = "CanAttackDefender";
|
||||
|
||||
public static boolean canAttack(final Card card, final GameEntity target) {
|
||||
// CanAttack static abilities
|
||||
for (final Card ca : target.getGame().getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) {
|
||||
for (final StaticAbility stAb : ca.getStaticAbilities()) {
|
||||
if (!stAb.getParam("Mode").equals(MODE) || stAb.isSuppressed() || !stAb.checkConditions()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (applyCanAttackAbility(stAb, card, target)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean applyCanAttackAbility(final StaticAbility stAb, final Card card, final GameEntity target) {
|
||||
final Card hostCard = stAb.getHostCard();
|
||||
final Game game = hostCard.getGame();
|
||||
|
||||
Reference in New Issue
Block a user