From e8e4aacddd76d2588b348a8b1fabe702febaeec5 Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 30 Sep 2011 12:34:38 +0000 Subject: [PATCH] - Fixed Vigean Hydropon being able to attack and block. - The AI will now use the Graft ability of Llanowar Reborn and Vigean Hydropon. --- res/cardsfolder/l/llanowar_reborn.txt | 1 - res/cardsfolder/v/vigean_hydropon.txt | 3 +-- .../abilityFactory/AbilityFactory_Counters.java | 15 +++++++++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/res/cardsfolder/l/llanowar_reborn.txt b/res/cardsfolder/l/llanowar_reborn.txt index 23bd5512b20..61e058145c4 100644 --- a/res/cardsfolder/l/llanowar_reborn.txt +++ b/res/cardsfolder/l/llanowar_reborn.txt @@ -5,7 +5,6 @@ Text:no text K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add G to your mana pool. K:Graft 1 -SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/llanowar_reborn.jpg SetInfo:FUT|Uncommon|http://magiccards.info/scans/en/fut/171.jpg diff --git a/res/cardsfolder/v/vigean_hydropon.txt b/res/cardsfolder/v/vigean_hydropon.txt index acd71a54187..9b9bffc08c3 100644 --- a/res/cardsfolder/v/vigean_hydropon.txt +++ b/res/cardsfolder/v/vigean_hydropon.txt @@ -4,8 +4,7 @@ Types:Creature Plant Mutant Text:no text PT:0/0 K:Graft 5 -K:HIDDEN CARDNAME can't attack or block. -SVar:RemAIDeck:True +K:CARDNAME can't attack or block. SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/vigean_hydropon.jpg SetInfo:DIS|Common|http://magiccards.info/scans/en/di/135.jpg diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory_Counters.java b/src/main/java/forge/card/abilityFactory/AbilityFactory_Counters.java index 6e53fda4f6a..2cca1f5fa8a 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory_Counters.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory_Counters.java @@ -1976,17 +1976,28 @@ public class AbilityFactory_Counters { * @return a boolean. */ private static boolean moveCounterDoTriggerAI(final AbilityFactory af, final SpellAbility sa, final boolean mandatory) { + HashMap params = af.getMapParams(); + Card host = af.getHostCard(); + boolean chance = false; + // if there is a cost, it's gotta be optional if (!ComputerUtil.canPayCost(sa) && !mandatory) { return false; } + + Counters cType = Counters.valueOf(params.get("CounterType")); + ArrayList srcCards = AbilityFactory.getDefinedCards(host, params.get("Source"), sa); + if (srcCards.size() > 0 && cType.equals(Counters.P1P1) //move +1/+1 counters away from permanents that cannot use them + && (!srcCards.get(0).isCreature() || srcCards.get(0).hasStartOfKeyword("CARDNAME can't attack"))) { + chance = true; + } Ability_Sub subAb = sa.getSubAbility(); if (subAb != null) { - //chance &= subAb.doTrigger(mandatory); + chance &= subAb.doTrigger(mandatory); } - return false; + return chance; } /**