From c632461339d67301ff6065afc4e64fc2463973b6 Mon Sep 17 00:00:00 2001 From: Sloth Date: Sun, 29 Mar 2015 19:14:34 +0000 Subject: [PATCH] - Fixed AI using Nomad Mythmaker and Daybreak Coronet. --- .../java/forge/ai/ability/ChangeZoneAi.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index f4d45e5029c..b2c87de5e0d 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -733,11 +733,27 @@ public class ChangeZoneAi extends SpellAbilityAi { CardCollection list = CardLists.getValidCards(game.getCardsIn(origin), tgt.getValidTgts(), ai, source); list = CardLists.getTargetableCards(list, sa); if (sa.hasParam("AITgts")) { - list = CardLists.getValidCards(list, sa.getParam("AITgts"), sa.getActivatingPlayer(), source); + list = CardLists.getValidCards(list, sa.getParam("AITgts"), ai, source); } if (source.isInZone(ZoneType.Hand)) { list = CardLists.filter(list, Predicates.not(CardPredicates.nameEquals(source.getName()))); // Don't get the same card back. } + System.out.println("isPreferredTarget " + list); + if (sa.hasParam("AttachedTo")) { + System.out.println("isPreferredTarget att " + list); + list = CardLists.filter(list, new Predicate() { + @Override + public boolean apply(final Card c) { + for (Card card : game.getCardsIn(ZoneType.Battlefield)) { + if (card.isValid(sa.getParam("AttachedTo"), ai, c)) { + return true; + } + } + return false; + } + }); + System.out.println("isPreferredTarget ok " + list); + } if (list.size() < tgt.getMinTargets(sa.getHostCard(), sa)) { return false;