From 14dfda5724a9f787d04fe8d18bc1d9028d9a2ce5 Mon Sep 17 00:00:00 2001 From: excessum Date: Sun, 27 Sep 2015 07:01:52 +0000 Subject: [PATCH] - Increased priority of token generators when AI has no creatures to improve usage of planeswalkers like Nissa, Sage Animist and Sarkan Unbroken --- forge-ai/src/main/java/forge/ai/AiController.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index 4ffe2fb68c0..4b573cfe5c6 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -793,16 +793,18 @@ public class AiController { private int getSpellAbilityPriority(SpellAbility sa) { int p = 0; Card source = sa.getHostCard(); + final Player ai = source.getController(); + final boolean noCreatures = ai.getCreaturesInPlay().isEmpty(); // puts creatures in front of spells if (source.isCreature()) { p += 1; } // don't play equipments before having any creatures - if (source.isEquipment() && sa.getHostCard().getController().getCreaturesInPlay().isEmpty()) { + if (source.isEquipment() && noCreatures) { p -= 9; } // artifacts and enchantments with effects that do not stack - if ("True".equals(source.getSVar("NonStackingEffect")) && source.getController().isCardInPlay(source.getName())) { + if ("True".equals(source.getSVar("NonStackingEffect")) && ai.isCardInPlay(source.getName())) { p -= 9; } // sort planeswalker abilities for ultimate @@ -814,7 +816,11 @@ public class AiController { if (ApiType.DestroyAll == sa.getApi()) { p += 4; - } + } + if (ApiType.Token == sa.getApi() && noCreatures) { + //hack to force planeswalkers to defend themselves + p += 3; + } else if (ApiType.Mana == sa.getApi()) { p -= 9; }