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.Game;
|
||||||
import forge.game.GameEntity;
|
import forge.game.GameEntity;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
|
import forge.game.zone.ZoneType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class StaticAbility_CanAttackDefender.
|
* The Class StaticAbility_CanAttackDefender.
|
||||||
@@ -27,6 +28,24 @@ import forge.game.card.Card;
|
|||||||
*/
|
*/
|
||||||
public class StaticAbilityCanAttackDefender {
|
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) {
|
public static boolean applyCanAttackAbility(final StaticAbility stAb, final Card card, final GameEntity target) {
|
||||||
final Card hostCard = stAb.getHostCard();
|
final Card hostCard = stAb.getHostCard();
|
||||||
final Game game = hostCard.getGame();
|
final Game game = hostCard.getGame();
|
||||||
|
|||||||
Reference in New Issue
Block a user