diff --git a/forge-game/src/main/java/forge/game/trigger/Trigger.java b/forge-game/src/main/java/forge/game/trigger/Trigger.java index a3dd3f3fa93..fd97b6d6f9f 100644 --- a/forge-game/src/main/java/forge/game/trigger/Trigger.java +++ b/forge-game/src/main/java/forge/game/trigger/Trigger.java @@ -37,6 +37,7 @@ import java.util.*; import com.google.common.collect.Lists; import com.google.common.collect.Maps; + import forge.util.TextUtil; /** @@ -334,7 +335,22 @@ public abstract class Trigger extends TriggerReplacementBase { return false; } } - + + if (this.mapParams.containsKey("TriggerRememberedInZone")) { + // check delayed trigger remembered objects (Mnemonic Betrayal) + // make this check more general if possible + boolean bFlag = true; + for (Object o : getTriggerRemembered()) { + if (o instanceof Card && ((Card) o).isInZone(ZoneType.smartValueOf(this.mapParams.get("TriggerRememberedInZone")))) { + bFlag = false; + break; + } + } + if (bFlag) { + return false; + } + } + if ( !meetsCommonRequirements(this.mapParams)) return false; diff --git a/forge-gui/res/cardsfolder/m/mnemonic_betrayal.txt b/forge-gui/res/cardsfolder/m/mnemonic_betrayal.txt new file mode 100644 index 00000000000..13104cb13b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/m/mnemonic_betrayal.txt @@ -0,0 +1,10 @@ +Name:Mnemonic Betrayal +ManaCost:1 U B +Types:Sorcery +A:SP$ ChangeZoneAll | Cost$ 1 U B | Defined$ Player.Opponent | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile all card from all opponents' graveyards. You may cast those cards this turn, and you may spend it as though it were mana of any type to cast those spells. At the beginning of the next end step, if any of those cards remain exiled, return them to their owner's graveyards. Exile CARDNAME. +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DelTrig +SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreType$ True | EffectZone$ Command | Affected$ Card.nonLand+IsRemembered | AffectedZone$ Exile | Description$ You may cast those cards this turn, and you may spend mana as though it were mana of any type to cast those spells. +SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerRememberedInZone$ Exile | RememberObjects$ Remembered | TriggerDescription$ At the beginning of the next end step, if any of those cards remain exiled, return them to their owner's graveyards. | SubAbility$ ExileSelf +SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRemembered | Origin$ Exile | Destination$ Graveyard +SVar:ExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Exile +Oracle:Exile all card from all opponents' graveyards. You may cast those cards this turn, and you may spend mana as though it were mana of any type to cast those spells. At the beginning of the next end step, if any of those cards remain exiled, return them to their owner's graveyards.\nExile Mnemonic Betrayal.