From 72ee5baf7c37ec827b49bf67ba2200b9f6192c45 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Fri, 2 Dec 2016 06:38:44 +0000 Subject: [PATCH] AnimateAi: non-Curse Animate not for opponent stuff --- forge-ai/src/main/java/forge/ai/ability/AnimateAi.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java index 20606834c39..f0158103326 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java @@ -129,7 +129,6 @@ public class AnimateAi extends SpellAbilityAi { @Override protected boolean checkApiLogic(Player aiPlayer, SpellAbility sa) { - final TargetRestrictions tgt = sa.getTargetRestrictions(); final Card source = sa.getHostCard(); final Game game = aiPlayer.getGame(); final PhaseHandler ph = game.getPhaseHandler(); @@ -142,7 +141,7 @@ public class AnimateAi extends SpellAbilityAi { if (!ComputerUtilCost.checkTapTypeCost(aiPlayer, sa.getPayCosts(), source, sa)) { return false; // prevent crewing with equal or better creatures } - if (null == tgt) { + if (!sa.usesTargeting()) { final List defined = AbilityUtils.getDefinedCards(source, sa.getParam("Defined"), sa); boolean bFlag = false; boolean givesHaste = sa.hasParam("Keywords") && sa.getParam("Keywords").contains("Haste"); @@ -265,6 +264,11 @@ public class AnimateAi extends SpellAbilityAi { continue; } + // non-Curse Animate not on Opponent Stuff if able + if (c.getController().isOpponentOf(ai) && !sa.isCurse()) { + continue; + } + // if tapped it might not attack or block if (c.isTapped()) { continue;