- Attempting to fix Suspend by making it exempt from the canPlay() check in HumanPlay.

- Better place for IsCastFromPlayEffect SVar assignment + cleanup
- Adding some previously missed card fixes from Marek.
This commit is contained in:
Agetian
2017-06-30 07:11:56 +00:00
parent 4b4396bd09
commit 986f95b46b
13 changed files with 40 additions and 28 deletions

View File

@@ -238,6 +238,8 @@ public class PlayEffect extends SpellAbilityEffect {
addReplaceGraveyardEffect(tgtCard, sa, sa.getParam("ReplaceGraveyard"));
}
tgtSA.setSVar("IsCastFromPlayEffect", "True");
if (controller.getController().playSaFromPlayEffect(tgtSA)) {
if (remember) {
source.addRemembered(tgtSA.getHostCard());

View File

@@ -7110,6 +7110,7 @@ public class Card extends GameEntity implements Comparable<Card> {
// to be restored to their original value if a card changes zones
removeSVar("PayX"); // Temporary AI X announcement variable
removeSVar("IsCastFromPlayEffect"); // Temporary SVar indicating that the spell is cast indirectly via AF Play
setSunburstValue(0); // Sunburst
}
}

View File

@@ -108,6 +108,7 @@ public abstract class Spell extends SpellAbility implements java.io.Serializable
|| activator.hasKeyword("You may cast nonland cards as though they had flash.")
|| card.hasStartOfKeyword("You may cast CARDNAME as though it had flash.")
|| this.hasSVar("IsCastFromPlayEffect")
|| card.wasSuspendCast()
|| (card.isFaceDown() && !card.getZone().is(ZoneType.Battlefield) && card.getState(CardStateName.Original).getType().isInstant()))) {
return false;
}