From a3372980e50679cbd53d651b06868028ce05e340 Mon Sep 17 00:00:00 2001 From: Lyu Zong-Hong Date: Fri, 23 Jul 2021 15:31:40 +0900 Subject: [PATCH] Update oracles with AFR release --- .../src/main/java/forge/game/card/CardFactoryUtil.java | 4 ++-- ...nt_mind_sorceror.txt => aberrant_mind_sorcerer.txt} | 6 +++--- forge-gui/res/cardsfolder/a/arcane_investigator.txt | 6 +++--- forge-gui/res/cardsfolder/b/berserkers_frenzy.txt | 6 +++--- forge-gui/res/cardsfolder/c/chaos_channeler.txt | 6 +++--- forge-gui/res/cardsfolder/c/component_pouch.txt | 6 +++--- forge-gui/res/cardsfolder/c/contact_other_plane.txt | 6 +++--- forge-gui/res/cardsfolder/d/delina_wild_mage.txt | 6 +++--- forge-gui/res/cardsfolder/d/diviners_portent.txt | 4 ++-- forge-gui/res/cardsfolder/d/djinni_windseer.txt | 6 +++--- .../res/cardsfolder/d/dungeon_of_the_mad_mage.txt | 2 +- forge-gui/res/cardsfolder/e/earth_cult_elemental.txt | 6 +++--- forge-gui/res/cardsfolder/f/faridehs_fireball.txt | 6 +++--- forge-gui/res/cardsfolder/g/goblin_morningstar.txt | 6 +++--- forge-gui/res/cardsfolder/h/herald_of_hadar.txt | 8 ++++---- forge-gui/res/cardsfolder/h/hoarding_ogre.txt | 6 +++--- forge-gui/res/cardsfolder/l/lightfoot_rogue.txt | 6 +++--- forge-gui/res/cardsfolder/l/loathsome_troll.txt | 6 +++--- .../res/cardsfolder/l/lost_mine_of_phandelver.txt | 2 +- forge-gui/res/cardsfolder/p/power_of_persuasion.txt | 10 +++++----- forge-gui/res/cardsfolder/r/revivify.txt | 4 ++-- forge-gui/res/cardsfolder/s/scion_of_stygia.txt | 8 ++++---- forge-gui/res/cardsfolder/s/song_of_inspiration.txt | 4 ++-- forge-gui/res/cardsfolder/s/spiked_pit_trap.txt | 6 +++--- forge-gui/res/cardsfolder/s/swarming_goblins.txt | 6 +++--- forge-gui/res/cardsfolder/s/sylvan_shepherd.txt | 6 +++--- .../res/cardsfolder/t/the_deck_of_many_things.txt | 6 +++--- forge-gui/res/cardsfolder/t/tomb_of_annihilation.txt | 2 +- forge-gui/res/cardsfolder/t/treasure_chest.txt | 8 ++++---- forge-gui/res/cardsfolder/upcoming/danse_macabre.txt | 6 +++--- forge-gui/res/cardsfolder/w/wizards_spellbook.txt | 6 +++--- forge-gui/tools/oracleScript.py | 6 +++++- 32 files changed, 93 insertions(+), 89 deletions(-) rename forge-gui/res/cardsfolder/a/{aberrant_mind_sorceror.txt => aberrant_mind_sorcerer.txt} (76%) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index ae3986b520c..d8dfbfa04bb 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1832,10 +1832,10 @@ public class CardFactoryUtil { if (sa.hasParam("NextRoom")) { boolean first = true; StringBuilder nextRoomParam = new StringBuilder(); - trigStr.append(" (→ "); + trigStr.append(" (Leads to: "); for (String nextRoomSVar : sa.getParam("NextRoom").split(",")) { if (!first) { - trigStr.append(" or "); + trigStr.append(", "); nextRoomParam.append(","); } String nextRoomName = saMap.get(nextRoomSVar).getParam("RoomName"); diff --git a/forge-gui/res/cardsfolder/a/aberrant_mind_sorceror.txt b/forge-gui/res/cardsfolder/a/aberrant_mind_sorcerer.txt similarity index 76% rename from forge-gui/res/cardsfolder/a/aberrant_mind_sorceror.txt rename to forge-gui/res/cardsfolder/a/aberrant_mind_sorcerer.txt index ab8132c99bd..e54c98984ea 100644 --- a/forge-gui/res/cardsfolder/a/aberrant_mind_sorceror.txt +++ b/forge-gui/res/cardsfolder/a/aberrant_mind_sorcerer.txt @@ -5,6 +5,6 @@ PT:3/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigPump | TriggerDescription$ Psionic Spells – When CARDNAME enters the battlefield, choose target instant or sorcery card in your graveyard, then ABILITY SVar:TrigPump:DB$ Pump | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | TgtZone$ Graveyard | TgtPrompt$ Choose target instant or sorcery card in your graveyard | SubAbility$ DBRollDice SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBLibrary,10-20:DBHand | SpellDescription$ roll a d20. -SVar:DBLibrary:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 0 | Optional$ True | SpellDescription$ 1-9 VERT You may put that card on top of your library. -SVar:DBHand:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 10-20 VERT Return that card to your hand. -Oracle:Psionic Spells — When Aberrant Mind Sorcerer enters the battlefield, choose target instant or sorcery card in your graveyard, then roll a d20.\n1-9 | You may put that card on top of your library.\n10-20 | Return that card to your hand. +SVar:DBLibrary:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Library | LibraryPosition$ 0 | Optional$ True | SpellDescription$ 1—9 VERT You may put that card on top of your library. +SVar:DBHand:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 10—20 VERT Return that card to your hand. +Oracle:Psionic Spells — When Aberrant Mind Sorcerer enters the battlefield, choose target instant or sorcery card in your graveyard, then roll a d20.\n1—9 | You may put that card on top of your library.\n10—20 | Return that card to your hand. diff --git a/forge-gui/res/cardsfolder/a/arcane_investigator.txt b/forge-gui/res/cardsfolder/a/arcane_investigator.txt index d7ad243f17a..79870c5026b 100644 --- a/forge-gui/res/cardsfolder/a/arcane_investigator.txt +++ b/forge-gui/res/cardsfolder/a/arcane_investigator.txt @@ -3,6 +3,6 @@ ManaCost:1 U Types:Creature Elf Wizard PT:2/1 A:AB$ RollDice | Cost$ 5 U | Sides$ 20 | ResultSubAbilities$ 1-9:DBDraw,10-20:DBDig | PrecostDesc$ Search the Room — | SpellDescription$ Roll a d20. -SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ 1-9 VERT Draw a card. -SVar:DBDig:DB$ Dig | DigNum$ 3 | ChangeNum$ 1 | SpellDescription$ 10-20 VERT Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. -Oracle:Search the Room — {5}{U}: Roll a d20.\n1-9 | Draw a card.\n10-20 | Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. +SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ 1—9 VERT Draw a card. +SVar:DBDig:DB$ Dig | DigNum$ 3 | ChangeNum$ 1 | SpellDescription$ 10—20 VERT Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. +Oracle:Search the Room — {5}{U}: Roll a d20.\n1—9 | Draw a card.\n10—20 | Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. diff --git a/forge-gui/res/cardsfolder/b/berserkers_frenzy.txt b/forge-gui/res/cardsfolder/b/berserkers_frenzy.txt index 8cb67e8ac35..d52812b63c7 100644 --- a/forge-gui/res/cardsfolder/b/berserkers_frenzy.txt +++ b/forge-gui/res/cardsfolder/b/berserkers_frenzy.txt @@ -2,8 +2,8 @@ Name:Berserker's Frenzy ManaCost:2 R Types:Instant A:SP$ RollDice | ActivationPhases$ Upkeep->Declare Attackers | Amount$ 2 | Sides$ 20 | IgnoreLower$ 1 | ResultSubAbilities$ 1-14:MustBlock,15-20:ChooseBlock | SpellDescription$ Cast this spell only before combat or during combat before blockers are declared. Roll two d20 and ignore the lower roll. -SVar:MustBlock:DB$ ChooseCard | Choices$ Creature | Amount$ X | MinAmount$ 0 | ChoiceTitle$ Choose any number of creatures | SubAbility$ DBPump | SpellDescription$ 1-14 VERT Choose any number of creatures. They block this turn if able. +SVar:MustBlock:DB$ ChooseCard | Choices$ Creature | Amount$ X | MinAmount$ 0 | ChoiceTitle$ Choose any number of creatures | SubAbility$ DBPump | SpellDescription$ 1—14 VERT Choose any number of creatures. They block this turn if able. SVar:DBPump:DB$ Pump | Defined$ ChosenCard | KW$ HIDDEN CARDNAME blocks each combat if able. SVar:X:Count$Valid Creature -SVar:ChooseBlock:DB$ DeclareCombatants | DeclareBlockers$ True | Until$ EndOfTurn | SpellDescription$ 15-20 VERT You choose which creatures block this turn and how those creatures block. -Oracle:Cast this spell only before combat or during combat before blockers are declared.\nRoll two d20 and ignore the lower roll.\n1-14 | Choose any number of creatures. They block this turn if able.\n15-20 | You choose which creatures block this turn and how those creatures block. +SVar:ChooseBlock:DB$ DeclareCombatants | DeclareBlockers$ True | Until$ EndOfTurn | SpellDescription$ 15—20 VERT You choose which creatures block this turn and how those creatures block. +Oracle:Cast this spell only before combat or during combat before blockers are declared.\nRoll two d20 and ignore the lower roll.\n1—14 | Choose any number of creatures. They block this turn if able.\n15—20 | You choose which creatures block this turn and how those creatures block. diff --git a/forge-gui/res/cardsfolder/c/chaos_channeler.txt b/forge-gui/res/cardsfolder/c/chaos_channeler.txt index a6bb642b95b..77b5bf24528 100644 --- a/forge-gui/res/cardsfolder/c/chaos_channeler.txt +++ b/forge-gui/res/cardsfolder/c/chaos_channeler.txt @@ -4,10 +4,10 @@ Types:Creature Human Shaman PT:4/3 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ Wild Magic Surge — Whenever CARDNAME attacks, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Exile1,10-19:Exile2,20:Exile3 | SpellDescription$ roll a d20. -SVar:Exile1:DB$ Dig | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ 1-9 VERT Exile the top card of your library. You may play it this turn. -SVar:Exile2:DB$ Dig | Defined$ You | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ 10-19 VERT Exile the top two cards of your library. You may play them this turn. +SVar:Exile1:DB$ Dig | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ 1—9 VERT Exile the top card of your library. You may play it this turn. +SVar:Exile2:DB$ Dig | Defined$ You | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ 10—19 VERT Exile the top two cards of your library. You may play them this turn. SVar:Exile3:DB$ Dig | Defined$ You | DigNum$ 3 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ 20 VERT Exile the top three cards of your library. You may play them this turn. SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Exile | Affected$ Card.IsRemembered | MayPlay$ True | Description$ You may play the card(s) this turn. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -Oracle:Wild Magic Surge — Whenever Chaos Channeler attacks, roll a d20.\n1-9 | Exile the top card of your library. You may play it this turn.\n10-19 | Exile the top two cards of your library. You may play them this turn.\n20 | Exile the top three cards of your library. You may play them this turn. +Oracle:Wild Magic Surge — Whenever Chaos Channeler attacks, roll a d20.\n1—9 | Exile the top card of your library. You may play it this turn.\n10—19 | Exile the top two cards of your library. You may play them this turn.\n20 | Exile the top three cards of your library. You may play them this turn. diff --git a/forge-gui/res/cardsfolder/c/component_pouch.txt b/forge-gui/res/cardsfolder/c/component_pouch.txt index be7ad6622b2..e8196b73ed6 100644 --- a/forge-gui/res/cardsfolder/c/component_pouch.txt +++ b/forge-gui/res/cardsfolder/c/component_pouch.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact A:AB$ Mana | Cost$ T SubCounter<1/COMPONENT> | Amount$ 2 | Produced$ Combo AnyDifferent | SpellDescription$ Add two mana of different colors. A:AB$ RollDice | Cost$ T | Sides$ 20 | ResultSubAbilities$ 1-9:PutOne,10-20:PutTwo | SpellDescription$ Roll a d20. -SVar:PutOne:DB$ PutCounter | Defined$ Self | CounterType$ COMPONENT | CounterNum$ 1 | SpellDescription$ 1-9 VERT Put a component counter on CARDNAME. -SVar:PutTwo:DB$ PutCounter | Defined$ Self | CounterType$ COMPONENT | CounterNum$ 2 | SpellDescription$ 10-20 VERT Put two component counters on CARDNAME. +SVar:PutOne:DB$ PutCounter | Defined$ Self | CounterType$ COMPONENT | CounterNum$ 1 | SpellDescription$ 1—9 VERT Put a component counter on CARDNAME. +SVar:PutTwo:DB$ PutCounter | Defined$ Self | CounterType$ COMPONENT | CounterNum$ 2 | SpellDescription$ 10—20 VERT Put two component counters on CARDNAME. DeckHas:Ability$Counters -Oracle:{T}, Remove a component counter from Component Pouch: Add two mana of different colors.\n{T}: Roll a d20.\n1-9 | Put a component counter on Component Pouch.\n10-20 | Put two component counters on Component Pouch. +Oracle:{T}, Remove a component counter from Component Pouch: Add two mana of different colors.\n{T}: Roll a d20.\n1—9 | Put a component counter on Component Pouch.\n10—20 | Put two component counters on Component Pouch. diff --git a/forge-gui/res/cardsfolder/c/contact_other_plane.txt b/forge-gui/res/cardsfolder/c/contact_other_plane.txt index 13be30474b5..def28194ccc 100644 --- a/forge-gui/res/cardsfolder/c/contact_other_plane.txt +++ b/forge-gui/res/cardsfolder/c/contact_other_plane.txt @@ -2,8 +2,8 @@ Name:Contact Other Plane ManaCost:3 U Types:Instant A:SP$ RollDice | Cost$ 3 U | Sides$ 20 | ResultSubAbilities$ 1-9:DBDraw2,10-19:DBScry2,20:DBScry3 | SpellDescription$ Roll a d20. -SVar:DBDraw2:DB$ Draw | NumCards$ 2 | SpellDescription$ 1-9 VERT Draw two cards. -SVar:DBScry2:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDraw2 | SpellDescription$ 10-19 VERT Scry 2, then draw two cards. +SVar:DBDraw2:DB$ Draw | NumCards$ 2 | SpellDescription$ 1—9 VERT Draw two cards. +SVar:DBScry2:DB$ Scry | ScryNum$ 2 | SubAbility$ DBDraw2 | SpellDescription$ 10—19 VERT Scry 2, then draw two cards. SVar:DBScry3:DB$ Scry | ScryNum$ 3 | SubAbility$ DBDraw3 | SpellDescription$ 20 VERT Scry 3, then draw three cards. SVar:DBDraw3:DB$ Draw | NumCards$ 3 -Oracle:Roll a d20.\n1-9 | Draw two cards.\n10-19 | Scry 2, then draw two cards.\n20 | Scry 3, then draw three cards. +Oracle:Roll a d20.\n1—9 | Draw two cards.\n10—19 | Scry 2, then draw two cards.\n20 | Scry 3, then draw three cards. diff --git a/forge-gui/res/cardsfolder/d/delina_wild_mage.txt b/forge-gui/res/cardsfolder/d/delina_wild_mage.txt index f77f4596778..d6855ce4708 100644 --- a/forge-gui/res/cardsfolder/d/delina_wild_mage.txt +++ b/forge-gui/res/cardsfolder/d/delina_wild_mage.txt @@ -5,13 +5,13 @@ PT:3/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ DBLoop | TriggerDescription$ Whenever CARDNAME attacks, choose target creature you control, then ABILITY SVar:DBLoop:DB$ Repeat | ValidTgts$ Creature.YouCtrl | RepeatCheckSVar$ RepeatCheck | RepeatSVarCompare$ GT0 | RepeatSubAbility$ DBRollDice | RepeatOptional$ True SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-14:DBCopy,15-20:DBCopyRepeat | SpellDescription$ roll a d20. -SVar:DBCopy:DB$ CopyPermanent | Defined$ Targeted | TokenTapped$ True | TokenAttacking$ True | NonLegendary$ True | AddSVars$ DelinaTrigExile | AddTriggers$ TrigPhase | SubAbility$ DBNotRepeat | SpellDescription$ 1-14 VERT Create a tapped and attacking token that's a copy of that creature, except it's not legendary and it has "Exile this creature at end of combat. +SVar:DBCopy:DB$ CopyPermanent | Defined$ Targeted | TokenTapped$ True | TokenAttacking$ True | NonLegendary$ True | AddSVars$ DelinaTrigExile | AddTriggers$ TrigPhase | SubAbility$ DBNotRepeat | SpellDescription$ 1—14 VERT Create a tapped and attacking token that's a copy of that creature, except it's not legendary and it has "Exile this creature at end of combat." SVar:DBNotRepeat:DB$ StoreSVar | SVar$ RepeatCheck | Type$ Number | Expression$ 0 -SVar:DBCopyRepeat:DB$ CopyPermanent | Defined$ Targeted | TokenTapped$ True | TokenAttacking$ True | NonLegendary$ True | AddSVars$ DelinaTrigExile | AddTriggers$ TrigPhase | SubAbility$ DBRepeat | SpellDescription$ 15-20 VERT Create one of those tokens. You may roll again. +SVar:DBCopyRepeat:DB$ CopyPermanent | Defined$ Targeted | TokenTapped$ True | TokenAttacking$ True | NonLegendary$ True | AddSVars$ DelinaTrigExile | AddTriggers$ TrigPhase | SubAbility$ DBRepeat | SpellDescription$ 15—20 VERT Create one of those tokens. You may roll again. SVar:TrigPhase:Mode$ Phase | Phase$ EndCombat | TriggerZones$ Battlefield | Execute$ DelinaTrigExile | TriggerDescription$ Exile this creature at end of combat. SVar:DelinaTrigExile:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile SVar:DBRepeat:DB$ StoreSVar | SVar$ RepeatCheck | Type$ Number | Expression$ 1 SVar:RepeatCheck:Number$1 SVar:HasAttackEffect:TRUE DeckHas:Ability$Token -Oracle:Whenever Delina, Wild Mage attacks, choose target creature you control, then roll a d20.\n1-14 | Create a tapped and attacking token that's a copy of that creature, except it's not legendary and it has "Exile this creature at end of combat."\n15-20 | Create one of those tokens. You may roll again. +Oracle:Whenever Delina, Wild Mage attacks, choose target creature you control, then roll a d20.\n1—14 | Create a tapped and attacking token that's a copy of that creature, except it's not legendary and it has "Exile this creature at end of combat."\n15—20 | Create one of those tokens. You may roll again. diff --git a/forge-gui/res/cardsfolder/d/diviners_portent.txt b/forge-gui/res/cardsfolder/d/diviners_portent.txt index 9f0dba31478..c0956e9c52f 100644 --- a/forge-gui/res/cardsfolder/d/diviners_portent.txt +++ b/forge-gui/res/cardsfolder/d/diviners_portent.txt @@ -2,9 +2,9 @@ Name:Diviner's Portent ManaCost:X U U U Types:Instant A:SP$ RollDice | Sides$ 20 | Modifier$ Y | ResultSubAbilities$ 1-14:DBDraw,Else:DBScry | SpellDescription$ Roll a d20 and add the number of cards in your hand. -SVar:DBDraw:DB$ Draw | NumCards$ X | SpellDescription$ 1-14 VERT Draw X cards. +SVar:DBDraw:DB$ Draw | NumCards$ X | SpellDescription$ 1—14 VERT Draw X cards. SVar:DBScry:DB$ Scry | ScryNum$ X | SubAbility$ DBDraw2 | SpellDescription$ 15+ VERT Scry X, then draw X cards. SVar:DBDraw2:DB$ Draw | NumCards$ X SVar:X:Count$xPaid SVar:Y:Count$InYourHand -Oracle:Roll a d20 and add the number of cards in your hand.\n1-14 | Draw X cards.\n15+ | Scry X, then draw X cards. +Oracle:Roll a d20 and add the number of cards in your hand.\n1—14 | Draw X cards.\n15+ | Scry X, then draw X cards. diff --git a/forge-gui/res/cardsfolder/d/djinni_windseer.txt b/forge-gui/res/cardsfolder/d/djinni_windseer.txt index 7963a52cd40..2de740278a6 100644 --- a/forge-gui/res/cardsfolder/d/djinni_windseer.txt +++ b/forge-gui/res/cardsfolder/d/djinni_windseer.txt @@ -5,7 +5,7 @@ PT:3/3 K:Flying T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Scry1,10-19:Scry2,20:Scry3 | SpellDescription$ roll a d20. -SVar:Scry1:DB$ Scry | ScryNum$ 1 | SpellDescription$ 1-9 VERT Scry 1. -SVar:Scry2:DB$ Scry | ScryNum$ 2 | SpellDescription$ 10-19 VERT Scry 2. +SVar:Scry1:DB$ Scry | ScryNum$ 1 | SpellDescription$ 1—9 VERT Scry 1. +SVar:Scry2:DB$ Scry | ScryNum$ 2 | SpellDescription$ 10—19 VERT Scry 2. SVar:Scry3:DB$ Scry | ScryNum$ 3 | SpellDescription$ 20 VERT Scry 3. -Oracle:Flying\nWhen Djinni Windseer enters the battlefield, roll a d20.\n1-9 | Scry 1.\n10-19 | Scry 2.\n20 | Scry 3. +Oracle:Flying\nWhen Djinni Windseer enters the battlefield, roll a d20.\n1—9 | Scry 1.\n10—19 | Scry 2.\n20 | Scry 3. diff --git a/forge-gui/res/cardsfolder/d/dungeon_of_the_mad_mage.txt b/forge-gui/res/cardsfolder/d/dungeon_of_the_mad_mage.txt index 6d1c9823d65..ce8fba9fc1b 100644 --- a/forge-gui/res/cardsfolder/d/dungeon_of_the_mad_mage.txt +++ b/forge-gui/res/cardsfolder/d/dungeon_of_the_mad_mage.txt @@ -15,4 +15,4 @@ SVar:DBMines:DB$ Scry | ScryNum$ 3 | RoomName$ Deep Mines | SpellDescription$ Sc SVar:DBLair:DB$ Draw | Defined$ You | NumCards$ 3 | RememberDrawn$ True | SubAbility$ DBReveal | RoomName$ Mad Wizard's Lair | SpellDescription$ Draw three cards and reveal them. You may cast one of them without paying its mana cost. SVar:DBReveal:DB$ Reveal | Defined$ You | RevealDefined$ Remembered | SubAbility$ DBPlay SVar:DBPlay:DB$ Play | Defined$ Remembered | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | SubAbility$ DBCleanup -Oracle:Yawning Portal — You gain 1 life. (→ Dungeon Level)\nDungeon Level — Scry 1. (→ Goblin Bazaar or Twisted Caverns)\nGoblin Bazaar — Create a Treasure token. (→ Lost Level)\nTwisted Caverns — Target creature can't attack until your next turn. (→ Lost Level)\nLost Level — Scry 2. (→ Runestone Caverns or Muiral's Graveyard)\nRunestone Caverns — Exile the top two cards of your library. You may play them. (→ Deep Mines)\nMuiral's Graveyard — Create two 1/1 black Skeleton creature tokens. (→ Deep Mines)\nDeep Mines — Scry 3. (→ Mad Wizard's Lair)\nMad Wizard's Lair — Draw three cards and reveal them. You may cast one of them without paying its mana cost. +Oracle:Yawning Portal — You gain 1 life. (Leads to: Dungeon Level)\nDungeon Level — Scry 1. (Leads to: Goblin Bazaar, Twisted Caverns)\nGoblin Bazaar — Create a Treasure token. (Leads to: Lost Level)\nTwisted Caverns — Target creature can't attack until your next turn. (Leads to: Lost Level)\nLost Level — Scry 2. (Leads to: Runestone Caverns, Muiral's Graveyard)\nRunestone Caverns — Exile the top two cards of your library. You may play them. (Leads to: Deep Mines)\nMuiral's Graveyard — Create two 1/1 black Skeleton creature tokens. (Leads to: Deep Mines)\nDeep Mines — Scry 3. (Leads to: Mad Wizard's Lair)\nMad Wizard's Lair — Draw three cards and reveal them. You may cast one of them without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/e/earth_cult_elemental.txt b/forge-gui/res/cardsfolder/e/earth_cult_elemental.txt index 034de1cdd94..b114c3310ce 100644 --- a/forge-gui/res/cardsfolder/e/earth_cult_elemental.txt +++ b/forge-gui/res/cardsfolder/e/earth_cult_elemental.txt @@ -4,8 +4,8 @@ Types:Creature Elemental PT:6/6 T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ Siege Monster — When CARDNAME enters the battlefield, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Sac1,10-19:SacOpp,20:SacOpp2 | SpellDescription$ roll a d20. -SVar:Sac1:DB$ Sacrifice | SacValid$ Permanent | Defined$ Player | SpellDescription$ 1-9 VERT Each player sacrifices a permanent. -SVar:SacOpp:DB$ Sacrifice | SacValid$ Permanent | Defined$ Player.Opponent | SpellDescription$ 10-19 VERT Each opponent sacrifices a permanent. +SVar:Sac1:DB$ Sacrifice | SacValid$ Permanent | Defined$ Player | SpellDescription$ 1—9 VERT Each player sacrifices a permanent. +SVar:SacOpp:DB$ Sacrifice | SacValid$ Permanent | Defined$ Player.Opponent | SpellDescription$ 10—19 VERT Each opponent sacrifices a permanent. SVar:SacOpp2:DB$ Sacrifice | SacValid$ Permanent | Amount$ 2 | Defined$ Player.Opponent | SpellDescription$ 20 VERT Each opponent sacrifices two permanents. DeckHas:Ability$Sacrifice -Oracle:Siege Monster — When Earth-Cult Elemental enters the battlefield, roll a d20.\n1-9 | Each player sacrifices a permanent.\n10-19 | Each opponent sacrifices a permanent.\n20 | Each opponent sacrifices two permanents. +Oracle:Siege Monster — When Earth-Cult Elemental enters the battlefield, roll a d20.\n1—9 | Each player sacrifices a permanent.\n10—19 | Each opponent sacrifices a permanent.\n20 | Each opponent sacrifices two permanents. diff --git a/forge-gui/res/cardsfolder/f/faridehs_fireball.txt b/forge-gui/res/cardsfolder/f/faridehs_fireball.txt index d59c925a539..6deb20ee297 100644 --- a/forge-gui/res/cardsfolder/f/faridehs_fireball.txt +++ b/forge-gui/res/cardsfolder/f/faridehs_fireball.txt @@ -3,6 +3,6 @@ ManaCost:3 R R Types:Instant A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | NumDmg$ 5 | SubAbility$ DBRollDice | SpellDescription$ CARDNAME deals 5 damage to target creature or planeswalker. Roll a d20. SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DamageAll,10-20:DamageOpp -SVar:DamageAll:DB$ DealDamage | Defined$ Player | NumDmg$ 2 | SpellDescription$ 1-9 VERT CARDNAME deals 2 damage to each player. -SVar:DamageOpp:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 | SpellDescription$ 10-20 VERT CARDNAME deals 2 damage to each opponent. -Oracle:Farideh's Fireball deals 5 damage to target creature or planeswalker. Roll a d20.\n1-9 | Farideh's Fireball deals 2 damage to each player.\n10-20 | Farideh's Fireball deals 2 damage to each opponent. +SVar:DamageAll:DB$ DealDamage | Defined$ Player | NumDmg$ 2 | SpellDescription$ 1—9 VERT CARDNAME deals 2 damage to each player. +SVar:DamageOpp:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 | SpellDescription$ 10—20 VERT CARDNAME deals 2 damage to each opponent. +Oracle:Farideh's Fireball deals 5 damage to target creature or planeswalker. Roll a d20.\n1—9 | Farideh's Fireball deals 2 damage to each player.\n10—20 | Farideh's Fireball deals 2 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/g/goblin_morningstar.txt b/forge-gui/res/cardsfolder/g/goblin_morningstar.txt index a891bcaaec7..b353590092a 100644 --- a/forge-gui/res/cardsfolder/g/goblin_morningstar.txt +++ b/forge-gui/res/cardsfolder/g/goblin_morningstar.txt @@ -5,9 +5,9 @@ S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddKeyword$ T K:Equip:1 R T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBToken,10-20:DBTokenAttach | SpellDescription$ roll a d20. -SVar:DBToken:DB$ Token | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 1-9 VERT Create a 1/1 red Goblin creature token. -SVar:DBTokenAttach:DB$ Token | TokenScript$ r_1_1_goblin | TokenOwner$ You | RememberTokens$ True | SubAbility$ DBAttach | SpellDescription$ 10-20 VERT Create a 1/1 red Goblin creature token, then attach CARDNAME to it. +SVar:DBToken:DB$ Token | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 1—9 VERT Create a 1/1 red Goblin creature token. +SVar:DBTokenAttach:DB$ Token | TokenScript$ r_1_1_goblin | TokenOwner$ You | RememberTokens$ True | SubAbility$ DBAttach | SpellDescription$ 10—20 VERT Create a 1/1 red Goblin creature token, then attach CARDNAME to it. SVar:DBAttach:DB$ Attach | Defined$ Remembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token -Oracle:Equipped creature gets +1/+0 and has trample.\nEquip {1}{R}\nWhen Goblin Morningstar enters the battlefield, roll a d20.\n1-9 | Create a 1/1 red Goblin creature token.\n10-20 | Create a 1/1 red Goblin creature token, then attach Goblin Morningstar to it. +Oracle:Equipped creature gets +1/+0 and has trample.\nEquip {1}{R}\nWhen Goblin Morningstar enters the battlefield, roll a d20.\n1—9 | Create a 1/1 red Goblin creature token.\n10—20 | Create a 1/1 red Goblin creature token, then attach Goblin Morningstar to it. diff --git a/forge-gui/res/cardsfolder/h/herald_of_hadar.txt b/forge-gui/res/cardsfolder/h/herald_of_hadar.txt index b0f54b372af..f91a4516911 100644 --- a/forge-gui/res/cardsfolder/h/herald_of_hadar.txt +++ b/forge-gui/res/cardsfolder/h/herald_of_hadar.txt @@ -3,11 +3,11 @@ ManaCost:4 B Types:Creature Human Warlock PT:4/4 A:AB$ RollDice | Cost$ 5 B | Sides$ 20 | ResultSubAbilities$ 1-9:LoseTwo,10-19:LoseGain,20:LoseTrea | PrecostDesc$ Circle of Death — | SpellDescription$ Roll a d20. -SVar:LoseTwo:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SpellDescription$ 1-9 VERT Each opponent loses 2 life. -SVar:LoseGain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SubAbility$ DBGain2 | SpellDescription$ 10-19 VERT Each opponent loses 2 life and you gain 2 life. +SVar:LoseTwo:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SpellDescription$ 1—9 VERT Each opponent loses 2 life. +SVar:LoseGain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SubAbility$ DBGain2 | SpellDescription$ 10—19 VERT Each opponent loses 2 life and you gain 2 life. SVar:DBGain2:DB$ GainLife | Defined$ You | LifeAmount$ 2 -SVar:LoseTrea:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SubAbility$ DBGainTrea | SpellDescription$ 20 VERT Each opponent loses 2 life and you gain 2 life. Create two Treasure tokens. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +SVar:LoseTrea:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2 | SubAbility$ DBGainTrea | SpellDescription$ 20 VERT Each opponent loses 2 life and you gain 2 life. Create two Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") SVar:DBGainTrea:DB$ GainLife | Defined$ You | LifeAmount$ 2 | SubAbility$ DBTreasure SVar:DBTreasure:DB$ Token | TokenAmount$ 2 | TokenScript$ c_a_treasure_sac | TokenOwner$ You DeckHas:Ability$LifeGain & Ability$Token -Oracle:Circle of Death — {5}{B}: Roll a d20.\n1-9 | Each opponent loses 2 life.\n10-19 | Each opponent loses 2 life and you gain 2 life.\n20 | Each opponent loses 2 life and you gain 2 life. Create two Treasure tokens. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +Oracle:Circle of Death — {5}{B}: Roll a d20.\n1—9 | Each opponent loses 2 life.\n10—19 | Each opponent loses 2 life and you gain 2 life.\n20 | Each opponent loses 2 life and you gain 2 life. Create two Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/cardsfolder/h/hoarding_ogre.txt b/forge-gui/res/cardsfolder/h/hoarding_ogre.txt index 1753dbe444f..d3e2db6dd30 100644 --- a/forge-gui/res/cardsfolder/h/hoarding_ogre.txt +++ b/forge-gui/res/cardsfolder/h/hoarding_ogre.txt @@ -4,8 +4,8 @@ Types:Creature Ogre PT:3/3 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ Whenever CARDNAME attacks, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Token1,10-19:Token2,20:Token3 | SpellDescription$ roll a d20. -SVar:Token1:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ 1-9 VERT Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") -SVar:Token2:DB$ Token | TokenAmount$ 2 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ 10-19 VERT Create two Treasure tokens. +SVar:Token1:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ 1—9 VERT Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +SVar:Token2:DB$ Token | TokenAmount$ 2 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ 10—19 VERT Create two Treasure tokens. SVar:Token3:DB$ Token | TokenAmount$ 3 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ 20 VERT Create three Treasure tokens. DeckHas:Ability$Token -Oracle:Whenever Hoarding Ogre attacks, roll a d20.\n1-9 | Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.")\n10-19 | Create two Treasure tokens.\n20 | Create three Treasure tokens. +Oracle:Whenever Hoarding Ogre attacks, roll a d20.\n1—9 | Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.")\n10—19 | Create two Treasure tokens.\n20 | Create three Treasure tokens. diff --git a/forge-gui/res/cardsfolder/l/lightfoot_rogue.txt b/forge-gui/res/cardsfolder/l/lightfoot_rogue.txt index 12f8f84e555..dec5301960e 100644 --- a/forge-gui/res/cardsfolder/l/lightfoot_rogue.txt +++ b/forge-gui/res/cardsfolder/l/lightfoot_rogue.txt @@ -4,7 +4,7 @@ Types:Creature Halfling Rogue PT:2/1 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ Sneak Attack — Whenever CARDNAME attacks, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Pump1,10-19:Pump2,20:Pump3 | SpellDescription$ roll a d20. -SVar:Pump1:DB$ Pump | Defined$ Self | KW$ Deathtouch | SpellDescription$ 1-9 VERT CARDNAME gains deathtouch until end of turn. -SVar:Pump2:DB$ Pump | Defined$ Self | KW$ Deathtouch | NumAtt$ 1 | SpellDescription$ 10-19 VERT It gets +1/+0 and gains deathtouch until end of turn. +SVar:Pump1:DB$ Pump | Defined$ Self | KW$ Deathtouch | SpellDescription$ 1—9 VERT CARDNAME gains deathtouch until end of turn. +SVar:Pump2:DB$ Pump | Defined$ Self | KW$ Deathtouch | NumAtt$ 1 | SpellDescription$ 10—19 VERT It gets +1/+0 and gains deathtouch until end of turn. SVar:Pump3:DB$ Pump | Defined$ Self | KW$ First Strike & Deathtouch | NumAtt$ 3 | SpellDescription$ 20 VERT It gets +3/+0 and gains first strike and deathtouch until end of turn. -Oracle:Sneak Attack — Whenever Lightfoot Rogue attacks, roll a d20.\n1-9 | Lightfoot Rogue gains deathtouch until end of turn.\n10-19 | It gets +1/+0 and gains deathtouch until end of turn.\n20 | It gets +3/+0 and gains first strike and deathtouch until end of turn. +Oracle:Sneak Attack — Whenever Lightfoot Rogue attacks, roll a d20.\n1—9 | Lightfoot Rogue gains deathtouch until end of turn.\n10—19 | It gets +1/+0 and gains deathtouch until end of turn.\n20 | It gets +3/+0 and gains first strike and deathtouch until end of turn. diff --git a/forge-gui/res/cardsfolder/l/loathsome_troll.txt b/forge-gui/res/cardsfolder/l/loathsome_troll.txt index 44c34e0c7be..9fcdcee77d1 100644 --- a/forge-gui/res/cardsfolder/l/loathsome_troll.txt +++ b/forge-gui/res/cardsfolder/l/loathsome_troll.txt @@ -3,7 +3,7 @@ ManaCost:3 G G Types:Creature Troll PT:6/2 A:AB$ RollDice | Cost$ 3 G | ActivationZone$ Graveyard | Sides$ 20 | ResultSubAbilities$ 1-9:ToLib,10-19:ToHand,20:ToField | SpellDescription$ Roll a d20. Activate only if CARDNAME is in your graveyard. -SVar:ToLib:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Library | SpellDescription$ 1-9 VERT Put CARDNAME on top of your library. -SVar:ToHand:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 10-19 VERT Return CARDNAME to your hand. +SVar:ToLib:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Library | SpellDescription$ 1—9 VERT Put CARDNAME on top of your library. +SVar:ToHand:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 10—19 VERT Return CARDNAME to your hand. SVar:ToField:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SpellDescription$ 20 VERT Return CARDNAME to the battlefield tapped. -Oracle:{3}{G}: Roll a d20. Activate only if Loathsome Troll is in your graveyard.\n1-9 | Put Loathsome Troll on top of your library.\n10-19 | Return Loathsome Troll to your hand.\n20 | Return Loathsome Troll to the battlefield tapped. +Oracle:{3}{G}: Roll a d20. Activate only if Loathsome Troll is in your graveyard.\n1—9 | Put Loathsome Troll on top of your library.\n10—19 | Return Loathsome Troll to your hand.\n20 | Return Loathsome Troll to the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/l/lost_mine_of_phandelver.txt b/forge-gui/res/cardsfolder/l/lost_mine_of_phandelver.txt index f8c0af75626..2886e3c5cda 100644 --- a/forge-gui/res/cardsfolder/l/lost_mine_of_phandelver.txt +++ b/forge-gui/res/cardsfolder/l/lost_mine_of_phandelver.txt @@ -10,4 +10,4 @@ SVar:DBDarkPool:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 | SubAbi SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1 SVar:DBFungiCavern:DB$ Pump | ValidTgts$ Creature | NumAtt$ -4 | Duration$ UntilYourNextTurn | IsCurse$ True | RoomName$ Fungi Cavern | SpellDescription$ Target creature gets -4/-0 until your next turn. | NextRoom$ DBTempleDumathoin SVar:DBTempleDumathoin:DB$ Draw | Defined$ You | NumCards$ 1 | RoomName$ Temple of Dumathoin | SpellDescription$ Draw a card. -Oracle:Cave Entrance — Scry 1. (→ Goblin Lair or Mine Tunnels)\nGoblin Lair — Create a 1/1 red Goblin creature token. (→ Storeroom or Dark Pool)\nMine Tunnels — Create a Treasure token. (→ Dark Pool or Fungi Cavern)\nStoreroom — Put a +1/+1 counter on target creature. (→ Temple of Dumathoin)\nDark Pool — Each opponent loses 1 life and you gain 1 life. (→ Temple of Dumathoin)\nFungi Cavern — Target creature gets -4/-0 until your next turn. (→ Temple of Dumathoin)\nTemple of Dumathoin — Draw a card. +Oracle:Cave Entrance — Scry 1. (Leads to: Goblin Lair, Mine Tunnels)\nGoblin Lair — Create a 1/1 red Goblin creature token. (Leads to: Storeroom, Dark Pool)\nMine Tunnels — Create a Treasure token. (Leads to: Dark Pool, Fungi Cavern)\nStoreroom — Put a +1/+1 counter on target creature. (Leads to: Temple of Dumathoin)\nDark Pool — Each opponent loses 1 life and you gain 1 life. (Leads to: Temple of Dumathoin)\nFungi Cavern — Target creature gets -4/-0 until your next turn. (Leads to: Temple of Dumathoin)\nTemple of Dumathoin — Draw a card. diff --git a/forge-gui/res/cardsfolder/p/power_of_persuasion.txt b/forge-gui/res/cardsfolder/p/power_of_persuasion.txt index 5b7ab717dc2..e625e84cfa1 100644 --- a/forge-gui/res/cardsfolder/p/power_of_persuasion.txt +++ b/forge-gui/res/cardsfolder/p/power_of_persuasion.txt @@ -3,9 +3,9 @@ ManaCost:2 U Types:Sorcery A:SP$ Pump | Cost$ 2 U | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an oppoenent controls | SubAbility$ DBRollDice| SpellDescription$ Choose target creature an opponent controls, SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBHand,10-19:DBLibrary,20:DBControl | SpellDescription$ then roll a d20. -SVar:DBHand:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ ParentTarget | SpellDescription$ 1-9 VERT Return it to its owner's hand. -SVar:DBLibrary:DB$ GenericChoice | Defined$ TargetedController | ShowCurrentCard$ Targeted | Choices$ DBTop,DBBottom | SpellDescription$ 10-19 VERT Its owner puts it on the top or bottom of their library. -SVar:DBTop:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 -SVar:DBBottom:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 +SVar:DBHand:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ ParentTarget | SpellDescription$ 1—9 VERT Return it to its owner's hand. +SVar:DBLibrary:DB$ GenericChoice | Defined$ TargetedController | ShowCurrentCard$ Targeted | Choices$ DBTop,DBBottom | SpellDescription$ 10—19 VERT Its owner puts it on the top or bottom of their library. +SVar:DBTop:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 +SVar:DBBottom:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1 SVar:DBControl:DB$ GainControl | Defined$ Targeted | LoseControl$ UntilTheEndOfYourNextTurn | SpellDescription$ 20 VERT Gain control of it until the end of your next turn. -Oracle:Choose target creature an opponent controls, then roll a d20.\n1-9 | Return it to its owner's hand.\n10-19 | Its owner puts it on the top or bottom of their library.\n20 | Gain control of it until the end of your next turn. \ No newline at end of file +Oracle:Choose target creature an opponent controls, then roll a d20.\n1—9 | Return it to its owner's hand.\n10—19 | Its owner puts it on the top or bottom of their library.\n20 | Gain control of it until the end of your next turn. diff --git a/forge-gui/res/cardsfolder/r/revivify.txt b/forge-gui/res/cardsfolder/r/revivify.txt index 080ff216d9d..590d19d4269 100644 --- a/forge-gui/res/cardsfolder/r/revivify.txt +++ b/forge-gui/res/cardsfolder/r/revivify.txt @@ -2,7 +2,7 @@ Name:Revivify ManaCost:2 W Types:Instant A:SP$ RollDice | Sides$ 20 | Modifier$ X | ResultSubAbilities$ 1-14:DBToHand,Else:DBToField | SpellDescription$ Roll a d20 and add the number of creature cards in your graveyard that were put there from the battlefield this turn. -SVar:DBToHand:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ 1-14 VERT Return all creature cards in your graveyard that were put there from the battlefield this turn to your hand. +SVar:DBToHand:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ 1—14 VERT Return all creature cards in your graveyard that were put there from the battlefield this turn to your hand. SVar:DBToField:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ 15+ VERT Return those cards from your graveyard to the battlefield. SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl -Oracle:Roll a d20 and add the number of creature cards in your graveyard that were put there from the battlefield this turn.\n1-14 | Return all creature cards in your graveyard that were put there from the battlefield this turn to your hand.\n15+ | Return those cards from your graveyard to the battlefield. +Oracle:Roll a d20 and add the number of creature cards in your graveyard that were put there from the battlefield this turn.\n1—14 | Return all creature cards in your graveyard that were put there from the battlefield this turn to your hand.\n15+ | Return those cards from your graveyard to the battlefield. diff --git a/forge-gui/res/cardsfolder/s/scion_of_stygia.txt b/forge-gui/res/cardsfolder/s/scion_of_stygia.txt index 4ccb2d4fc4e..924a102a1cb 100644 --- a/forge-gui/res/cardsfolder/s/scion_of_stygia.txt +++ b/forge-gui/res/cardsfolder/s/scion_of_stygia.txt @@ -4,9 +4,9 @@ Types:Creature Tiefling Shaman PT:2/1 K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigPump | TriggerDescription$ Cone of Cold — When CARDNAME enters the battlefield, ABILITY -SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an oppoenent controls | SubAbility$ DBRollDice| SpellDescription$ Choose target creature an opponent controls, +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an oppoenent controls | SubAbility$ DBRollDice| SpellDescription$ choose target creature an opponent controls, SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBTap,10-20:DBReallyTap | SpellDescription$ then roll a d20. -SVar:DBTap:DB$ Tap | Defined$ Targeted | SpellDescription$ 1-9 VERT Tap that creature. -SVar:DBReallyTap:DB$ Tap | Defined$ Targeted | SubAbility$ DBNoUntap | SpellDescription$ 10-20 VERT Tap that creature. It doesn't untap during its controller's next untap step. +SVar:DBTap:DB$ Tap | Defined$ Targeted | SpellDescription$ 1—9 VERT Tap that creature. +SVar:DBReallyTap:DB$ Tap | Defined$ Targeted | SubAbility$ DBNoUntap | SpellDescription$ 10—20 VERT Tap that creature. It doesn't untap during its controller's next untap step. SVar:DBNoUntap:DB$ Pump | Defined$ Targeted | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent | IsCurse$ True -Oracle:Cone of Cold — When Scion of Stygia enters the battlefield, choose target creature an opponent controls, then roll a d20.\n1-9 | Tap that creature.\n10-20 | Tap that creature. It doesn't untap during its controller's next untap step. \ No newline at end of file +Oracle:Flash\nCone of Cold — When Scion of Stygia enters the battlefield, choose target creature an opponent controls, then roll a d20.\n1—9 | Tap that creature.\n10—20 | Tap that creature. It doesn't untap during its controller's next untap step. diff --git a/forge-gui/res/cardsfolder/s/song_of_inspiration.txt b/forge-gui/res/cardsfolder/s/song_of_inspiration.txt index f64c6bb597a..94de80736d9 100644 --- a/forge-gui/res/cardsfolder/s/song_of_inspiration.txt +++ b/forge-gui/res/cardsfolder/s/song_of_inspiration.txt @@ -3,9 +3,9 @@ ManaCost:3 G G Types:Instant A:SP$ Pump | ValidTgts$ Permanent.YouCtrl | TgtZone$ Graveyard | TargetMin$ 0 | TargetMax$ 2 | SubAbility$ DBRollDice | StackDescription$ SpellDescription | SpellDescription$ Choose up to two target permanent cards in your graveyard. Roll a d20 and add the total mana value of those cards. SVar:DBRollDice:DB$ RollDice | Defined$ You | Sides$ 20 | Modifier$ X | ResultSubAbilities$ 1-14:ToHand,Else:HandAndLife -SVar:ToHand:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 1-14 VERT Return those cards to your hand. +SVar:ToHand:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Hand | SpellDescription$ 1—14 VERT Return those cards to your hand. SVar:HandAndLife:DB$ ChangeZone | Defined$ Targeted | Origin$ Graveyard | Destination$ Hand | SubAbility$ DBGainLife | SpellDescription$ 15+ VERT Return those cards to your hand. You gain life equal to their total mana value. SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X SVar:X:Targeted$CardManaCost DeckHas:Ability$Graveyard & Ability$LifeGain -Oracle:Choose up to two target permanent cards in your graveyard. Roll a d20 and add the total mana value of those cards.\n1-14 | Return those cards to your hand.\n15+ | Return those cards to your hand. You gain life equal to their total mana value. +Oracle:Choose up to two target permanent cards in your graveyard. Roll a d20 and add the total mana value of those cards.\n1—14 | Return those cards to your hand.\n15+ | Return those cards to your hand. You gain life equal to their total mana value. diff --git a/forge-gui/res/cardsfolder/s/spiked_pit_trap.txt b/forge-gui/res/cardsfolder/s/spiked_pit_trap.txt index d4d6125e414..97cab470d90 100644 --- a/forge-gui/res/cardsfolder/s/spiked_pit_trap.txt +++ b/forge-gui/res/cardsfolder/s/spiked_pit_trap.txt @@ -4,7 +4,7 @@ Types:Artifact K:Flash A:AB$ Pump | Cost$ 5 T Sac<1/CARDNAME> | ValidTgts$ Creature | AITgts$ Creature.OppCtrl+toughnessLE5 | IsCurse$ True | SubAbility$ DBRollDice | StackDescription$ SpellDescription | SpellDescription$ Choose target creature, then roll a d20. SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBDamage,10-20:DBDamageAndTreasure -SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 5 | SpellDescription$ 1-9 VERT CARDNAME deals 5 damage to that creature. -SVar:DBDamageAndTreasure:DB$ DealDamage | Defined$ Targeted | NumDmg$ 5 | SubAbility$ DBTreasure | SpellDescription$ 10-20 VERT CARDNAME deals 5 damage to that creature. Create a Treasure token. +SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ 5 | SpellDescription$ 1—9 VERT CARDNAME deals 5 damage to that creature. +SVar:DBDamageAndTreasure:DB$ DealDamage | Defined$ Targeted | NumDmg$ 5 | SubAbility$ DBTreasure | SpellDescription$ 10—20 VERT CARDNAME deals 5 damage to that creature. Create a Treasure token. SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | TokenOwner$ You -Oracle:Flash\n{5}, {T}, Sacrifice Spiked Pit Trap: Choose target creature, then roll a d20.\n1-9 | Spiked Pit Trap deals 5 damage to that creature.\n10-20 | Spiked Pit Trap deals 5 damage to that creature. Create a Treasure token. +Oracle:Flash\n{5}, {T}, Sacrifice Spiked Pit Trap: Choose target creature, then roll a d20.\n1—9 | Spiked Pit Trap deals 5 damage to that creature.\n10—20 | Spiked Pit Trap deals 5 damage to that creature. Create a Treasure token. diff --git a/forge-gui/res/cardsfolder/s/swarming_goblins.txt b/forge-gui/res/cardsfolder/s/swarming_goblins.txt index 6e3746a8cd8..d1f98ba922b 100644 --- a/forge-gui/res/cardsfolder/s/swarming_goblins.txt +++ b/forge-gui/res/cardsfolder/s/swarming_goblins.txt @@ -4,8 +4,8 @@ Types:Creature Goblin PT:4/3 T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Token1,10-19:Token2,20:Token3 | SpellDescription$ roll a d20. -SVar:Token1:DB$ Token | TokenAmount$ 1 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 1-9 VERT Create a 1/1 red Goblin creature token. -SVar:Token2:DB$ Token | TokenAmount$ 2 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 10-19 VERT Create two of those tokens. +SVar:Token1:DB$ Token | TokenAmount$ 1 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 1—9 VERT Create a 1/1 red Goblin creature token. +SVar:Token2:DB$ Token | TokenAmount$ 2 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 10—19 VERT Create two of those tokens. SVar:Token3:DB$ Token | TokenAmount$ 3 | TokenScript$ r_1_1_goblin | TokenOwner$ You | SpellDescription$ 20 VERT Create three of those tokens. DeckHas:Ability$Token -Oracle:When Swarming Goblins enters the battlefield, roll a d20.\n1-9 | Create a 1/1 red Goblin creature token.\n10-19 | Create two of those tokens.\n20 | Create three of those tokens. +Oracle:When Swarming Goblins enters the battlefield, roll a d20.\n1—9 | Create a 1/1 red Goblin creature token.\n10—19 | Create two of those tokens.\n20 | Create three of those tokens. diff --git a/forge-gui/res/cardsfolder/s/sylvan_shepherd.txt b/forge-gui/res/cardsfolder/s/sylvan_shepherd.txt index 1df2120f6af..da00a953ac9 100644 --- a/forge-gui/res/cardsfolder/s/sylvan_shepherd.txt +++ b/forge-gui/res/cardsfolder/s/sylvan_shepherd.txt @@ -5,8 +5,8 @@ PT:2/3 K:Vigilance T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigRollDice | TriggerDescription$ Whenever CARDNAME attacks, ABILITY SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:Gain1,10-19:Gain2,20:Gain5 | SpellDescription$ roll a d20. -SVar:Gain1:DB$ GainLife | Defined$ You | LifeAmount$ 1 | SpellDescription$ 1-9 VERT You gain 1 life. -SVar:Gain2:DB$ GainLife | Defined$ You | LifeAmount$ 2 | SpellDescription$ 10-19 VERT You gain 2 life. +SVar:Gain1:DB$ GainLife | Defined$ You | LifeAmount$ 1 | SpellDescription$ 1—9 VERT You gain 1 life. +SVar:Gain2:DB$ GainLife | Defined$ You | LifeAmount$ 2 | SpellDescription$ 10—19 VERT You gain 2 life. SVar:Gain5:DB$ GainLife | Defined$ You | LifeAmount$ 5 | SpellDescription$ 20 VERT You gain 5 life. DeckHas:Ability$LifeGain -Oracle:Vigilance\nWhenever Sylvan Shepherd attacks, roll a d20.\n1-9 | You gain 1 life.\n10-19 | You gain 2 life.\n20 | You gain 5 life. +Oracle:Vigilance\nWhenever Sylvan Shepherd attacks, roll a d20.\n1—9 | You gain 1 life.\n10—19 | You gain 2 life.\n20 | You gain 5 life. diff --git a/forge-gui/res/cardsfolder/t/the_deck_of_many_things.txt b/forge-gui/res/cardsfolder/t/the_deck_of_many_things.txt index bed0629901e..31f60f0d55d 100644 --- a/forge-gui/res/cardsfolder/t/the_deck_of_many_things.txt +++ b/forge-gui/res/cardsfolder/t/the_deck_of_many_things.txt @@ -4,8 +4,8 @@ Types:Legendary Artifact A:AB$ RollDice | Cost$ 2 T | Sides$ 20 | Modifier$ CardsInHand | ResultSubAbilities$ Else:DBDiscard,1-9:DBReturn,10-19:DBDrawTwo,20:DBReanimate | SpellDescription$ Roll a d20 and subtract the number of cards in your hand. If the result is 0 or less, discard your hand. SVar:CardsInHand:Count$InYourHand/Negative SVar:DBDiscard:DB$ Discard | Mode$ Hand -SVar:DBReturn:DB$ ChangeZone | ChangeType$ Card.YouCtrl | ChangeNum$ 1 | Hidden$ True | Origin$ Graveyard | AtRandom$ True | Destination$ Hand | SpellDescription$ 1-9 VERT Return a card at random from your graveyard to your hand. -SVar:DBDrawTwo:DB$ Draw | NumCards$ 2 | SpellDescription$ 10-19 VERT Draw two cards. +SVar:DBReturn:DB$ ChangeZone | ChangeType$ Card.YouCtrl | ChangeNum$ 1 | Hidden$ True | Origin$ Graveyard | AtRandom$ True | Destination$ Hand | SpellDescription$ 1—9 VERT Return a card at random from your graveyard to your hand. +SVar:DBDrawTwo:DB$ Draw | NumCards$ 2 | SpellDescription$ 10—19 VERT Draw two cards. SVar:DBReanimate:DB$ ChooseCard | Choices$ Creature | ChoiceZone$ Graveyard | Amount$ 1 | SubAbility$ DBChangeZone | SpellDescription$ 20 VERT Put a creature card from any graveyard onto the battlefield under your control. When that creature dies, its owner loses the game. SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ChosenCard | GainControl$ True | RememberChanged$ True | SubAbility$ DBLoseEffect SVar:DBLoseEffect:DB$ Effect | Triggers$ TrigDie | RememberObjects$ ChosenCard | Duration$ Permanent | ExileOnMoved$ Battlefield | SubAbility$ DBCleanup @@ -13,4 +13,4 @@ SVar:TrigDie:Mode$ ChangesZone | ValidCard$ Creature.IsRemembered | Origin$ Batt SVar:DBLose:DB$ LosesGame | Defined$ RememberedOwner SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True DeckHas:Ability$Discard & Ability$Graveyard -Oracle:{2}, {T}: Roll a d20 and subtract the number of cards in your hand. If the result is 0 or less, discard your hand.\n1-9 | Return a card at random from your graveyard to your hand.\n10-19 | Draw two cards.\n20 | Put a creature card from any graveyard onto the battlefield under your control. When that creature dies, its owner loses the game. +Oracle:{2}, {T}: Roll a d20 and subtract the number of cards in your hand. If the result is 0 or less, discard your hand.\n1—9 | Return a card at random from your graveyard to your hand.\n10—19 | Draw two cards.\n20 | Put a creature card from any graveyard onto the battlefield under your control. When that creature dies, its owner loses the game. diff --git a/forge-gui/res/cardsfolder/t/tomb_of_annihilation.txt b/forge-gui/res/cardsfolder/t/tomb_of_annihilation.txt index a06c2173752..ba9b9b4e53d 100644 --- a/forge-gui/res/cardsfolder/t/tomb_of_annihilation.txt +++ b/forge-gui/res/cardsfolder/t/tomb_of_annihilation.txt @@ -10,4 +10,4 @@ SVar:DBSacArtifact:DB$ Sacrifice | Defined$ You | SacValid$ Artifact & Creature SVar:DBSandfallCell:DB$ RepeatEach | RepeatSubAbility$ DBLoseLife2 | RepeatPlayers$ Player | RoomName$ Sandfall Cell | SpellDescription$ Each player loses 2 life unless they sacrifice an artifact, a creature, or a land. | NextRoom$ DBCradleDeathGod SVar:DBLoseLife2:DB$ LoseLife | Defined$ Player.IsRemembered | LifeAmount$ 2 | UnlessCost$ Sac<1/Artifact;Creature;Land/an artifact, a creature, or a land> | UnlessPayer$ Remembered SVar:DBCradleDeathGod:DB$ Token | TokenScript$ the_atropal | TokenOwner$ You | RoomName$ Cradle of the Death God | SpellDescription$ Create The Atropal, a legendary 4/4 black God Horror creature token with deathtouch. -Oracle:Trapped Entry — Each player loses 1 life. (→ Veils of Fear or Oubliette)\nVeils of Fear — Each player loses 2 life unless they discard a card. (→ Sandfall Cell)\nSandfall Cell — Each player loses 2 life unless they sacrifice an artifact, a creature, or a land. (→ Cradle of the Death God)\nOubliette — Discard a card and sacrifice an artifact, a creature, and a land. (→ Cradle of the Death God)\nCradle of the Death God — Create The Atropal, a legendary 4/4 black God Horror creature token with deathtouch. +Oracle:Trapped Entry — Each player loses 1 life. (Leads to: Veils of Fear, Oubliette)\nVeils of Fear — Each player loses 2 life unless they discard a card. (Leads to: Sandfall Cell)\nSandfall Cell — Each player loses 2 life unless they sacrifice a creature, artifact, or land. (Leads to: Cradle of the Death God)\nOubliette — Discard a card and sacrifice a creature, an artifact, and a land. (Leads to: Cradle of the Death God)\nCradle of the Death God — Create The Atropal, a legendary 4/4 black God Horror creature token with deathtouch. diff --git a/forge-gui/res/cardsfolder/t/treasure_chest.txt b/forge-gui/res/cardsfolder/t/treasure_chest.txt index 17ff816dcb7..e9ec2ba6c65 100644 --- a/forge-gui/res/cardsfolder/t/treasure_chest.txt +++ b/forge-gui/res/cardsfolder/t/treasure_chest.txt @@ -3,13 +3,13 @@ ManaCost:3 Types:Artifact A:AB$ RollDice | Cost$ 4 Sac<1/CARDNAME> | Sides$ 20 | ResultSubAbilities$ 1:Trapped,2-9:DBToken,10-19:DBGainLife,20:DBChangeZone | SpellDescription$ Roll a d20. SVar:Trapped:DB$ LoseLife | Defined$ You | LifeAmount$ 3 | SpellDescription$ 1 VERT Trapped! — You lose 3 life. -SVar:DBToken:DB$ Token | TokenAmount$ 5 | TokenScript$ c_a_treasure_sac | SpellDescription$ 2-9 VERT Create five Treasure tokens. -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 3 | SubAbility$ DBDraw | SpellDescription$ 10-19 VERT You gain 3 life and draw three cards. +SVar:DBToken:DB$ Token | TokenAmount$ 5 | TokenScript$ c_a_treasure_sac | SpellDescription$ 2—9 VERT Create five Treasure tokens. +SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 3 | SubAbility$ DBDraw | SpellDescription$ 10—19 VERT You gain 3 life and draw three cards. SVar:DBDraw:DB$ Draw | NumCards$ 3 -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Card | ChangeNum$ 1 | Shuffle$ False | RememberChanged$ True | SubAbility$ DBChangeZone1 | SpellDescription$ 20 VERT Search your library for a card. If it’s an artifact card, you may put it onto the battlefield. Otherwise, put that card into your hand. Then shuffle. +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Card | ChangeNum$ 1 | Shuffle$ False | RememberChanged$ True | SubAbility$ DBChangeZone1 | SpellDescription$ 20 VERT Search your library for a card. If it's an artifact card, you may put it onto the battlefield. Otherwise, put that card into your hand. Then shuffle. SVar:DBChangeZone1:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Battlefield | ConditionDefined$ Remembered | ConditionPresent$ Artifact | Optional$ True | ForgetChanged$ True | SubAbility$ DBChangeZone2 SVar:DBChangeZone2:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand | SubAbility$ DBShuffle SVar:DBShuffle:DB$ Shuffle | Defined$ You | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token & Ability$Sacrifice & Ability$LifeGain -Oracle:{4}, Sacrifice Treasure Chest: Roll a d20.\n1 | Trapped! — You lose 3 life.\n2-9 | Create five Treasure tokens.\n10-19 | You gain 3 life and draw three cards.\n20 | Search your library for a card. If it’s an artifact card, you may put it onto the battlefield. Otherwise, put that card into your hand. Then shuffle. +Oracle:{4}, Sacrifice Treasure Chest: Roll a d20.\n1 | Trapped! — You lose 3 life.\n2—9 | Create five Treasure tokens.\n10—19 | You gain 3 life and draw three cards.\n20 | Search your library for a card. If it's an artifact card, you may put it onto the battlefield. Otherwise, put that card into your hand. Then shuffle. diff --git a/forge-gui/res/cardsfolder/upcoming/danse_macabre.txt b/forge-gui/res/cardsfolder/upcoming/danse_macabre.txt index e3c531858fb..662d2d597b7 100644 --- a/forge-gui/res/cardsfolder/upcoming/danse_macabre.txt +++ b/forge-gui/res/cardsfolder/upcoming/danse_macabre.txt @@ -3,8 +3,8 @@ ManaCost:3 B B Types:Sorcery A:SP$ Sacrifice | Cost$ 3 B B | SacValid$ Creature.nonToken | Defined$ Player | RememberSacrificed$ True | SubAbility$ RollD20 | SacMessage$ nontoken creature | StackDescription$ SpellDescription | SpellDescription$ Each player sacrifices a nontoken creature. SVar:RollD20:DB$ RollDice | Sides$ 20 | Modifier$ Y | ResultSubAbilities$ 1-14:ChooseOne,Else:ChooseTwo | StackDescription$ SpellDescription | SpellDescription$ Roll a d20 and add the toughness of the creature you sacrificed this way. -SVar:ChooseOne:DB$ ChangeZone | ChangeType$ Creature.IsRemembered | ChangeNum$ 1 | Hidden$ True | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup | Mandatory$ True | StackDescription$ SpellDescription | SpellDescription$ 1-14 VERT Return a creature card put into a graveyard this way to the battlefield under your control. -SVar:ChooseTwo:DB$ ChangeZone | ChangeType$ Creature.IsRemembered | ChangeNum$ 2 | Hidden$ True | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ 15+ VERT Return up to two creature cards put into a graveyard this way to the battlefield under your control +SVar:ChooseOne:DB$ ChangeZone | ChangeType$ Creature.IsRemembered | ChangeNum$ 1 | Hidden$ True | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup | Mandatory$ True | StackDescription$ SpellDescription | SpellDescription$ 1—14 VERT Return a creature card put into a graveyard this way to the battlefield under your control. +SVar:ChooseTwo:DB$ ChangeZone | ChangeType$ Creature.IsRemembered | ChangeNum$ 2 | Hidden$ True | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup | StackDescription$ SpellDescription | SpellDescription$ 15+ VERT Return up to two creature cards put into graveyards this way to the battlefield under your control. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Y:RememberedLKI$FilterControlledBySourceController_CardToughness -Oracle:Each player sacrifices a nontoken creature. Roll a d20 and add the toughness of the creature you sacrificed this way.\n1-14 | Return a creature card put into a graveyard this way to the battlefield under your control.\n15+ | Return up to two creature cards put into a graveyard this way to the battlefield under your control \ No newline at end of file +Oracle:Each player sacrifices a nontoken creature. Roll a d20 and add the toughness of the creature you sacrificed this way.\n1—14 | Return a creature card put into a graveyard this way to the battlefield under your control.\n15+ | Return up to two creature cards put into graveyards this way to the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/w/wizards_spellbook.txt b/forge-gui/res/cardsfolder/w/wizards_spellbook.txt index 4f350aaf018..a0144c37322 100644 --- a/forge-gui/res/cardsfolder/w/wizards_spellbook.txt +++ b/forge-gui/res/cardsfolder/w/wizards_spellbook.txt @@ -3,9 +3,9 @@ ManaCost:5 U U Types:Artifact A:AB$ ChangeZone | Cost$ T | SorcerySpeed$ True | Origin$ Graveyard | Destination$ Exile | Mandatory$ True | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select target instant or sorcery card in a graveyard | RememberChanged$ True | Imprint$ True | SubAbility$ DBRollDice | SpellDescription$ Exile target instant or sorcery card from a graveyard. Roll a d20. Activate only as a sorcery. SVar:DBRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:PlayCopy,10-19:PlayCost1,20:PlayAny -SVar:PlayCopy:DB$ Play | Valid$ Card.IsRemembered+ExiledWithSource | ValidSA$ Spell | ValidZone$ Exile | Amount$ All | CopyCard$ True | Optional$ True | SubAbility$ DBCleanup | SpellDescription$ 1-9 VERT Copy that card. You may cast the copy. -SVar:PlayCost1:DB$ Play | Valid$ Card.IsRemembered+ExiledWithSource | ValidSA$ Spell | ValidZone$ Exile | Amount$ All | CopyCard$ True | Optional$ True | PlayCost$ 1 | SubAbility$ DBCleanup | SpellDescription$ 10-19 VERT Copy that card. You may cast the copy by paying {1} rather than paying its mana cost. +SVar:PlayCopy:DB$ Play | Valid$ Card.IsRemembered+ExiledWithSource | ValidSA$ Spell | ValidZone$ Exile | Amount$ All | CopyCard$ True | Optional$ True | SubAbility$ DBCleanup | SpellDescription$ 1—9 VERT Copy that card. You may cast the copy. +SVar:PlayCost1:DB$ Play | Valid$ Card.IsRemembered+ExiledWithSource | ValidSA$ Spell | ValidZone$ Exile | Amount$ All | CopyCard$ True | Optional$ True | PlayCost$ 1 | SubAbility$ DBCleanup | SpellDescription$ 10—19 VERT Copy that card. You may cast the copy by paying {1} rather than paying its mana cost. SVar:PlayAny:DB$ Play | Valid$ Card.IsImprinted+ExiledWithSource | ValidSA$ Spell | ValidZone$ Exile | Amount$ All | CopyCard$ True | Optional$ True | WithoutManaCost$ True | SubAbility$ DBCleanup | SpellDescription$ 20 VERT Copy each card exiled with Wizard's Spellbook. You may cast any number of the copies without paying their mana costs. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Graveyard -Oracle:{T}: Exile target instant or sorcery card from a graveyard. Roll a d20. Activate only as a sorcery.\n1-9 | Copy that card. You may cast the copy.\n10-19 | Copy that card. You may cast the copy by paying {1} rather than paying its mana cost.\n20 | Copy each card exiled with Wizard's Spellbook. You may cast any number of the copies without paying their mana costs. +Oracle:{T}: Exile target instant or sorcery card from a graveyard. Roll a d20. Activate only as a sorcery.\n1—9 | Copy that card. You may cast the copy.\n10—19 | Copy that card. You may cast the copy by paying {1} rather than paying its mana cost.\n20 | Copy each card exiled with Wizard's Spellbook. You may cast any number of the copies without paying their mana costs. diff --git a/forge-gui/tools/oracleScript.py b/forge-gui/tools/oracleScript.py index c2ded00f811..c2f4426e395 100644 --- a/forge-gui/tools/oracleScript.py +++ b/forge-gui/tools/oracleScript.py @@ -34,7 +34,7 @@ def load_oracle_cards(): oracle_json = json.load(oracle_file) oracle_cards = {} for card in oracle_json: - if (card['layout'] == 'token'): + if (card['layout'] == 'token' and card['type_line'] != 'Dungeon'): continue name = unidecode.unidecode(card['name']) oracle_cards[name] = card @@ -102,6 +102,8 @@ def write_card_script(cardfile, lines, oracle_texts): def update_oracle(name, lines, oracle_text, new_oracle, type_line, alternate_line): updated = False # Update type line first + type_line = type_line.replace('Summon', 'Creature') + type_line = type_line.replace('’', "'") for i, line in enumerate(lines): if i <= alternate_line: continue @@ -131,6 +133,7 @@ def update_oracle(name, lines, oracle_text, new_oracle, type_line, alternate_lin for org_line, new_line in zip(oracle_lines, new_lines): org_line = org_line.replace(name, 'CARDNAME') org_line = org_line.replace(nickname, 'NICKNAME') + org_line = org_line.replace('|', 'VERT') if org_line.find(':') != -1: if org_line.find('"') == -1 or org_line.find('"') > org_line.find(':'): org_line = org_line[org_line.find(':') + 1:].lstrip() @@ -140,6 +143,7 @@ def update_oracle(name, lines, oracle_text, new_oracle, type_line, alternate_lin continue new_line = new_line.replace(name, 'CARDNAME') new_line = new_line.replace(nickname, 'NICKNAME') + new_line = new_line.replace('|', 'VERT') if new_line.find(':') != -1: if new_line.find('"') == -1 or new_line.find('"') > new_line.find(':'): new_line = new_line[new_line.find(':') + 1:].lstrip()