From 625efdf7f1934fff64fdf095d167cf8641e376f8 Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 5 Apr 2013 11:33:10 +0000 Subject: [PATCH] - Improved AI playing equipments. --- src/main/java/forge/game/ai/AiController.java | 8 ++++++-- src/main/java/forge/game/ai/ComputerUtil.java | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 1c17d34b6fe..cec010441ed 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -489,9 +489,9 @@ public class AiController { // cast 0 mana cost spells first (might be a Mox) if (a1 == 0) { - b1 = -2; + return -1; } else if (b1 == 0) { - a1 = -2; + return 1; } a1 += getSpellAbilityPriority(a); @@ -506,6 +506,10 @@ public class AiController { if (sa.getSourceCard().isCreature()) { p += 1; } + // don't play equipments before having any creatures + if (sa.getSourceCard().isEquipment() && sa.getSourceCard().getController().getCreaturesInPlay().isEmpty()) { + p -= 9; + } // sort planeswalker abilities for ultimate if (sa.getRestrictions().getPlaneswalker()) { if (sa.hasParam("Ultimate")) { diff --git a/src/main/java/forge/game/ai/ComputerUtil.java b/src/main/java/forge/game/ai/ComputerUtil.java index d11420407fc..d089fc4804f 100644 --- a/src/main/java/forge/game/ai/ComputerUtil.java +++ b/src/main/java/forge/game/ai/ComputerUtil.java @@ -810,6 +810,14 @@ public class ComputerUtil { || card.hasKeyword("Haste"))) || card.hasKeyword("Exalted")) { return true; } + //cast equipments in Main1 when there are creatures to equip + if (card.isEquipment()) { + for (Card c : card.getController().getCreaturesInPlay()) { + if (CombatUtil.canAttackNextTurn(c) && c.canBeEquippedBy(card)) { + return true; + } + } + } // get all cards the computer controls with BuffedBy final List buffed = ai.getCardsIn(ZoneType.Battlefield);