From e1fe8c8e28ffe0daba5f6a55eb02e82070be781d Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 29 Jun 2013 10:12:06 +0000 Subject: [PATCH] - AI will now sacrifice creatures for mana before losing control EOT. --- src/main/java/forge/card/ability/ai/ManaEffectAi.java | 7 ++++++- src/main/java/forge/game/ai/AiController.java | 2 +- src/main/java/forge/game/ai/ComputerUtil.java | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/card/ability/ai/ManaEffectAi.java b/src/main/java/forge/card/ability/ai/ManaEffectAi.java index 1cc31c2b730..b384a3d78d9 100644 --- a/src/main/java/forge/card/ability/ai/ManaEffectAi.java +++ b/src/main/java/forge/card/ability/ai/ManaEffectAi.java @@ -3,12 +3,17 @@ package forge.card.ability.ai; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; +import forge.game.ai.ComputerUtil; +import forge.game.phase.PhaseType; import forge.game.player.Player; public class ManaEffectAi extends SpellAbilityAi { @Override - protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { + protected boolean canPlayAI(Player ai, SpellAbility sa) { + if (ai.getGame().getPhaseHandler().is(PhaseType.MAIN2) && ComputerUtil.ActivateForSacCost(sa, ai)) { + return true; + } return false; } diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 421faa687cc..0ac8778575c 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -169,7 +169,7 @@ public class AiController { private ArrayList getSpellAbilities(final List l) { final ArrayList spellAbilities = new ArrayList(); for (final Card c : l) { - for (final SpellAbility sa : c.getNonManaSpellAbilities()) { + for (final SpellAbility sa : c.getAllSpellAbilities()) { spellAbilities.add(sa); } } diff --git a/src/main/java/forge/game/ai/ComputerUtil.java b/src/main/java/forge/game/ai/ComputerUtil.java index 988bd95d0cf..522e4b02b8d 100644 --- a/src/main/java/forge/game/ai/ComputerUtil.java +++ b/src/main/java/forge/game/ai/ComputerUtil.java @@ -1164,6 +1164,9 @@ public class ComputerUtil { final String type = sac.getType(); if (type.equals("CARDNAME")) { + if (source.getSVar("SacMe").equals("6")) { + return true; + } continue; }