CardProperty: implement generic "attacking DefinedGameEntity"

This commit is contained in:
Northmoc
2021-11-03 11:28:23 -04:00
parent 1329b52b3c
commit d656b39f06

View File

@@ -25,6 +25,7 @@ import forge.game.zone.ZoneType;
import forge.item.PaperCard;
import forge.util.Expressions;
import forge.util.TextUtil;
import forge.util.collect.FCollection;
import forge.util.collect.FCollectionView;
import org.apache.commons.lang3.StringUtils;
@@ -1467,6 +1468,14 @@ public class CardProperty {
return false;
}
}
if (property.startsWith("attacking ")) { // generic "attacking [DefinedGameEntity]"
FCollection<GameEntity> defined = AbilityUtils.getDefinedEntities(source, property.split(" ")[1],
spellAbility);
final GameEntity defender = combat.getDefenderByAttacker(card);
if (!defined.contains(defender)) {
return false;
}
}
} else if (property.startsWith("notattacking")) {
return null == combat || !combat.isAttacking(card);
} else if (property.equals("attackedThisCombat")) {