- AI will now sacrifice creatures for mana before losing control EOT.

This commit is contained in:
Sloth
2013-06-29 10:12:06 +00:00
parent 708b41b8da
commit e1fe8c8e28
3 changed files with 10 additions and 2 deletions

View File

@@ -3,12 +3,17 @@ package forge.card.ability.ai;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.ai.ComputerUtil;
import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
public class ManaEffectAi extends SpellAbilityAi { public class ManaEffectAi extends SpellAbilityAi {
@Override @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; return false;
} }

View File

@@ -169,7 +169,7 @@ public class AiController {
private ArrayList<SpellAbility> getSpellAbilities(final List<Card> l) { private ArrayList<SpellAbility> getSpellAbilities(final List<Card> l) {
final ArrayList<SpellAbility> spellAbilities = new ArrayList<SpellAbility>(); final ArrayList<SpellAbility> spellAbilities = new ArrayList<SpellAbility>();
for (final Card c : l) { for (final Card c : l) {
for (final SpellAbility sa : c.getNonManaSpellAbilities()) { for (final SpellAbility sa : c.getAllSpellAbilities()) {
spellAbilities.add(sa); spellAbilities.add(sa);
} }
} }

View File

@@ -1164,6 +1164,9 @@ public class ComputerUtil {
final String type = sac.getType(); final String type = sac.getType();
if (type.equals("CARDNAME")) { if (type.equals("CARDNAME")) {
if (source.getSVar("SacMe").equals("6")) {
return true;
}
continue; continue;
} }