From d1751262df73dd45e51fa2a48f4b153d193e9cbb Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 28 Feb 2025 22:09:37 +0300 Subject: [PATCH] Make canBlock check if the blocker is a creature. (#7098) - TokenAi also checks if the spawned token is a creature before running checks. --- forge-ai/src/main/java/forge/ai/ability/TokenAi.java | 3 ++- forge-game/src/main/java/forge/game/combat/CombatUtil.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index dd53f060877..58e11b6cb50 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -206,7 +206,8 @@ public class TokenAi extends SpellAbilityAi { && game.getPhaseHandler().getPlayerTurn().isOpponentOf(ai) && game.getCombat() != null && !game.getCombat().getAttackers().isEmpty() - && alwaysOnOppAttack) { + && alwaysOnOppAttack + && actualToken.isCreature()) { for (Card attacker : game.getCombat().getAttackers()) { if (CombatUtil.canBlock(attacker, actualToken)) { return true; diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index a25282f0e9a..cd41f0f9630 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -996,7 +996,7 @@ public class CombatUtil { * @return a boolean. */ public static boolean canBlock(final Card attacker, final Card blocker, final boolean nextTurn) { - if (attacker == null || blocker == null) { + if (attacker == null || blocker == null || !blocker.isCreature()) { return false; }