diff --git a/src/main/java/forge/card/abilityfactory/ai/ChangeZoneAi.java b/src/main/java/forge/card/abilityfactory/ai/ChangeZoneAi.java index d6213a3681a..b4a0fbe77e4 100644 --- a/src/main/java/forge/card/abilityfactory/ai/ChangeZoneAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/ChangeZoneAi.java @@ -766,9 +766,19 @@ public class ChangeZoneAi extends SpellAiLogic { if (destination.equals(ZoneType.Hand)) { // only retrieve cards from computer graveyard list = CardLists.filterControlledBy(list, ai); - System.out.println("changeZone:" + list); + } else if (sa.hasParam("AttachedTo")) { + list = CardLists.filter(list, new Predicate() { + @Override + public boolean apply(final Card c) { + for (SpellAbility attach : c.getSpellAbilities()) { + if ("Pump".equals(attach.getParam("AILogic"))) { + return true; //only use good auras + } + } + return false; + } + }); } - } // blink human targets only during combat @@ -1243,6 +1253,8 @@ public class ChangeZoneAi extends SpellAiLogic { c.clearUnEnchantCommand(); } c.enchantEntity(attachedTo); + } else { // When it should enter the battlefield attached to an illegal permanent it fails + continue; } }