From 303ffb43ab351931e740cdc3316a0c129146c85a Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 18 Nov 2011 11:06:09 +0000 Subject: [PATCH] - Improved untapCanPlayAI (it was not using the Defined parameter). --- .../card/abilityfactory/AbilityFactoryPermanentState.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java index 65c856a6b93..4cc43aa3280 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java @@ -213,10 +213,10 @@ public class AbilityFactoryPermanentState { * @return a boolean. */ private static boolean untapCanPlayAI(final AbilityFactory af, final SpellAbility sa) { - // AI cannot use this properly until he can use SAs during Humans turn final Target tgt = sa.getTarget(); final Card source = sa.getSourceCard(); final Cost cost = sa.getPayCosts(); + final HashMap params = af.getMapParams(); if (!CostUtil.checkAddM1M1CounterCost(cost, source)) { return false; @@ -226,7 +226,9 @@ public class AbilityFactoryPermanentState { boolean randomReturn = r.nextFloat() <= Math.pow(.6667, sa.getActivationsThisTurn() + 1); if (tgt == null) { - if (sa.getSourceCard().isUntapped()) { + final ArrayList pDefined = AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("Defined"), + sa); + if ((pDefined != null) && pDefined.get(0).isUntapped() && pDefined.get(0).getController().isComputer()) { return false; } } else {