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());