From 1b8103823c35304e709f402b1cda9d5cbd461aea Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 4 May 2013 21:20:37 +0000 Subject: [PATCH] - Improved BecomesBlockedAI. --- .../java/forge/card/ability/ai/BecomesBlockedAi.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java b/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java index 8bc24781881..8dbe8b6dfd8 100644 --- a/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java +++ b/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java @@ -8,7 +8,9 @@ import forge.CardLists; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.GameState; import forge.game.ai.ComputerUtilCard; +import forge.game.phase.PhaseType; import forge.game.player.AIPlayer; import forge.game.zone.ZoneType; @@ -18,8 +20,15 @@ public class BecomesBlockedAi extends SpellAbilityAi { protected boolean canPlayAI(AIPlayer aiPlayer, SpellAbility sa) { final Card source = sa.getSourceCard(); final Target tgt = sa.getTarget(); + final GameState game = aiPlayer.getGame(); + + if (!game.getPhaseHandler().is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY) + || !game.getPhaseHandler().getPlayerTurn().isOpponentOf(aiPlayer)) { + return false; + } - List list = aiPlayer.getGame().getCardsIn(ZoneType.Battlefield); + List list = game.getCardsIn(ZoneType.Battlefield); + list = CardLists.filterControlledBy(list, aiPlayer.getOpponents()); list = CardLists.getValidCards(list, tgt.getValidTgts(), source.getController(), source); list = CardLists.getTargetableCards(list, sa);