- Added some AI code for casting Bonfire of the Damned via Miracle.

This commit is contained in:
Sloth
2012-11-28 06:33:31 +00:00
parent 3dd3d49827
commit e4f4830e99

View File

@@ -48,11 +48,9 @@ public class DamageAllAi extends SpellAiLogic {
} }
Player opp = ai.getOpponent(); Player opp = ai.getOpponent();
final List<Card> humanList = this.getKillableCreatures(sa, opp, dmg); final List<Card> humanList = this.getKillableCreatures(sa, opp, dmg);
List<Card> computerList = this.getKillableCreatures(sa, ai, dmg); List<Card> computerList = this.getKillableCreatures(sa, ai, dmg);
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
if (tgt != null && sa.canTarget(opp)) { if (tgt != null && sa.canTarget(opp)) {
tgt.resetTargets(); tgt.resetTargets();
@@ -165,9 +163,18 @@ public class DamageAllAi extends SpellAiLogic {
validP = sa.getParam("ValidPlayers"); validP = sa.getParam("ValidPlayers");
} }
// Evaluate creatures getting killed
Player enemy = ai.getOpponent(); Player enemy = ai.getOpponent();
final List<Card> humanList = this.getKillableCreatures(sa, enemy, dmg);
List<Card> computerList = this.getKillableCreatures(sa, ai, dmg);
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
if (tgt == null) {
if (tgt != null && sa.canTarget(enemy)) {
tgt.resetTargets();
sa.getTarget().addTarget(enemy);
computerList.clear();
}
// If it's not mandatory check a few things // If it's not mandatory check a few things
if (mandatory) { if (mandatory) {
return true; return true;
@@ -183,14 +190,10 @@ public class DamageAllAi extends SpellAiLogic {
return true; return true;
} }
// Evaluate creatures getting killed
final List<Card> humanList = this.getKillableCreatures(sa, enemy, dmg);
final List<Card> computerList = this.getKillableCreatures(sa, ai, dmg);
if (!computerList.isEmpty() && CardFactoryUtil.evaluateCreatureList(computerList) + 50 >= CardFactoryUtil if (!computerList.isEmpty() && CardFactoryUtil.evaluateCreatureList(computerList) + 50 >= CardFactoryUtil
.evaluateCreatureList(humanList)) { .evaluateCreatureList(humanList)) {
return false; return false;
} }
}
return true; return true;
} }