From ce46c684b5959cd6e17c4bcdbe58c7b668a385a1 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 21 May 2025 09:03:54 +0300 Subject: [PATCH] - Fix AI logic for Sorin, Vengeful Broodlord. (#7630) --- forge-ai/src/main/java/forge/ai/SpecialCardAi.java | 1 + forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java index 96981dc84d7..62368fb8fe2 100644 --- a/forge-ai/src/main/java/forge/ai/SpecialCardAi.java +++ b/forge-ai/src/main/java/forge/ai/SpecialCardAi.java @@ -1469,6 +1469,7 @@ public class SpecialCardAi { if (best != null) { sa.resetTargets(); sa.getTargets().add(best); + sa.setXManaCostPaid(best.getCMC()); return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java index 508f2d724b6..0ef629a96a9 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java @@ -95,7 +95,7 @@ public class DamageDealAi extends DamageAiBase { final String damage = sa.getParam("NumDmg"); int dmg = calculateDamageAmount(sa, source, damage); - if (damage.equals("X") || source.getSVar("X").equals("Count$xPaid")) { + if (damage.equals("X") || (dmg == 0 && source.getSVar("X").equals("Count$xPaid"))) { if (sa.getSVar("X").equals("Count$xPaid") || sa.getSVar(damage).equals("Count$xPaid")) { dmg = ComputerUtilCost.getMaxXValue(sa, ai, sa.isTrigger());