From d892f396fb1f8e37c94726acc2503f8c8caa80d1 Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 29 Jun 2013 21:22:11 +0000 Subject: [PATCH] - Improved hasACardGivingHaste AI function. --- src/main/java/forge/game/ai/ComputerUtil.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/forge/game/ai/ComputerUtil.java b/src/main/java/forge/game/ai/ComputerUtil.java index 522e4b02b8d..308782338d7 100644 --- a/src/main/java/forge/game/ai/ComputerUtil.java +++ b/src/main/java/forge/game/ai/ComputerUtil.java @@ -19,6 +19,7 @@ package forge.game.ai; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Random; @@ -1191,6 +1192,19 @@ public class ComputerUtil { */ public static boolean hasACardGivingHaste(final Player ai) { final List all = new ArrayList(ai.getCardsIn(ZoneType.Battlefield)); + + for (final Card c : all) { + if (c.isEquipment()) { + for (StaticAbility stAb : c.getStaticAbilities()) { + HashMap params = stAb.getMapParams(); + if ("Continuous".equals(params.get("Mode")) && params.containsKey("AddKeyword") + && params.get("AddKeyword").contains("Haste") && c.getEquippingCard() == null) { + return true; + } + } + } + } + all.addAll(CardFactoryUtil.getExternalZoneActivationCards(ai)); all.addAll(ai.getCardsIn(ZoneType.Hand));