diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java index cd53ea38b68..7883cb9497a 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputAttack.java @@ -30,6 +30,7 @@ import forge.game.event.GameEventCombatUpdate; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerView; +import forge.game.staticability.StaticAbilityMustAttack; import forge.game.zone.ZoneType; import forge.gui.events.UiEventAttackerDeclared; import forge.player.PlayerControllerHuman; @@ -128,6 +129,20 @@ public class InputAttack extends InputSyncronizedBase { continue; } + final List mustAttack = StaticAbilityMustAttack.entitiesMustAttack(c); + if (!mustAttack.isEmpty()) { + for (final GameEntity defender : mustAttack) { + if (CombatUtil.canAttack(c, defender)) { + combat.addAttacker(c, defender); + refreshCards.add(CardView.get(c)); + break; + } + } + if (combat.isAttacking(c)) { + continue; + } + } + if (currentDefender != null && CombatUtil.canAttack(c, currentDefender)) { combat.addAttacker(c, currentDefender); refreshCards.add(CardView.get(c));