From ee88f0ab95e7fe799ecdb9c6959c25d389c89ffc Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 5 Apr 2014 07:50:43 +0000 Subject: [PATCH] - The AI will now predict P/T changes from effects in the command zone (like Jace, Architect of Thought's +1 ability). --- .../src/main/java/forge/ai/ComputerUtilCombat.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index 1dcd174db8f..1dce58e3fab 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -757,6 +757,7 @@ public class ComputerUtilCombat { // look out for continuous static abilities that only care for blocking // creatures final List cardList = game.getCardsIn(ZoneType.Battlefield); + cardList.addAll(game.getCardsIn(ZoneType.Command)); for (final Card card : cardList) { for (final StaticAbility stAb : card.getStaticAbilities()) { final Map params = stAb.getMapParams(); @@ -786,6 +787,9 @@ public class ComputerUtilCombat { for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); } + for (Card card : game.getCardsIn(ZoneType.Command)) { + theTriggers.addAll(card.getTriggers()); + } theTriggers.addAll(attacker.getTriggers()); for (final Trigger trigger : theTriggers) { final Map trigParams = trigger.getMapParams(); @@ -904,6 +908,9 @@ public class ComputerUtilCombat { for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); } + for (Card card : game.getCardsIn(ZoneType.Command)) { + theTriggers.addAll(card.getTriggers()); + } theTriggers.addAll(attacker.getTriggers()); for (final Trigger trigger : theTriggers) { final Map trigParams = trigger.getMapParams(); @@ -1050,6 +1057,9 @@ public class ComputerUtilCombat { for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); } + for (Card card : game.getCardsIn(ZoneType.Command)) { + theTriggers.addAll(card.getTriggers()); + } // if the defender has first strike and wither the attacker will deal // less damage than expected if (null != blocker) { @@ -1065,6 +1075,7 @@ public class ComputerUtilCombat { // look out for continuous static abilities that only care for attacking // creatures final List cardList = game.getCardsIn(ZoneType.Battlefield); + cardList.addAll(game.getCardsIn(ZoneType.Command)); for (final Card card : cardList) { for (final StaticAbility stAb : card.getStaticAbilities()) { final Map params = stAb.getMapParams(); @@ -1227,6 +1238,9 @@ public class ComputerUtilCombat { for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); } + for (Card card : game.getCardsIn(ZoneType.Command)) { + theTriggers.addAll(card.getTriggers()); + } if (blocker != null) { toughness += attacker.getKeywordMagnitude("Bushido"); theTriggers.addAll(blocker.getTriggers());