diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java index 4f7bdbbac3d..efd9aa5ed0d 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java @@ -3,7 +3,6 @@ package forge.ai; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.*; - import forge.ai.AiCardMemory.MemorySet; import forge.ai.ability.AnimateAi; import forge.card.ColorSet; @@ -1535,6 +1534,19 @@ public class ComputerUtilMana { sa.setSVar("Multikicker", String.valueOf(timesMultikicked)); } + if ("NumTimes".equals(sa.getParam("Announce"))) { // e.g. the Adversary cycle + ManaCost mkCost = sa.getPayCosts().getTotalMana(); + ManaCost mCost = ManaCost.ZERO; + for (int i = 0; i < 10; i++) { + mCost = ManaCost.combine(mCost, mkCost); + ManaCostBeingPaid mcbp = new ManaCostBeingPaid(mCost); + if (!ComputerUtilMana.canPayManaCost(mcbp, sa, sa.getActivatingPlayer())) { + sa.getHostCard().setSVar("NumTimes", "Number$" + i); + break; + } + } + } + if (test && sa.isSpell()) { sa.getHostCard().setCastFrom(castFromBackup); } diff --git a/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java b/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java index 57d6d2577e4..fe0830352a6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ImmediateTriggerAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; import forge.ai.*; -import forge.card.mana.ManaCost; -import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; @@ -44,19 +42,6 @@ public class ImmediateTriggerAi extends SpellAbilityAi { sa.setXManaCostPaid(ComputerUtilCost.getMaxXValue(sa, ai)); } - if ("NumTimes".equals(sa.getParam("Announce"))) { // e.g. the Adversary cycle - ManaCost mkCost = sa.getPayCosts().getTotalMana(); - ManaCost mCost = ManaCost.ZERO; - for (int i = 0; i < 10; i++) { - mCost = ManaCost.combine(mCost, mkCost); - ManaCostBeingPaid mcbp = new ManaCostBeingPaid(mCost); - if (!ComputerUtilMana.canPayManaCost(mcbp, sa, ai)) { - sa.getHostCard().setSVar("NumTimes", "Number$" + i); - break; - } - } - } - AiController aic = ((PlayerControllerAi)ai.getController()).getAi(); trigsa.setActivatingPlayer(ai);