From d7831ec74872729984d1db5c1b65d067fe66cb4c Mon Sep 17 00:00:00 2001 From: Suthro <81990938+MikeS-NZ@users.noreply.github.com> Date: Sat, 1 Apr 2023 09:43:01 -0500 Subject: [PATCH 1/6] MOM: Errant and Giada + 4 cards MOM: Add card scripts for five spoiled MOM cards: - Errant and Giada - Halo Forager - Realmbreaker, the Invasion Tree - Seal from Existence - Sword of Once and Future --- .../res/cardsfolder/upcoming/errant_and_giada.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/halo_forager.txt | 11 +++++++++++ .../upcoming/realmbreaker_the_invasion_tree.txt | 14 ++++++++++++++ .../cardsfolder/upcoming/seal_from_existence.txt | 9 +++++++++ .../upcoming/sword_of_once_and_future.txt | 10 ++++++++++ 5 files changed, 54 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/halo_forager.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/seal_from_existence.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt diff --git a/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt b/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt new file mode 100644 index 00000000000..29e023a8109 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt @@ -0,0 +1,10 @@ +Name:Errant and Giada +ManaCost:1 W U +Types:Legendary Creature Human Angel +PT:2/3 +K:Flash +K:Flying +S:Mode$ Continuous | Affected$ Card.TopLibrary+YouCtrl | AffectedZone$ Library | MayLookAt$ You | Description$ You may look at the top card of your library any time. +S:Mode$ Continuous | Affected$ Card.TopLibrary+YouCtrl+withFlying,Card.TopLibrary+YouCtrl+hasKeywordFlash | MayPlay$ True | AffectedZone$ Library | Description$ You may cast spells with flash or flying from the top of your library. +SVar:NonStackingEffect:True +Oracle:Flash\nFlying\nYou may look at the top card of your library any time.\nYou may cast spells with flash or flying from the top of your library. diff --git a/forge-gui/res/cardsfolder/upcoming/halo_forager.txt b/forge-gui/res/cardsfolder/upcoming/halo_forager.txt new file mode 100644 index 00000000000..33b98fa0d11 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/halo_forager.txt @@ -0,0 +1,11 @@ +Name:Halo Forager +ManaCost:1 U B +Types:Creature Faerie Rogue +PT:3/1 +K:Flying +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigImmediateTrig | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may pay {X}. When you do, you may cast target instant or sorcery card with mana value X from a graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. +SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ X | Execute$ TrigCast | TriggerDescription$ When you do, you may cast target instant or sorcery card with mana value X from a graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. +SVar:TrigCast:DB$ Play | TgtZone$ Graveyard | WithoutManaCost$ True | ValidSA$ Spell | ValidTgts$ Instant.cmcEQX,Sorcery.cmcEQX | Optional$ True | TgtPrompt$ Choose target instant or sorcery card from a graveyard with mana value X | ReplaceGraveyard$ Exile +SVar:X:Count$xPaid +DeckNeeds:Type$Instant|Sorcery +Oracle:Flying\nWhen Halo Forager enters the battlefield, you may pay {X}. When you do, you may cast target instant or sorcery card with mana value X from a graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt new file mode 100644 index 00000000000..4f1b123a031 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt @@ -0,0 +1,14 @@ +Name:Realmbreaker, the Invasion Tree +ManaCost:3 +Types:Legendary Artifact +A:AB$ Mill | Cost$ 2 T | NumCards$ 3 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBChangeZone | StackDescription$ {p:Targeted} mills three cards. {p:You} puts a land card from their graveyard onto the battlefield tapped under {p:You}'s control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else." | SpellDescription$ Target opponent mills three cards. Put a land card from their graveyard onto the battlefield tapped under your control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else." +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Hidden$ True | ChangeType$ Land.TargetedPlayerCtrl | Tapped$ True | RememberChanged$ True | SubAbility$ DBAnimate | TgtPrompt$ Select a land card from targeted opponent's graveyard +SVar:DBAnimate:DB$ Animate | Replacements$ ReplaceLeaves | Defined$ Remembered | Duration$ Permanent | SubAbility$ DBCleanup +SVar:ReplaceLeaves:Event$ Moved | ActiveZones$ Battlefield | Origin$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ Exile | Description$ If this land would leave the battlefield, exile it instead of putting it anywhere else. +SVar:Exile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ ReplacedCard +A:AB$ ChangeZone | Cost$ 10 T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ Praetor | ChangeNum$ XFetch | StackDescription$ SpellDescription | SpellDescription$ Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:XFetch:Count$TypeInYourLibrary.Praetor +DeckHas:Ability$Mill +DeckHints:Type$Praetor +Oracle:{2}, {T}: Target opponent mills three cards. Put a land card from their graveyard onto the battlefield tapped under your control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else."\n{10}, {T}, Sacrifice Realmbreaker, the Invasion Tree: Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. diff --git a/forge-gui/res/cardsfolder/upcoming/seal_from_existence.txt b/forge-gui/res/cardsfolder/upcoming/seal_from_existence.txt new file mode 100644 index 00000000000..236bd678d15 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/seal_from_existence.txt @@ -0,0 +1,9 @@ +Name:Seal from Existence +ManaCost:1 W W +Types:Enchantment +K:Ward:3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | Duration$ UntilHostLeavesPlay +SVar:PlayMain1:TRUE +SVar:OblivionRing:TRUE +Oracle:Ward {3}\nWhen Seal from Existence enters the battlefield, exile target nonland permanent an opponent controls until Seal from Existence leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt b/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt new file mode 100644 index 00000000000..2f38dac9e87 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt @@ -0,0 +1,10 @@ +Name:Sword of Once and Future +ManaCost:3 +Types:Artifact Equipment +K:Equip:2 +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 2 | AddToughness$ 2 | AddSVar$ SwordOfOnceAndFutureCE | AddKeyword$ Protection from blue & Protection from black | Description$ Equipped creature gets +2/+2 and has protection from blue and from black. +T:Mode$ DamageDone | ValidSource$ Creature.EquippedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSurveil | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage to a player, surveil 2. Then you may cast an instant or sorcery spell with mana value 2 or less from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. +SVar:TrigSurveil:DB$ Surveil | Amount$ 2 | SubAbility$ DBCastFromYard +SVar:DBCastFromYard:DB$ Play | Valid$ Instant.YouOwn,Sorcery.YouOwn | ValidSA$ Spell.cmcLE2 | ValidZone$ Graveyard | WithoutManaCost$ True | Amount$ 1 | Controller$ You | ReplaceGraveyard$ Exile +SVar:SwordOfOnceAndFutureCE:SVar:MustBeBlocked:AttackingPlayerConservative +Oracle:Equipped creature gets +2/+2 and has protection from blue and from black.\nWhenever equipped creature deals combat damage to a player, surveil 2. Then you may cast an instant or sorcery spell with mana value 2 or less from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead.\nEquip {2} From b86b3a6373db66c9ae4c14d9571f02d7021e3e1e Mon Sep 17 00:00:00 2001 From: Mike S <81990938+MikeS-NZ@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:07:39 -0500 Subject: [PATCH 2/6] Update errant_and_giada.txt --- forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt b/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt index 29e023a8109..b9130e31e95 100644 --- a/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt +++ b/forge-gui/res/cardsfolder/upcoming/errant_and_giada.txt @@ -7,4 +7,5 @@ K:Flying S:Mode$ Continuous | Affected$ Card.TopLibrary+YouCtrl | AffectedZone$ Library | MayLookAt$ You | Description$ You may look at the top card of your library any time. S:Mode$ Continuous | Affected$ Card.TopLibrary+YouCtrl+withFlying,Card.TopLibrary+YouCtrl+hasKeywordFlash | MayPlay$ True | AffectedZone$ Library | Description$ You may cast spells with flash or flying from the top of your library. SVar:NonStackingEffect:True +DeckNeeds:Keyword$Flying|Flash Oracle:Flash\nFlying\nYou may look at the top card of your library any time.\nYou may cast spells with flash or flying from the top of your library. From 8e5a06c1624961c5becaa135d26c11f7cafa8a9e Mon Sep 17 00:00:00 2001 From: Mike S <81990938+MikeS-NZ@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:08:28 -0500 Subject: [PATCH 3/6] Update halo_forager.txt --- forge-gui/res/cardsfolder/upcoming/halo_forager.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/halo_forager.txt b/forge-gui/res/cardsfolder/upcoming/halo_forager.txt index 33b98fa0d11..583087fbb4c 100644 --- a/forge-gui/res/cardsfolder/upcoming/halo_forager.txt +++ b/forge-gui/res/cardsfolder/upcoming/halo_forager.txt @@ -7,5 +7,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ X | Execute$ TrigCast | TriggerDescription$ When you do, you may cast target instant or sorcery card with mana value X from a graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. SVar:TrigCast:DB$ Play | TgtZone$ Graveyard | WithoutManaCost$ True | ValidSA$ Spell | ValidTgts$ Instant.cmcEQX,Sorcery.cmcEQX | Optional$ True | TgtPrompt$ Choose target instant or sorcery card from a graveyard with mana value X | ReplaceGraveyard$ Exile SVar:X:Count$xPaid -DeckNeeds:Type$Instant|Sorcery +DeckHints:Type$Instant|Sorcery +AI:RemoveDeck:Random Oracle:Flying\nWhen Halo Forager enters the battlefield, you may pay {X}. When you do, you may cast target instant or sorcery card with mana value X from a graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead. From 05df0ddc4ce106a7aca66992523879a24b4d897a Mon Sep 17 00:00:00 2001 From: Mike S <81990938+MikeS-NZ@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:12:18 -0500 Subject: [PATCH 4/6] Update realmbreaker_the_invasion_tree.txt --- .../cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt index 4f1b123a031..8fc27e7bc4d 100644 --- a/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt +++ b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt @@ -2,11 +2,11 @@ Name:Realmbreaker, the Invasion Tree ManaCost:3 Types:Legendary Artifact A:AB$ Mill | Cost$ 2 T | NumCards$ 3 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBChangeZone | StackDescription$ {p:Targeted} mills three cards. {p:You} puts a land card from their graveyard onto the battlefield tapped under {p:You}'s control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else." | SpellDescription$ Target opponent mills three cards. Put a land card from their graveyard onto the battlefield tapped under your control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else." -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Hidden$ True | ChangeType$ Land.TargetedPlayerCtrl | Tapped$ True | RememberChanged$ True | SubAbility$ DBAnimate | TgtPrompt$ Select a land card from targeted opponent's graveyard -SVar:DBAnimate:DB$ Animate | Replacements$ ReplaceLeaves | Defined$ Remembered | Duration$ Permanent | SubAbility$ DBCleanup +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Hidden$ True | ChangeType$ Land.TargetedPlayerCtrl | Tapped$ True | RememberChanged$ True | SubAbility$ DBAnimate | TgtPrompt$ Select a land card from targeted opponent's graveyard | StackDescription$ None +SVar:DBAnimate:DB$ Animate | Replacements$ ReplaceLeaves | Defined$ Remembered | Duration$ Permanent | SubAbility$ DBCleanup | StackDescription$ None SVar:ReplaceLeaves:Event$ Moved | ActiveZones$ Battlefield | Origin$ Battlefield | ValidCard$ Card.Self | ReplaceWith$ Exile | Description$ If this land would leave the battlefield, exile it instead of putting it anywhere else. SVar:Exile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ ReplacedCard -A:AB$ ChangeZone | Cost$ 10 T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ Praetor | ChangeNum$ XFetch | StackDescription$ SpellDescription | SpellDescription$ Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. +A:AB$ ChangeZone | Cost$ 10 T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ Praetor | ChangeNum$ XFetch | StackDescription$ {p:You} searches their library for any number of Praetor cards, puts them onto the battlefield, then shuffles. | SpellDescription$ Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:XFetch:Count$TypeInYourLibrary.Praetor DeckHas:Ability$Mill From 3f921c83100cdb28c68074f62b58ae8119b10ffc Mon Sep 17 00:00:00 2001 From: Mike S <81990938+MikeS-NZ@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:12:32 -0500 Subject: [PATCH 5/6] Update realmbreaker_the_invasion_tree.txt --- .../res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt index 8fc27e7bc4d..da39315cb71 100644 --- a/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt +++ b/forge-gui/res/cardsfolder/upcoming/realmbreaker_the_invasion_tree.txt @@ -9,6 +9,6 @@ SVar:Exile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ A:AB$ ChangeZone | Cost$ 10 T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ Praetor | ChangeNum$ XFetch | StackDescription$ {p:You} searches their library for any number of Praetor cards, puts them onto the battlefield, then shuffles. | SpellDescription$ Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:XFetch:Count$TypeInYourLibrary.Praetor -DeckHas:Ability$Mill +DeckHas:Ability$Mill|Sacrifice DeckHints:Type$Praetor Oracle:{2}, {T}: Target opponent mills three cards. Put a land card from their graveyard onto the battlefield tapped under your control. It gains "If this land would leave the battlefield, exile it instead of putting it anywhere else."\n{10}, {T}, Sacrifice Realmbreaker, the Invasion Tree: Search your library for any number of Praetor cards, put them onto the battlefield, then shuffle. From 3940ef01feb223c3231b1bb71ca650325c388181 Mon Sep 17 00:00:00 2001 From: Mike S <81990938+MikeS-NZ@users.noreply.github.com> Date: Sun, 2 Apr 2023 21:25:25 -0500 Subject: [PATCH 6/6] Update sword_of_once_and_future.txt --- forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt b/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt index 2f38dac9e87..e162f6116e7 100644 --- a/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt +++ b/forge-gui/res/cardsfolder/upcoming/sword_of_once_and_future.txt @@ -5,6 +5,6 @@ K:Equip:2 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 2 | AddToughness$ 2 | AddSVar$ SwordOfOnceAndFutureCE | AddKeyword$ Protection from blue & Protection from black | Description$ Equipped creature gets +2/+2 and has protection from blue and from black. T:Mode$ DamageDone | ValidSource$ Creature.EquippedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSurveil | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage to a player, surveil 2. Then you may cast an instant or sorcery spell with mana value 2 or less from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. SVar:TrigSurveil:DB$ Surveil | Amount$ 2 | SubAbility$ DBCastFromYard -SVar:DBCastFromYard:DB$ Play | Valid$ Instant.YouOwn,Sorcery.YouOwn | ValidSA$ Spell.cmcLE2 | ValidZone$ Graveyard | WithoutManaCost$ True | Amount$ 1 | Controller$ You | ReplaceGraveyard$ Exile +SVar:DBCastFromYard:DB$ Play | Valid$ Card.YouOwn | ValidSA$ Instant.cmcLE2,Sorcery.cmcLE2 | ValidZone$ Graveyard | WithoutManaCost$ True | Amount$ 1 | Controller$ You | ReplaceGraveyard$ Exile SVar:SwordOfOnceAndFutureCE:SVar:MustBeBlocked:AttackingPlayerConservative Oracle:Equipped creature gets +2/+2 and has protection from blue and from black.\nWhenever equipped creature deals combat damage to a player, surveil 2. Then you may cast an instant or sorcery spell with mana value 2 or less from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead.\nEquip {2}