From 48e8dd3eba2d168bfe79a048a30b2f29eac5f49d Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 22 Apr 2022 19:14:25 -0400 Subject: [PATCH] StaticAbilityMustAttack improve getDefinedEntities --- .../StaticAbilityMustAttack.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityMustAttack.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityMustAttack.java index 9b3e9995ca3..39aa37a932d 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityMustAttack.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityMustAttack.java @@ -24,17 +24,19 @@ public class StaticAbilityMustAttack { } if (stAb.matchesValidParam(stAb.getParam("ValidCreature"), attacker)) { if (stAb.hasParam("MustAttack")) { - GameEntity e = AbilityUtils.getDefinedEntities(attacker, stAb.getParam("MustAttack"), - stAb).get(0); - if (e instanceof Player) { - Player attackPl = (Player) e; - if (!game.getPhaseHandler().isPlayerTurn(attackPl)) { // CR 506.2 - entityList.add(e); - } - } else if (e instanceof Card) { - Card attackPW = (Card) e; - if (!game.getPhaseHandler().isPlayerTurn(attackPW.getController())) { // CR 506.2 - entityList.add(e); + List def = AbilityUtils.getDefinedEntities(stAb.getHostCard(), + stAb.getParam("MustAttack"), stAb); + for (GameEntity e : def) { + if (e instanceof Player) { + Player attackPl = (Player) e; + if (!game.getPhaseHandler().isPlayerTurn(attackPl)) { // CR 506.2 + entityList.add(e); + } + } else if (e instanceof Card) { + Card attackPW = (Card) e; + if (!game.getPhaseHandler().isPlayerTurn(attackPW.getController())) { // CR 506.2 + entityList.add(e); + } } } } else { // if the list is only the attacker, the attacker must attack, but no specific entity