diff --git a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java index fab4b7a3996..bd049cafdcc 100644 --- a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java +++ b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java @@ -765,6 +765,21 @@ public class ChangeZoneAi extends SpellAbilityAi { } } } + + // When bouncing opponents stuff, don't bounce cards with CMC 0 + list = CardLists.filter(list, new Predicate() { + @Override + public boolean apply(final Card c) { + for (Card aura : c.getEnchantedBy()) { + if (aura.getController().isOpponentOf(ai)) { + return true; + } else { + return false; + } + } + return c.getCMC() > 0; + } + }); // TODO: Blink permanents with ETB triggers /*else if (!sa.isTrigger() && SpellAbilityAi.playReusable(ai, sa)) { aiPermanents = CardLists.filter(aiPermanents, new Predicate() { @@ -810,8 +825,7 @@ public class ChangeZoneAi extends SpellAbilityAi { if (origin.equals(ZoneType.Battlefield) && destination.equals(ZoneType.Exile) && (subApi == ApiType.DelayedTrigger || (subApi == ApiType.ChangeZone && subAffected.equals("Remembered"))) - && !(ai.getGame().getPhaseHandler().is(PhaseType.COMBAT_DECLARE_ATTACKERS) || sa - .isAbility())) { + && !(ai.getGame().getPhaseHandler().is(PhaseType.COMBAT_DECLARE_ATTACKERS) || sa.isAbility())) { return false; }