From 84aa31fee81efc3c12e74b6428372aa2ef939dd5 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Wed, 15 Feb 2023 03:59:04 +0100 Subject: [PATCH] Improve a few scripts (#2476) * Improve a few scripts * Fix remembering * Fix trigger * Clean up * Use Oracle --------- Co-authored-by: tool4EvEr --- .../java/forge/game/ability/AbilityUtils.java | 3 ++- .../main/java/forge/game/card/CardProperty.java | 2 +- forge-gui/res/cardsfolder/a/acidic_dagger.txt | 5 ++--- .../cardsfolder/c/chancellor_of_the_tangle.txt | 5 ++--- forge-gui/res/cardsfolder/d/delifs_cube.txt | 6 ++---- forge-gui/res/cardsfolder/g/glass_asp.txt | 5 ++--- .../jorn_god_of_winter_kaldring_the_rimestaff.txt | 7 +++---- forge-gui/res/cardsfolder/m/medomais_prophecy.txt | 5 ++--- forge-gui/res/cardsfolder/m/melee.txt | 6 ++---- forge-gui/res/cardsfolder/m/muse_vessel.txt | 15 +++++---------- forge-gui/res/cardsfolder/n/nafs_asp.txt | 5 ++--- forge-gui/res/cardsfolder/p/phantasmal_mount.txt | 9 ++++----- .../res/cardsfolder/r/ride_the_avalanche.txt | 6 ++---- forge-gui/res/cardsfolder/r/runesword.txt | 5 ++--- forge-gui/res/cardsfolder/s/sacred_boon.txt | 10 ++++------ .../res/cardsfolder/s/scars_of_the_veteran.txt | 9 +++------ forge-gui/res/cardsfolder/s/serra_paragon.txt | 2 +- forge-gui/res/cardsfolder/s/spare_dagger.txt | 3 ++- forge-gui/res/cardsfolder/s/spellweaver_helix.txt | 5 ++--- .../res/cardsfolder/s/sphinx_of_foresight.txt | 7 +++---- forge-gui/res/cardsfolder/s/stolen_goods.txt | 7 +++---- ...n_of_perfection_nassari_dean_of_expression.txt | 4 +--- 22 files changed, 52 insertions(+), 79 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index f86b65f196e..699a408e48c 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -975,7 +975,8 @@ public class AbilityUtils { final Player player = sa instanceof SpellAbility ? ((SpellAbility)sa).getActivatingPlayer() : card.getController(); if (defined.equals("Self") || defined.equals("TargetedCard") || defined.equals("ThisTargetedCard") - || defined.startsWith("Valid") || getPaidCards(sa, defined) != null || defined.equals("TargetedSource")) { + || defined.startsWith("Valid") || getPaidCards(sa, defined) != null || defined.equals("TargetedSource") + || defined.startsWith("CardUID_")) { // defined syntax indicates cards only, so don't include any players } else if (defined.equals("TargetedOrController")) { players.addAll(getDefinedPlayers(card, "Targeted", sa)); diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index f305249dd75..737bf764bfe 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -865,7 +865,7 @@ public class CardProperty { if (!(spellAbility instanceof SpellAbility)) { System.out.println("Looking at TriggeredCard but no SA?"); } else { - Card triggeredCard = ((Card) ((SpellAbility) spellAbility).getTriggeringObject(AbilityKey.Card)); + Card triggeredCard = ((Card) ((SpellAbility) spellAbility).getRootAbility().getTriggeringObject(AbilityKey.Card)); if (triggeredCard != null && card.sharesNameWith(triggeredCard)) { return true; } diff --git a/forge-gui/res/cardsfolder/a/acidic_dagger.txt b/forge-gui/res/cardsfolder/a/acidic_dagger.txt index 3b0b169d029..85272aff049 100644 --- a/forge-gui/res/cardsfolder/a/acidic_dagger.txt +++ b/forge-gui/res/cardsfolder/a/acidic_dagger.txt @@ -3,9 +3,8 @@ ManaCost:4 Types:Artifact A:AB$ Effect | Cost$ 4 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | Triggers$ TrigDam,TrigLeave | RememberObjects$ Targeted | ActivationPhases$ Upkeep->Declare Attackers | ActivationFirstCombat$ True | SpellDescription$ Whenever target creature deals combat damage to a non-Wall creature this turn, destroy that non-Wall creature. When the targeted creature leaves the battlefield this turn, sacrifice CARDNAME. Activate only before blockers are declared. SVar:TrigDam:Mode$ DamageDone | ValidSource$ Creature.IsRemembered | ValidTarget$ Creature.nonWall | CombatDamage$ True | TriggerZones$ Command | Execute$ TrigDestroy | TriggerDescription$ Whenever targeted creature deals combat damage to a non-Wall creature this turn, destroy that non-Wall creature. -SVar:TrigLeave:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ TrigSac | TriggerZones$ Command | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE. +SVar:TrigLeave:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Any | OneOff$ True | Execute$ TrigSac | TriggerZones$ Command | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE. SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredTargetLKICopy -SVar:TrigSac:DB$ SacrificeAll | Defined$ EffectSource | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:TrigSac:DB$ SacrificeAll | Defined$ EffectSource AI:RemoveDeck:All Oracle:{4}, {T}: Whenever target creature deals combat damage to a non-Wall creature this turn, destroy that non-Wall creature. When the targeted creature leaves the battlefield this turn, sacrifice Acidic Dagger. Activate only before blockers are declared. diff --git a/forge-gui/res/cardsfolder/c/chancellor_of_the_tangle.txt b/forge-gui/res/cardsfolder/c/chancellor_of_the_tangle.txt index 4d8bc386aa1..ac0ae67f1b8 100644 --- a/forge-gui/res/cardsfolder/c/chancellor_of_the_tangle.txt +++ b/forge-gui/res/cardsfolder/c/chancellor_of_the_tangle.txt @@ -7,7 +7,6 @@ K:Vigilance K:Reach SVar:RevealCard:DB$ Reveal | RevealDefined$ Self | SubAbility$ ManaOnMain | SpellDescription$ You may reveal this card from your opening hand. If you do, at the beginning of your first main phase, add {G}. SVar:ManaOnMain:DB$ Effect | Triggers$ TrigMana | Duration$ Permanent | Name$ Chancellor of the Tangle effect -SVar:TrigMana:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | Execute$ EffMana | TriggerDescription$ At the beginning of your first main phase, add G. -SVar:EffMana:DB$ Mana | Produced$ G | SubAbility$ RemoveMe -SVar:RemoveMe:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:TrigMana:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | OneOff$ True | Execute$ EffMana | TriggerDescription$ At the beginning of your first main phase, add G. +SVar:EffMana:DB$ Mana | Produced$ G Oracle:You may reveal this card from your opening hand. If you do, at the beginning of your first main phase, add {G}.\nVigilance, reach diff --git a/forge-gui/res/cardsfolder/d/delifs_cube.txt b/forge-gui/res/cardsfolder/d/delifs_cube.txt index ada2a765630..0614074ac17 100644 --- a/forge-gui/res/cardsfolder/d/delifs_cube.txt +++ b/forge-gui/res/cardsfolder/d/delifs_cube.txt @@ -1,12 +1,10 @@ Name:Delif's Cube ManaCost:1 Types:Artifact -A:AB$ Effect | Cost$ 2 T | Name$ Delif's Cube Effect | ValidTgts$ Creature.YouCtrl | Triggers$ TrigAttackerUnblocked,TrigLeave | RememberObjects$ Targeted | ImprintCards$ Self | SpellDescription$ This turn, when target creature you control attacks and isn't blocked, it assigns no combat damage this turn and you put a cube counter on CARDNAME. +A:AB$ Effect | Cost$ 2 T | Name$ Delif's Cube Effect | ValidTgts$ Creature.YouCtrl | Triggers$ TrigAttackerUnblocked | ExileOnMoved$ Battlefield | RememberObjects$ Targeted | SpellDescription$ This turn, when target creature you control attacks and isn't blocked, it assigns no combat damage this turn and you put a cube counter on CARDNAME. SVar:TrigAttackerUnblocked:Mode$ AttackerUnblocked | ValidCard$ Card.IsRemembered | Execute$ DBPump | TriggerDescription$ This turn, when targeted creature attacks and isn't blocked, it assigns no combat damage this turn and you put a cube counter on Delif's Cube. SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ HIDDEN CARDNAME assigns no combat damage | SubAbility$ PutCounter -SVar:PutCounter:DB$ PutCounter | Defined$ Imprinted | CounterType$ CUBE | CounterNum$ 1 | SubAbility$ ExileEffect -SVar:TrigLeave:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ ExileEffect | Static$ True -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:PutCounter:DB$ PutCounter | Defined$ EffectSource | CounterType$ CUBE | CounterNum$ 1 A:AB$ Regenerate | Cost$ 2 SubCounter<1/CUBE> | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Regenerate target creature. AI:RemoveDeck:All Oracle:{2}, {T}: This turn, when target creature you control attacks and isn't blocked, it assigns no combat damage this turn and you put a cube counter on Delif's Cube.\n{2}, Remove a cube counter from Delif's Cube: Regenerate target creature. diff --git a/forge-gui/res/cardsfolder/g/glass_asp.txt b/forge-gui/res/cardsfolder/g/glass_asp.txt index 0f794134dca..2dac7c8943f 100644 --- a/forge-gui/res/cardsfolder/g/glass_asp.txt +++ b/forge-gui/res/cardsfolder/g/glass_asp.txt @@ -4,8 +4,7 @@ Types:Creature Snake PT:2/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ NafsEffect | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player loses 2 life at the beginning of their next draw step unless they pay {2} before that step. SVar:NafsEffect:DB$ Effect | Name$ Glass Asp Effect | EffectOwner$ TriggeredTarget | Duration$ Permanent | Triggers$ DrawTrig | Abilities$ PayUp -SVar:DrawTrig:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Command | Execute$ Bleed | TriggerDescription$ You lose 2 life at the beginning of your next draw step unless you pay {2} before that step. -SVar:Bleed:DB$ LoseLife | Defined$ You | LifeAmount$ 2 | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:DrawTrig:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | OneOff$ True | TriggerZones$ Command | Execute$ Bleed | TriggerDescription$ You lose 2 life at the beginning of your next draw step unless you pay {2} before that step. +SVar:Bleed:DB$ LoseLife | Defined$ You | LifeAmount$ 2 SVar:PayUp:ST$ ChangeZone | Cost$ 2 | Defined$ Self | Origin$ Command | Destination$ Exile | ActivationZone$ Command | AILogic$ Always | SpellDescription$ Pay {2} to remove this effect. Oracle:Whenever Glass Asp deals combat damage to a player, that player loses 2 life at the beginning of their next draw step unless they pay {2} before that step. diff --git a/forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt b/forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt index 456d500e1d0..f1fbe5a2891 100644 --- a/forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt +++ b/forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt @@ -2,7 +2,7 @@ Name:Jorn, God of Winter ManaCost:2 G Types:Legendary Snow Creature God PT:3/3 -T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigUntapAllSnow | TriggerDescription$ Whenever CARDNAME attacks, untap each snow permanent you control. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigUntapAllSnow | TriggerDescription$ Whenever NICKNAME attacks, untap each snow permanent you control. SVar:TrigUntapAllSnow:DB$ UntapAll | ValidCards$ Permanent.Snow+YouCtrl SVar:PlayMain1:TRUE AlternateMode:Modal @@ -15,10 +15,9 @@ ALTERNATE Name:Kaldring, the Rimestaff ManaCost:1 U B Types:Legendary Snow Artifact -A:AB$ Effect | Cost$ T | TgtZone$ Graveyard | ValidTgts$ Permanent.Snow+YouCtrl | TgtPrompt$ Choose target snow permanent card in your graveyard | StaticAbilities$ STPlay | RememberObjects$ Targeted | ForgetOnMoved$ Graveyard | SubAbility$ DBEffect | SpellDescription$ You may play target snow permanent card from your graveyard this turn. If you do, it enters the battlefield tapped. +A:AB$ Effect | Cost$ T | TgtZone$ Graveyard | ValidTgts$ Permanent.Snow+YouCtrl | TgtPrompt$ Choose target snow permanent card in your graveyard | StaticAbilities$ STPlay | ReplacementEffects$ ETBCreat | RememberObjects$ Targeted | ForgetOnMoved$ Graveyard,Stack | ForgetOnCast$ False | SpellDescription$ You may play target snow permanent card from your graveyard this turn. If you do, it enters the battlefield tapped. SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Graveyard | Description$ You may play target snow permanent card from your graveyard this turn. -SVar:DBEffect:DB$ Effect | RememberObjects$ ParentTarget | ForgetOnMoved$ Stack | ReplacementEffects$ ETBCreat -SVar:ETBCreat:Event$ Moved | ValidCard$ Card.IsRemembered | Destination$ Battlefield | ReplaceWith$ DBTap | ReplacementResult$ Updated | Description$ If you do, it enters the battlefield tapped. +SVar:ETBCreat:Event$ Moved | ValidCard$ Card.IsRemembered | Cause$ SpellAbility.MayPlaySource | Destination$ Battlefield | ReplaceWith$ DBTap | ReplacementResult$ Updated | Description$ If you do, it enters the battlefield tapped. SVar:DBTap:DB$ Tap | Defined$ ReplacedCard | ETB$ True | SubAbility$ DBExile SVar:DBExile:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile Oracle:{T}: You may play target snow permanent card from your graveyard this turn. If you do, it enters the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/m/medomais_prophecy.txt b/forge-gui/res/cardsfolder/m/medomais_prophecy.txt index 7b610efcd48..f3e8dbc62a9 100644 --- a/forge-gui/res/cardsfolder/m/medomais_prophecy.txt +++ b/forge-gui/res/cardsfolder/m/medomais_prophecy.txt @@ -5,8 +5,7 @@ K:Saga:4:DBScry,DBNameCard,DBEffect,DBLook SVar:DBScry:DB$ Scry | ScryNum$ 2 | SpellDescription$ Scry 2. SVar:DBNameCard:DB$ NameCard | SpellDescription$ Choose a card name. SVar:DBEffect:DB$ Effect | Triggers$ NamedCardCast | SpellDescription$ When you cast a spell with the chosen name for the first time this turn, draw two cards. -SVar:NamedCardCast:Mode$ SpellCast | ValidCard$ Card.NamedCard | ValidActivatingPlayer$ You | TriggerZones$ Command | Execute$ TrigDraw | TriggerDescription$ When you cast a spell with the chosen name for the first time this turn, draw two cards. -SVar:TrigDraw:DB$ Draw | NumCards$ 2 | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:NamedCardCast:Mode$ SpellCast | ValidCard$ Card.NamedCard | ValidActivatingPlayer$ You | OneOff$ True | TriggerZones$ Command | Execute$ TrigDraw | TriggerDescription$ When you cast a spell with the chosen name for the first time this turn, draw two cards. +SVar:TrigDraw:DB$ Draw | NumCards$ 2 SVar:DBLook:DB$ PeekAndReveal | Defined$ Player | NoReveal$ True | SpellDescription$ Look at the top card of each player's library. Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after IV.)\nI — Scry 2.\nII — Choose a card name.\nIII — When you cast a spell with the chosen name for the first time this turn, draw two cards.\nIV — Look at the top card of each player's library. diff --git a/forge-gui/res/cardsfolder/m/melee.txt b/forge-gui/res/cardsfolder/m/melee.txt index b1b4a097b54..ea705596a08 100644 --- a/forge-gui/res/cardsfolder/m/melee.txt +++ b/forge-gui/res/cardsfolder/m/melee.txt @@ -1,10 +1,8 @@ Name:Melee ManaCost:4 R Types:Instant -A:SP$ DeclareCombatants | Cost$ 4 R | DeclareBlockers$ True | PlayerTurn$ True | ActivationPhases$ BeginCombat->Declare Attackers | SubAbility$ DBEffect | SpellDescription$ Cast this spell only during your turn and only during combat before blockers are declared. You choose which creatures block this combat and how those creatures block. Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. -SVar:DBEffect:DB$ Effect | Triggers$ TrigAttack,TrigEndCombat -SVar:TrigEndCombat:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ You | TriggerZones$ Command | Execute$ RemoveEffect | Static$ True -SVar:RemoveEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +A:SP$ DeclareCombatants | DeclareBlockers$ True | PlayerTurn$ True | ActivationPhases$ BeginCombat->Declare Attackers | SubAbility$ DBEffect | SpellDescription$ Cast this spell only during your turn and only during combat before blockers are declared. You choose which creatures block this combat and how those creatures block. Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. +SVar:DBEffect:DB$ Effect | Triggers$ TrigAttack | Duration$ UntilEndOfCombat SVar:TrigAttack:Mode$ AttackerUnblocked | ValidCard$ Creature | Execute$ TrigUntap | TriggerZones$ Command | TriggerDescription$ Whenever a creature attacks and isn't blocked this combat, untap it and remove it from combat. SVar:TrigUntap:DB$ Untap | Defined$ TriggeredAttackerLKICopy | SubAbility$ RemCombat SVar:RemCombat:DB$ RemoveFromCombat | Defined$ TriggeredAttackerLKICopy diff --git a/forge-gui/res/cardsfolder/m/muse_vessel.txt b/forge-gui/res/cardsfolder/m/muse_vessel.txt index 33c5fccd51e..17882110593 100644 --- a/forge-gui/res/cardsfolder/m/muse_vessel.txt +++ b/forge-gui/res/cardsfolder/m/muse_vessel.txt @@ -1,14 +1,9 @@ Name:Muse Vessel ManaCost:4 Types:Artifact -A:AB$ ChangeZone | Cost$ 3 T | ValidTgts$ Player | TgtPrompt$ Select target player | SorcerySpeed$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | RememberChanged$ True | Chooser$ Targeted | Hidden$ True | IsCurse$ True | Mandatory$ True | SpellDescription$ Target player exiles a card from their hand. Activate only as a sorcery. -A:AB$ ChooseCard | Cost$ 1 | ChoiceZone$ Exile | Choices$ Card.IsRemembered+ExiledWithSource | Amount$ 1 | ChoiceTitle$ Choose a card exiled with Muse Vessel | SubAbility$ DBEffect | AILogic$ Never | SpellDescription$ Choose a card exiled with CARDNAME. You may play that card this turn. -SVar:DBEffect:DB$ Effect | Duration$ EndOfTurn | StaticAbilities$ STPlay | Triggers$ TrigCleanup | SubAbility$ DBCleanup -SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.ChosenCard | AffectedZone$ Exile | Description$ You may play a card this turn. -SVar:TrigCleanup:Mode$ ChangesZone | ValidCard$ Card.ChosenCard | Origin$ Exile | Destination$ Any | TriggerZones$ Command | Execute$ DBExileSelf | Static$ True -SVar:DBExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile -T:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered+ExiledWithSource | Execute$ DBForget -SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ ChangeZone | Cost$ 3 T | ValidTgts$ Player | TgtPrompt$ Select target player | SorcerySpeed$ True | Origin$ Hand | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Chooser$ Targeted | Hidden$ True | IsCurse$ True | Mandatory$ True | SpellDescription$ Target player exiles a card from their hand. Activate only as a sorcery. +A:AB$ ChooseCard | Cost$ 1 | ChoiceZone$ Exile | Choices$ Card.ExiledWithSource | Amount$ 1 | ChoiceTitle$ Choose a card exiled with Muse Vessel | SubAbility$ DBEffect | AILogic$ Never | SpellDescription$ Choose a card exiled with CARDNAME. You may play that card this turn. +SVar:DBEffect:DB$ Effect | Duration$ EndOfTurn | StaticAbilities$ STPlay | RememberObjects$ ChosenCard | ForgetOnMoved$ Exile | SubAbility$ DBCleanup +SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play that card this turn. +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True Oracle:{3}, {T}: Target player exiles a card from their hand. Activate only as a sorcery.\n{1}: Choose a card exiled with Muse Vessel. You may play that card this turn. diff --git a/forge-gui/res/cardsfolder/n/nafs_asp.txt b/forge-gui/res/cardsfolder/n/nafs_asp.txt index ec70a40c570..64118a8655d 100644 --- a/forge-gui/res/cardsfolder/n/nafs_asp.txt +++ b/forge-gui/res/cardsfolder/n/nafs_asp.txt @@ -4,8 +4,7 @@ Types:Creature Snake PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ NafsEffect | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player loses 1 life at the beginning of their next draw step unless they pay {1} before that draw step. SVar:NafsEffect:DB$ Effect | Name$ Nafs Asp Effect | EffectOwner$ TriggeredTarget | Duration$ Permanent | Triggers$ DrawTrig | Abilities$ PayUp -SVar:DrawTrig:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Command | Execute$ Bleed | TriggerDescription$ You lose 1 life at the beginning of your next draw step unless you pay {1} before that draw step. -SVar:Bleed:DB$ LoseLife | Defined$ You | LifeAmount$ 1 | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:DrawTrig:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | TriggerZones$ Command | OneOff$ True | Execute$ Bleed | TriggerDescription$ You lose 1 life at the beginning of your next draw step unless you pay {1} before that draw step. +SVar:Bleed:DB$ LoseLife | Defined$ You | LifeAmount$ 1 SVar:PayUp:ST$ ChangeZone | Cost$ 1 | Defined$ Self | Origin$ Command | Destination$ Exile | ActivationZone$ Command | AILogic$ Always | SpellDescription$ Pay {1} to remove this effect. Oracle:Whenever Nafs Asp deals damage to a player, that player loses 1 life at the beginning of their next draw step unless they pay {1} before that draw step. diff --git a/forge-gui/res/cardsfolder/p/phantasmal_mount.txt b/forge-gui/res/cardsfolder/p/phantasmal_mount.txt index 35982d7bbf8..1f12e12b52e 100644 --- a/forge-gui/res/cardsfolder/p/phantasmal_mount.txt +++ b/forge-gui/res/cardsfolder/p/phantasmal_mount.txt @@ -5,11 +5,10 @@ PT:1/1 K:Flying A:AB$ Pump | Cost$ T | ValidTgts$ Creature.YouCtrl+toughnessLE2 | TgtPrompt$ Select target creature you control with toughness 2 or less | NumAtt$ +1 | NumDef$ +1 | KW$ Flying | SubAbility$ PhantasmalMountEffect | SpellDescription$ Target creature you control with toughness 2 or less gets +1/+1 and gains flying until end of turn. When CARDNAME leaves the battlefield this turn, sacrifice that creature. When the creature leaves the battlefield this turn, sacrifice CARDNAME. SVar:PhantasmalMountEffect:DB$ Effect | Triggers$ LostTheMount,LostTheTarget | RememberObjects$ Targeted -SVar:LostTheMount:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ SacMount | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE. -SVar:SacMount:DB$ SacrificeAll | Defined$ EffectSource | SubAbility$ ExileEffect -SVar:LostTheTarget:Mode$ ChangesZone | ValidCard$ Card.EffectSource | Origin$ Battlefield | Destination$ Any | Execute$ SacTarget | TriggerDescription$ When EFFECTSOURCE leaves the battlefield this turn, sacrifice the targeted creature. -SVar:SacTarget:DB$ SacrificeAll | Defined$ RememberedLKI | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:LostTheMount:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | OneOff$ True | Execute$ SacMount | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice EFFECTSOURCE. +SVar:SacMount:DB$ SacrificeAll | Defined$ EffectSource +SVar:LostTheTarget:Mode$ ChangesZone | ValidCard$ Card.EffectSource | Origin$ Battlefield | Destination$ Any | OneOff$ True | Execute$ SacTarget | TriggerDescription$ When EFFECTSOURCE leaves the battlefield this turn, sacrifice the targeted creature. +SVar:SacTarget:DB$ SacrificeAll | Defined$ RememberedLKI AI:RemoveDeck:All AI:RemoveDeck:Random Oracle:Flying\n{T}: Target creature you control with toughness 2 or less gets +1/+1 and gains flying until end of turn. When Phantasmal Mount leaves the battlefield this turn, sacrifice that creature. When the creature leaves the battlefield this turn, sacrifice Phantasmal Mount. diff --git a/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt b/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt index a734734c2e2..1e70a537dfd 100644 --- a/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt +++ b/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt @@ -1,11 +1,9 @@ Name:Ride the Avalanche ManaCost:G U Types:Instant -A:SP$ Effect | Cost$ G U | StaticAbilities$ QuickenStA | Triggers$ SpellCastTrig,TrigCounters | SpellDescription$ The next spell you cast this turn can be cast as though it had flash. When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell. +A:SP$ Effect | Cost$ G U | StaticAbilities$ QuickenStA | Triggers$ TrigCounters | SpellDescription$ The next spell you cast this turn can be cast as though it had flash. When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell. SVar:QuickenStA:Mode$ CastWithFlash | ValidCard$ Card | ValidSA$ Spell | EffectZone$ Command | Caster$ You -SVar:SpellCastTrig:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ RemoveQuicken | Static$ True | TriggerDescription$ None -SVar:RemoveQuicken:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile -SVar:TrigCounters:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ PutCounter | TriggerDescription$ When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell +SVar:TrigCounters:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | OneOff$ True | Execute$ PutCounter | TriggerDescription$ When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell SVar:PutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ X | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target creature | ValidTgts$ Creature SVar:X:TriggeredStackInstance$CardManaCostLKI DeckHas:Ability$Counters diff --git a/forge-gui/res/cardsfolder/r/runesword.txt b/forge-gui/res/cardsfolder/r/runesword.txt index 0758482ac14..35605f6f057 100644 --- a/forge-gui/res/cardsfolder/r/runesword.txt +++ b/forge-gui/res/cardsfolder/r/runesword.txt @@ -3,9 +3,8 @@ ManaCost:6 Types:Artifact A:AB$ Pump | Cost$ 3 T | NumAtt$ +2 | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SubAbility$ RuneswordEffect | SpellDescription$ Target attacking creature gets +2/+0 until end of turn. When that creature leaves the battlefield this turn, sacrifice CARDNAME. If the creature deals damage to a creature this turn, the creature dealt damage can't be regenerated this turn. If a creature dealt damage by the targeted creature would die this turn, exile that creature instead. SVar:RuneswordEffect:DB$ Effect | Name$ Runesword Effect | Triggers$ TrigSacRunesword,TrigNoregen | ReplacementEffects$ RuneswordRep | RememberObjects$ Targeted | ImprintCards$ Self -SVar:TrigSacRunesword:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | Destination$ Any | Execute$ RuneswordSac | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Runesword. -SVar:RuneswordSac:DB$ SacrificeAll | Defined$ ImprintedLKI | SubAbility$ ExileEffect -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:TrigSacRunesword:Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ Battlefield | OneOff$ True | Destination$ Any | Execute$ RuneswordSac | TriggerDescription$ When the targeted creature leaves the battlefield this turn, sacrifice Runesword. +SVar:RuneswordSac:DB$ SacrificeAll | Defined$ ImprintedLKI SVar:TrigNoregen:Mode$ DamageDone | ValidSource$ Card.IsRemembered | ValidTarget$ Creature | Execute$ PumpNogen | Static$ True | TriggerDescription$ If the creature deals damage to a creature this turn, the creature dealt damage can't be regenerated this turn. SVar:PumpNogen:DB$ Pump | KW$ HIDDEN CARDNAME can't be regenerated. | Defined$ TriggeredTarget SVar:RuneswordRep:Event$ Moved | ValidLKI$ Creature.DamagedBy Remembered | Destination$ Graveyard | ReplaceWith$ RuneswordExile | Description$ If a creature dealt damage by CARDNAME this turn would die, exile it instead. diff --git a/forge-gui/res/cardsfolder/s/sacred_boon.txt b/forge-gui/res/cardsfolder/s/sacred_boon.txt index e29a4f8ae7f..e6410c8af79 100644 --- a/forge-gui/res/cardsfolder/s/sacred_boon.txt +++ b/forge-gui/res/cardsfolder/s/sacred_boon.txt @@ -1,10 +1,8 @@ Name:Sacred Boon ManaCost:1 W Types:Instant -A:SP$ PreventDamage | Cost$ 1 W | ValidTgts$ Creature | Amount$ 3 | PreventionSubAbility$ BoonEffect | ShieldEffectTarget$ Targeted | TgtPrompt$ Select target creature | SpellDescription$ Prevent the next 3 damage that would be dealt to target creature this turn. At the beginning of the next end step, put a +0/+1 counter on that creature for each 1 damage prevented this way. -SVar:BoonEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | Triggers$ DelTrig,OutOfSight | SpellDescription$ At the beginning of the next end step, put a +0/+1 counter on the targeted creature for each 1 damage prevented this way. -SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | Execute$ DelayedBoon | TriggerDescription$ Put a +0/+1 counter on the targeted creature for each 1 damage prevented this way. -SVar:DelayedBoon:DB$ PutCounter | Defined$ Remembered | CounterType$ P0P1 | CounterNum$ PreventedDamage | SubAbility$ ExileEffect -SVar:OutOfSight:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.IsRemembered | Execute$ ExileEffect | Static$ True -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +A:SP$ PreventDamage | ValidTgts$ Creature | Amount$ 3 | PreventionSubAbility$ BoonEffect | ShieldEffectTarget$ Targeted | TgtPrompt$ Select target creature | SpellDescription$ Prevent the next 3 damage that would be dealt to target creature this turn. At the beginning of the next end step, put a +0/+1 counter on that creature for each 1 damage prevented this way. +SVar:BoonEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | ExileOnMoved$ Battlefield | Triggers$ DelTrig | SpellDescription$ At the beginning of the next end step, put a +0/+1 counter on the targeted creature for each 1 damage prevented this way. +SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | OneOff$ True | Execute$ DelayedBoon | TriggerDescription$ Put a +0/+1 counter on the targeted creature for each 1 damage prevented this way. +SVar:DelayedBoon:DB$ PutCounter | Defined$ Remembered | CounterType$ P0P1 | CounterNum$ PreventedDamage Oracle:Prevent the next 3 damage that would be dealt to target creature this turn. At the beginning of the next end step, put a +0/+1 counter on that creature for each 1 damage prevented this way. diff --git a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt index 54c0033572d..a7df76fffbc 100644 --- a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt +++ b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt @@ -3,10 +3,7 @@ ManaCost:4 W Types:Instant SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. A:SP$ PreventDamage | Cost$ 4 W | ValidTgts$ Creature,Player,Planeswalker | Amount$ 7 | PreventionSubAbility$ ScarEffect | ShieldEffectTarget$ Targeted | TgtPrompt$ Select any target | SpellDescription$ Prevent the next 7 damage that would be dealt to any target this turn. If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. -SVar:ScarEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | Triggers$ DelTrig,OutOfSight,NoCreatTgt | SpellDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. -SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | Execute$ DelayedScars | TriggerDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. -SVar:DelayedScars:DB$ PutCounter | Defined$ Remembered | CounterType$ P0P1 | CounterNum$ PreventedDamage | SubAbility$ ExileEffect -SVar:OutOfSight:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Permanent.IsRemembered | Execute$ ExileEffect | Static$ True -SVar:NoCreatTgt:Mode$ Always | IsPresent$ Permanent.IsRemembered | PresentCompare$ EQ0 | Execute$ ExileEffect | Static$ True -SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:ScarEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | Triggers$ DelTrig | SpellDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. +SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | Execute$ DelayedScars | OneOff$ True | IsPresent$ Creature.IsRemembered | TriggerDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. +SVar:DelayedScars:DB$ PutCounter | Defined$ Remembered | CounterType$ P0P1 | CounterNum$ PreventedDamage Oracle:You may exile a white card from your hand rather than pay this spell's mana cost.\nPrevent the next 7 damage that would be dealt to any target this turn. If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. diff --git a/forge-gui/res/cardsfolder/s/serra_paragon.txt b/forge-gui/res/cardsfolder/s/serra_paragon.txt index 550b69d55f0..b6db4b744cb 100644 --- a/forge-gui/res/cardsfolder/s/serra_paragon.txt +++ b/forge-gui/res/cardsfolder/s/serra_paragon.txt @@ -4,7 +4,7 @@ Types:Creature Angel PT:3/4 K:Flying S:Mode$ Continuous | Affected$ Permanent.YouOwn+cmcLE3,Land.YouOwn| Condition$ PlayerTurn | MayPlay$ True | MayPlayLimit$ 1 | EffectZone$ Battlefield | AffectedZone$ Graveyard | Description$ Once during each of your turns, you may play a land from your graveyard or cast a permanent spell with mana value 3 or less from your graveyard. If you do, it gains "When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life." -T:Mode$ SpellCast | ValidCard$ Card | ValidSA$ Spell.MayPlaySource | Execute$ DBAnimate | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Once during each of your turns, you may play a land from your graveyard or cast a permanent spell with mana value 3 or less from your graveyard. If you do, it gains "When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life." +T:Mode$ SpellCast | ValidCard$ Card | ValidSA$ Spell.MayPlaySource | Execute$ DBAnimate | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ Once during each of your turns, you may play a land from your graveyard or cast a permanent spell with mana value 3 or less from your graveyard. If you do, it gains "When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life." T:Mode$ LandPlayed | ValidCard$ Land | ValidSA$ SpellAbility.MayPlaySource | TriggerZones$ Battlefield | Execute$ DBAnimate | Secondary$ True | TriggerDescription$ Once during each of your turns, you may play a land from your graveyard or cast a permanent spell with mana value 3 or less from your graveyard. If you do, it gains "When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life." SVar:DBAnimate:DB$ Animate | Defined$ TriggeredCard | Duration$ Permanent | Triggers$ TrigDieExile SVar:TrigDieExile:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When this permanent is put into a graveyard from the battlefield, exile it and you gain 2 life. diff --git a/forge-gui/res/cardsfolder/s/spare_dagger.txt b/forge-gui/res/cardsfolder/s/spare_dagger.txt index 0b34da34536..19e2111b30e 100644 --- a/forge-gui/res/cardsfolder/s/spare_dagger.txt +++ b/forge-gui/res/cardsfolder/s/spare_dagger.txt @@ -4,5 +4,6 @@ Types:Artifact Equipment K:Equip:1 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddTrigger$ AttackTrigger | Description$ Equipped creature gets +1/+0 and has "Whenever this creature attacks, you may sacrifice Spare Dagger. When you do, this creature deals 1 damage to any target." SVar:AttackTrigger:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ Whenever this creature attacks, you may sacrifice CARDNAME. When you do, this creature deals 1 damage to any target. -SVar:TrigDealDamage:AB$ DealDamage | Cost$ Sac<1/OriginalHost/Spare Dagger> | ValidTgts$ Player,Creature,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 +SVar:TrigDealDamage:AB$ ImmediateTrigger | Cost$ Sac<1/OriginalHost/Spare Dagger> | Execute$ TrigDamage | TriggerDescription$ When you do, this creature deals 1 damage to any target. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Creature,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 Oracle:Equipped creature gets +1/+0 and has "Whenever this creature attacks, you may sacrifice Spare Dagger. When you do, this creature deals 1 damage to any target."\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/s/spellweaver_helix.txt b/forge-gui/res/cardsfolder/s/spellweaver_helix.txt index 6c1242dce5b..f477adf8e76 100644 --- a/forge-gui/res/cardsfolder/s/spellweaver_helix.txt +++ b/forge-gui/res/cardsfolder/s/spellweaver_helix.txt @@ -4,9 +4,8 @@ Types:Artifact T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigSpellweaverExile | OptionalDecider$ You | TriggerDescription$ Imprint — When CARDNAME enters the battlefield, you may exile two target sorcery cards from a single graveyard. SVar:TrigSpellweaverExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | TargetsFromSingleZone$ True | ValidTgts$ Card.Sorcery | TargetMin$ 2 | TargetMax$ 2 | TgtPrompt$ Select two target sorcery cards from a single graveyard | Imprint$ True | SpellDescription$ Exile two sorcery cards from a single graveyard. T:Mode$ SpellCast | ValidCard$ Card.sharesNameWith Imprinted+nonToken | Execute$ TrigSpellweaverCopy | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player casts a card, if it has the same name as one of the cards exiled with CARDNAME, you may copy the other. If you do, you may cast the copy without paying its mana cost. -SVar:TrigSpellweaverCopy:DB$ Pump | RememberObjects$ TriggeredCard | SubAbility$ DBPlay -SVar:DBPlay:DB$ Play | Defined$ ValidAll Card.IsImprinted+doesNotShareNameWith Remembered+inZoneExile | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | CopyCard$ True | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigSpellweaverCopy:DB$ Play | Defined$ ValidExile Card.IsImprinted+!sharesNameWith TriggeredCard | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | CopyCard$ True | ConditionPresent$ Card.IsImprinted+sharesNameWith TriggeredCard | ConditionZone$ Exile | ConditionCompare$ EQ1 | SubAbility$ TrigSpellweaverCopySame +SVar:TrigSpellweaverCopySame:DB$ Play | Defined$ ValidExile Card.IsImprinted | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | CopyCard$ True | ConditionPresent$ Card.IsImprinted+sharesNameWith TriggeredCard | ConditionZone$ Exile | ConditionCompare$ EQ2 T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanImprinted | Static$ True SVar:DBCleanImprinted:DB$ Cleanup | ClearImprinted$ True AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/s/sphinx_of_foresight.txt b/forge-gui/res/cardsfolder/s/sphinx_of_foresight.txt index 93e48484e81..e4909644bb3 100644 --- a/forge-gui/res/cardsfolder/s/sphinx_of_foresight.txt +++ b/forge-gui/res/cardsfolder/s/sphinx_of_foresight.txt @@ -4,10 +4,9 @@ Types:Creature Sphinx PT:4/4 K:MayEffectFromOpeningHand:RevealCard SVar:RevealCard:DB$ Reveal | RevealDefined$ Self | SubAbility$ ScryOnUpkeep | SpellDescription$ You may reveal this card from your opening hand. If you do, scry 3 at the beginning of your first upkeep. -SVar:ScryOnUpkeep:DB$ Effect | Triggers$ TrigOpenScry | Duration$ Permanent | Name$ Sphinx of Foresight effect | SpellDescription$ You may reveal this card from your opening hand. If you do, scry 3 at the beginning of your first upkeep. -SVar:TrigOpenScry:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ DBScry | TriggerDescription$ If you do, scry 3 at the beginning of your first upkeep. -SVar:DBScry:DB$ Scry | ScryNum$ 3 | SubAbility$ RemoveMe -SVar:RemoveMe:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:ScryOnUpkeep:DB$ Effect | Triggers$ TrigOpenScry | Duration$ Permanent | SpellDescription$ You may reveal this card from your opening hand. If you do, scry 3 at the beginning of your first upkeep. +SVar:TrigOpenScry:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | OneOff$ True | Execute$ DBScry | TriggerDescription$ If you do, scry 3 at the beginning of your first upkeep. +SVar:DBScry:DB$ Scry | ScryNum$ 3 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigScry | TriggerDescription$ At the beginning of your upkeep, scry 1. SVar:TrigScry:DB$ Scry | ScryNum$ 1 diff --git a/forge-gui/res/cardsfolder/s/stolen_goods.txt b/forge-gui/res/cardsfolder/s/stolen_goods.txt index 1045dd18801..3a1ac52065c 100644 --- a/forge-gui/res/cardsfolder/s/stolen_goods.txt +++ b/forge-gui/res/cardsfolder/s/stolen_goods.txt @@ -1,9 +1,8 @@ Name:Stolen Goods ManaCost:3 U Types:Sorcery -A:SP$ DigUntil | Cost$ 3 U | ValidTgts$ Opponent | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Exile | RevealedDestination$ Exile | RememberFound$ True | IsCurse$ True | SubAbility$ DBEffect | SpellDescription$ Target opponent exiles cards from the top of their library until they exile a nonland card. Until end of turn, you may cast that card without paying its mana cost. -SVar:DBEffect:DB$ Effect | StaticAbilities$ StolenGoodsPlay | RememberObjects$ Remembered | Duration$ Permanent | SubAbility$ DBCleanup +A:SP$ DigUntil | ValidTgts$ Opponent | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Exile | RevealedDestination$ Exile | RememberFound$ True | IsCurse$ True | SubAbility$ DBEffect | SpellDescription$ Target opponent exiles cards from the top of their library until they exile a nonland card. Until end of turn, you may cast that card without paying its mana cost. +SVar:DBEffect:DB$ Effect | StaticAbilities$ StolenGoodsPlay | ForgetOnMoved$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup SVar:StolenGoodsPlay:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | Description$ Until end of turn, you may cast this card without paying its mana cost. -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBCleanupEffect -SVar:DBCleanupEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True Oracle:Target opponent exiles cards from the top of their library until they exile a nonland card. Until end of turn, you may cast that card without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/u/uvilda_dean_of_perfection_nassari_dean_of_expression.txt b/forge-gui/res/cardsfolder/u/uvilda_dean_of_perfection_nassari_dean_of_expression.txt index 58ea6f2e20d..fa87172d11c 100644 --- a/forge-gui/res/cardsfolder/u/uvilda_dean_of_perfection_nassari_dean_of_expression.txt +++ b/forge-gui/res/cardsfolder/u/uvilda_dean_of_perfection_nassari_dean_of_expression.txt @@ -23,10 +23,8 @@ Types:Legendary Creature Efreet Shaman PT:4/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast spells from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells. SVar:TrigExile:DB$ Dig | Defined$ Player.Opponent | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top card of each opponent's library. Until end of turn, you may cast nonland cards from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells. -SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | Triggers$ TriggerCast | RememberObjects$ Remembered | SubAbility$ DBCleanup +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ForgetOnMoved$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreColor$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it. -SVar:TriggerCast:Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Execute$ TrigRemoveSelf | Static$ True -SVar:TrigRemoveSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True T:Mode$ SpellCast | ValidCard$ Card.wasCastFromExile | ValidActivatingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell from exile, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1