From 0005481a36c77bfb9cfd9b4f7048a0c122649bcb Mon Sep 17 00:00:00 2001 From: Sloth Date: Tue, 19 Feb 2013 17:02:53 +0000 Subject: [PATCH] - Improved tapPrefTargeting. --- .../java/forge/card/ability/ai/TapAiBase.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/forge/card/ability/ai/TapAiBase.java b/src/main/java/forge/card/ability/ai/TapAiBase.java index fcecdb265af..2f8d3052d14 100644 --- a/src/main/java/forge/card/ability/ai/TapAiBase.java +++ b/src/main/java/forge/card/ability/ai/TapAiBase.java @@ -121,6 +121,21 @@ public abstract class TapAiBase extends SpellAbilityAi { final String[] tappablePermanents = { "Creature", "Land", "Artifact" }; tapList = CardLists.getValidCards(tapList, tappablePermanents, source.getController(), source); tapList = CardLists.getTargetableCards(tapList, sa); + tapList = CardLists.filter(tapList, new Predicate() { + @Override + public boolean apply(final Card c) { + if (c.isCreature()) { + return true; + } + + for (final SpellAbility sa : c.getSpellAbilities()) { + if (sa.isAbility() && sa.getPayCosts() != null && sa.getPayCosts().hasTapCost()) { + return true; + } + } + return true; + } + }); if (tapList.size() == 0) { return false;