diff --git a/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java b/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java index 3fbd9027c95..3fc2e46c2b2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ProtectAi.java @@ -14,6 +14,7 @@ import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.card.MagicColor; import forge.game.Game; +import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.ProtectEffect; @@ -110,6 +111,7 @@ public class ProtectAi extends SpellAbilityAi { final PhaseHandler ph = game.getPhaseHandler(); CardCollection list = ai.getCreaturesInPlay(); + final List threatenedObjects = ComputerUtil.predictThreatenedObjects(sa.getActivatingPlayer(), sa); list = CardLists.filter(list, new Predicate() { @Override public boolean apply(final Card c) { @@ -122,12 +124,9 @@ public class ProtectAi extends SpellAbilityAi { return false; } - if (!game.stack.isEmpty()) { - //counter bad effect on stack - if (ComputerUtil.predictThreatenedObjects(sa.getActivatingPlayer(), sa).contains(c)) { + if (threatenedObjects.contains(c)) { return true; - } - } + }} if (combat != null) { //creature is blocking and would be destroyed itself diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java index 43e54d71ec4..19fa8255136 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAllAi.java @@ -139,12 +139,11 @@ public class PumpAllAi extends PumpAiBase { boolean pumpAgainstRemoval(Player ai, SpellAbility sa, List comp) { final List objects = ComputerUtil.predictThreatenedObjects(sa.getActivatingPlayer(), sa); - final List threatenedTargets = new ArrayList(); for (final Card c : comp) { if (objects.contains(c)) { - threatenedTargets.add(c); + return true; } } - return !threatenedTargets.isEmpty(); + return false; } }