- Reverted previous commit (doesn't work as intended).

This commit is contained in:
Agetian
2017-06-27 03:38:23 +00:00
parent 6a43403d6c
commit 1ea54bcd45
2 changed files with 8 additions and 9 deletions

View File

@@ -2654,6 +2654,11 @@ public class ComputerUtil {
AiController aic = ((PlayerControllerAi) ai.getController()).getAi(); AiController aic = ((PlayerControllerAi) ai.getController()).getAi();
Card targetSpellCard = null; Card targetSpellCard = null;
for (Card c : options) { for (Card c : options) {
if (withoutPayingManaCost && c.getManaCost() != null && c.getManaCost().getShardCount(ManaCostShard.X) > 0) {
// The AI will otherwise cheat with the mana payment, announcing X > 0 for spells like Heat Ray when replaying them
// without paying their mana cost.
continue;
}
for (SpellAbility ab : c.getSpellAbilities()) { for (SpellAbility ab : c.getSpellAbilities()) {
if (ab.getApi() == null) { if (ab.getApi() == null) {
// only API-based SAs are supported, other things may lead to a NPE (e.g. Ancestral Vision Suspend SA) // only API-based SAs are supported, other things may lead to a NPE (e.g. Ancestral Vision Suspend SA)

View File

@@ -184,15 +184,9 @@ public class GameAction {
zoneChangedEarly = true; zoneChangedEarly = true;
} }
if (fromBattlefield) { // Clean up the temporary Dash SVar when the Dashed card leaves the battlefield
// Clean up the temporary Dash SVar when the Dashed card leaves the battlefield if (fromBattlefield && c.getSVar("EndOfTurnLeavePlay").equals("Dash")) {
if (c.getSVar("EndOfTurnLeavePlay").equals("Dash")) { c.removeSVar("EndOfTurnLeavePlay");
c.removeSVar("EndOfTurnLeavePlay");
}
// Clean up the temporary X announcement variable used by the AI
if (!zoneTo.is(ZoneType.Stack) && c.hasSVar("PayX")) {
c.removeSVar("PayX");
}
} }
if (fromBattlefield && !toBattlefield) { if (fromBattlefield && !toBattlefield) {