From dcacb90ba92bde50a2bcd837b981ac62c4069407 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 15 Mar 2013 16:00:44 +0100 Subject: [PATCH] Optimized the AI-ScoringSystem for enchantments. --- .../player/ai/ma/ArtificialScoringSystem.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ma/ArtificialScoringSystem.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ma/ArtificialScoringSystem.java index 72c87c98990..81f8ee7aceb 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ma/ArtificialScoringSystem.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ma/ArtificialScoringSystem.java @@ -9,6 +9,9 @@ import mage.game.Game; import mage.game.permanent.Permanent; import java.util.UUID; +import mage.Constants.Outcome; +import mage.abilities.effects.Effect; +import mage.abilities.keyword.EnchantAbility; /** * @author ubeefx, nantuko @@ -85,13 +88,21 @@ public class ArtificialScoringSystem { Card card = game.getCard(uuid); if (card != null) { if (card.getCardType().contains(Constants.CardType.ENCHANTMENT)) { - enchantments++; + Effect effect = card.getSpellAbility().getEffects().get(0); + if (effect != null) { + Outcome outcome = effect.getOutcome(); + if (outcome.isGood()) { + enchantments++; + } else if (!outcome.equals(Outcome.Detriment)) { + enchantments--; + } + } } else { equipments++; } } } - score += equipments*50 /*+ enchantments*100*/; + score += equipments*50 + enchantments*100; if (!permanent.canAttack(game)) { score -= 100;