- Improved ChooseSource AI handling spells.

This commit is contained in:
Sloth
2012-11-11 21:42:33 +00:00
parent d9af504717
commit 75a57bdf5a
2 changed files with 14 additions and 6 deletions

View File

@@ -77,11 +77,15 @@ public class ChooseSourceAi extends SpellAiLogic {
} else {
objects.addAll(threatTgt.getTargetPlayers());
}
if (objects.contains(ai)) {
return true;
}
if (!objects.contains(ai) || topStack.hasParam("NoPrevention")) {
return false;
}
int dmg = AbilityFactory.calculateAmount(source, topStack.getParam("NumDmg"), topStack);
if (ai.predictDamage(dmg, source, false) <= 0) {
return false;
}
return true;
}
if (!Singletons.getModel().getGame().getPhaseHandler().getPhase()
.equals(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) {
return false;

View File

@@ -163,10 +163,14 @@ public class ChooseSourceEffect extends SpellEffect {
} else {
objects.addAll(threatTgt.getTargetPlayers());
}
if (objects.contains(ai)) {
chosen.add(topStack.getSourceCard());
}
if (!objects.contains(ai) || topStack.hasParam("NoPrevention")) {
break;
}
int dmg = AbilityFactory.calculateAmount(source, topStack.getParam("NumDmg"), topStack);
if (ai.predictDamage(dmg, source, false) <= 0) {
break;
}
chosen.add(topStack.getSourceCard());
} else {
sourcesToChooseFrom = CardLists.filter(sourcesToChooseFrom, new Predicate<Card>() {
@Override