From 1dca57c5b5c12b30c4e4b1132b5b4edacff8c8f5 Mon Sep 17 00:00:00 2001 From: TRT <> Date: Thu, 17 Feb 2022 17:51:25 +0100 Subject: [PATCH] AI fix --- .../src/main/java/forge/ai/ComputerUtilCombat.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index 5131f6968b6..b1b584302cd 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -2223,14 +2223,21 @@ public class ComputerUtilCombat { */ public final static int getDamageToKill(final Card c, boolean withShields) { int damageShield = withShields ? c.getPreventNextDamageTotalShields() : 0; - int killDamage = (c.isPlaneswalker() ? c.getCurrentLoyalty() : c.getLethalDamage()) + damageShield; + int killDamage = 0; + if (c.isCreature()) { + killDamage = Math.max(0, c.getLethalDamage()); + } + if (c.isPlaneswalker()) { + int killDamagePW = c.getCurrentLoyalty(); + killDamage = c.isCreature() ? Math.min(killDamage, killDamagePW) : killDamagePW; + } if (killDamage > damageShield && c.hasSVar("DestroyWhenDamaged")) { - killDamage = 1 + damageShield; + killDamage = 1; } - return killDamage; + return killDamage + damageShield; } /**