diff --git a/forge-ai/src/main/java/forge/ai/AiBlockController.java b/forge-ai/src/main/java/forge/ai/AiBlockController.java index 2ce4527e901..d1e09092537 100644 --- a/forge-ai/src/main/java/forge/ai/AiBlockController.java +++ b/forge-ai/src/main/java/forge/ai/AiBlockController.java @@ -352,7 +352,7 @@ public class AiBlockController { if (ab.getApi() == ApiType.Pump && "Self".equals(ab.getParam("Defined"))) { String rawP = ab.getParam("NumAtt"); String rawT = ab.getParam("NumDef"); - if ("+X".equals(rawP) && "+X".equals(rawT) && "TriggerCount$NumBlockers".equals(card.getSVar("X"))) { + if ("+X".equals(rawP) && "+X".equals(rawT) && card.getSVar("X").startsWith("Count$Valid Creature.blockingTriggeredAttacker")) { return true; } // TODO: maybe also predict calculated bonus above certain threshold? diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index 5f30d9cbbad..13e83303229 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -1286,8 +1286,8 @@ public class ComputerUtilCombat { power += Integer.parseInt(att); } else { String bonus = AbilityUtils.getSVar(sa, att); - if (bonus.contains("TriggerCount$NumBlockers")) { - bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); + if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) { + bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1"); } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); } else if (bonus.contains("TriggeredAttacker$CardPower")) { // e.g. Arahbo, Roar of the World @@ -1475,8 +1475,8 @@ public class ComputerUtilCombat { toughness += Integer.parseInt(def); } else { String bonus = AbilityUtils.getSVar(sa, def); - if (bonus.contains("TriggerCount$NumBlockers")) { - bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); + if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) { + bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1"); } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); } @@ -1507,8 +1507,8 @@ public class ComputerUtilCombat { toughness += Integer.parseInt(def); } else { String bonus = AbilityUtils.getSVar(sa, def); - if (bonus.contains("TriggerCount$NumBlockers")) { - bonus = TextUtil.fastReplace(bonus, "TriggerCount$NumBlockers", "Number$1"); + if (bonus.contains("Count$Valid Creature.blockingTriggeredAttacker")) { + bonus = TextUtil.fastReplace(bonus, "Count$Valid Creature.blockingTriggeredAttacker", "Number$1"); } else if (bonus.contains("TriggeredPlayersDefenders$Amount")) { // for Melee bonus = TextUtil.fastReplace(bonus, "TriggeredPlayersDefenders$Amount", "Number$1"); }