diff --git a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java index 7b34f99ce55..bed4d336a55 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java @@ -382,7 +382,7 @@ public class SpellSmithScene extends UIScene { public void pullCard(boolean usingShards) { PaperCard P = cardPool.get(MyRandom.getRandom().nextInt(cardPool.size())); //Don't use the standard RNG. - Reward R = new Reward(P); + Reward R = new Reward(CardUtil.getCardByNameAndEdition(P.getCardName(), edition)); Current.player().addReward(R); if (usingShards) { Current.player().takeShards(currentShardPrice); diff --git a/forge-gui/res/cardsfolder/upcoming/memory_worm.txt b/forge-gui/res/cardsfolder/upcoming/memory_worm.txt new file mode 100644 index 00000000000..fcb873060e8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/memory_worm.txt @@ -0,0 +1,11 @@ +Name:Memory Worm +ManaCost:1 R +Types:Creature Alien Worm +PT:1/1 +T:Mode$ SpellCast | ValidCard$ Card.wasNotCastFromYourHand | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Paradox — Whenever you cast a spell from anywhere other than your hand, CARDNAME deals 2 damage to target player. That player discards a card, then draws a card. Put a +1/+1 counter on CARDNAME. +SVar:TrigDamage:DB$ DealDamage | NumDmg$ 2 | ValidTgts$ Player | SubAbility$ DBDiscard +SVar:DBDiscard:DB$ Discard | Defined$ TargetedPlayer | Mode$ TgtChoose | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ TargetedPlayer | SubAbility$ DBPutCounter +SVar:DBPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters|Discard +Oracle:Paradox — Whenever you cast a spell from anywhere other than your hand, Memory Worm deals 2 damage to target player. That player discards a card, then draws a card. Put a +1/+1 counter on Memory Worm. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/mondassian_colony_ship.txt b/forge-gui/res/cardsfolder/upcoming/mondassian_colony_ship.txt new file mode 100644 index 00000000000..4d83c7b7685 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mondassian_colony_ship.txt @@ -0,0 +1,10 @@ +Name:Mondassian Colony Ship +ManaCost:no cost +Types:Plane Spacecraft +T:Mode$ Attacks | ValidCard$ Creature | TriggerZones$ Command | Execute$ AnimosityPump | TriggerDescription$ Whenever a creature attacks, it gets +1/+1 until end of turn for each other creature its controller controls that shares a creature type with it. +SVar:AnimosityPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | NumAtt$ X | NumDef$ X +SVar:X:Count$Valid Creature.NotTriggeredAttacker+ControlledBy AttackingPlayer+sharesCreatureTypeWith TriggeredAttacker +T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ TrigSetState | TriggerDescription$ Whenever chaos ensues, turn target creature face down. It becomes a 2/2 Cyberman artifact creature. +SVar:TrigSetState:DB$ SetState | ValidTgts$ Creature | Mode$ TurnFace | FaceDownSetType$ Artifact & Creature & Cyberman | FaceDownPower$ 2 | FaceDownToughness$ 2 +DeckHas:Type$Cyberman +Oracle:Whenever a creature attacks, it gets +1/+1 until end of turn for each other creature its controller controls that shares a creature type with it.\nWhenever chaos ensues, turn target creature face down. It becomes a 2/2 Cyberman artifact creature. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/nanogene_conversion.txt b/forge-gui/res/cardsfolder/upcoming/nanogene_conversion.txt new file mode 100644 index 00000000000..3bc3dd9da37 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/nanogene_conversion.txt @@ -0,0 +1,7 @@ +Name:Nanogene Conversion +ManaCost:3 U +Types:Sorcery +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | SubAbility$ DBRepeatEach | StackDescription$ Each other creature becomes a copy of {c:Targeted} until end of turn, except those creatures aren't legendary | SpellDescription$ Choose target creature you control. Each other creature becomes a copy of that creature until end of turn, except it isn't legendary. +SVar:DBRepeatEach:DB$ RepeatEach | RepeatCards$ Creature.NotDefinedTargeted | RepeatSubAbility$ DBClone +SVar:DBClone:DB$ Clone | Defined$ Targeted | CloneTarget$ Remembered | NonLegendary$ True | Duration$ UntilEndOfTurn +Oracle:Choose target creature you control. Each other creature becomes a copy of that creature until end of turn, except it isn't legendary. diff --git a/forge-gui/res/cardsfolder/upcoming/new_new_york.txt b/forge-gui/res/cardsfolder/upcoming/new_new_york.txt new file mode 100644 index 00000000000..24513747379 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/new_new_york.txt @@ -0,0 +1,10 @@ +Name:New New York +ManaCost:no cost +Types:Plane New Earth +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigAnimate | TriggerDescription$ At the beginning of combat on your turn, until end of turn, noncreature artifacts you control become 3/3 Vehicles in addition to their other types and gain flying, haste, and crew 1. +SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Artifact.nonCreature+YouCtrl | Types$ Vehicle | Power$ 3 | Toughness$ 3 | Keywords$ Flying & Haste & Crew:1 +T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ TrigToken | TriggerDescription$ Whenever chaos ensues, create a Treasure token and a 2/2 white Alien creature token. +SVar:TrigToken:DB$ Token | TokenScript$ c_a_treasure_sac,w_2_2_alien | TokenOwner$ You +DeckHas:Type$Alien|Treasure & Ability$Token +DeckHints:Type$Artifact +Oracle:At the beginning of combat on your turn, until end of turn, noncreature artifacts you control become 3/3 Vehicles in addition to their other types and gain flying, haste, and crew 1.\nWhenever chaos ensues, create a Treasure token and a 2/2 white Alien creature token. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/ominous_cemetery.txt b/forge-gui/res/cardsfolder/upcoming/ominous_cemetery.txt new file mode 100644 index 00000000000..acd9912baf6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ominous_cemetery.txt @@ -0,0 +1,6 @@ +Name:Ominous Cemetery +ManaCost:no cost +Types:Land +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 1 | SpellDescription$ Add {C}. +A:AB$ ChangeZone | Cost$ 5 T Exile<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Library | LibraryPosition$ 0 | Shuffle$ True | SpellDescription$ Target creature's owner shuffles it into their library. +Oracle:{T}: Add {C}.\n{5}, {T}, Exile Ominous Cemetery: Target creature's owner shuffles it into their library. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/renegade_silent.txt b/forge-gui/res/cardsfolder/upcoming/renegade_silent.txt new file mode 100644 index 00000000000..a422575bbe8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/renegade_silent.txt @@ -0,0 +1,10 @@ +Name:Renegade Silent +ManaCost:3 U +Types:Creature Alien Horror +PT:3/3 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGoad | TriggerDescription$ At the beginning of your end step, goad up to one target creature you don't control and put a +1/+1 counter on CARDNAME. CARDNAME phases out. (Treat it and anything attached to it as though they don't exist until your next turn.) +SVar:TrigGoad:DB$ Goad | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select up to one target creature you don't control | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBPutCounter +SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPhase +SVar:DBPhase:DB$ Phases | Defined$ Self +DeckHas:Ability$Counters +Oracle:At the beginning of your end step, goad up to one target creature you don't control and put a +1/+1 counter on Renegade Silent. Renegade Silent phases out. (Treat it and anything attached to it as though they don't exist until your next turn.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/return_the_past.txt b/forge-gui/res/cardsfolder/upcoming/return_the_past.txt new file mode 100644 index 00000000000..1eb714fed72 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/return_the_past.txt @@ -0,0 +1,7 @@ +Name:Return the Past +ManaCost:4 R R +Types:Enchantment +S:Mode$ Continuous | Affected$ Instant.YouOwn,Sorcery.YouOwn | AffectedZone$ Graveyard | AddKeyword$ Flashback | Condition$ PlayerTurn | Description$ As long as it's your turn, each instant and sorcery card in your graveyard has flashback. Its flashback cost is equal to its mana cost. +DeckHas:Ability$Graveyard +DeckHints:Type$Instant|Sorcery +Oracle:As long as it's your turn, each instant and sorcery card in your graveyard has flashback. Its flashback cost is equal to its mana cost. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/rms_titanic.txt b/forge-gui/res/cardsfolder/upcoming/rms_titanic.txt new file mode 100644 index 00000000000..208f759343f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rms_titanic.txt @@ -0,0 +1,13 @@ +Name:RMS Titanic +ManaCost:3 R +Types:Legendary Artifact Vehicle +PT:7/1 +K:Flying +K:Trample +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSac | TriggerDescription$ When CARDNAME deals combat damage to a player, sacrifice it and create that many Treasure tokens. +SVar:TrigSac:DB$ Sacrifice | SacValid$ Self | SubAbility$ DBToken +SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ c_a_treasure_sac | TokenOwner$ You +SVar:X:TriggerCount$DamageAmount +K:Crew:3 +DeckHas:Ability$Sacrifice|Token & Type$Treasure +Oracle:Flying, trample\nWhen RMS Titanic deals combat damage to a player, sacrifice it and create that many Treasure tokens.\nCrew 3 (Tap any number of creatures you control with total power 3 or more: This Vehicle becomes an artifact creature until end of turn.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/the_cyber_controller.txt b/forge-gui/res/cardsfolder/upcoming/the_cyber_controller.txt new file mode 100644 index 00000000000..8489a68f227 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/the_cyber_controller.txt @@ -0,0 +1,13 @@ +Name:The Cyber-Controller +ManaCost:X U U B +Types:Legendary Artifact Creature Cyberman +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill1 | TriggerDescription$ When CARDNAME enters the battlefield, each opponent mills X cards. Put all creature cards milled this way onto the battlefield face down under your control. They're 2/2 Cyberman artifact creatures. +SVar:TrigMill1:DB$ Mill | Defined$ Opponent | NumCards$ X | RememberMilled$ True | SubAbility$ DBChangeZoneAll +SVar:DBChangeZoneAll:DB$ ChangeZone | Origin$ Graveyard,Exile | GainControl$ True | Destination$ Battlefield | Defined$ Remembered | FaceDown$ True | FaceDownPower$ 2 | FaceDownToughness$ 2 | FaceDownSetType$ Artifact & Creature & Cyberman | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +S:Mode$ Continuous | Affected$ Creature.Artifact+YouCtrl+Other | AddToughness$ 1 | AddPower$ 1 | Description$ Other artifact creatures you control get +1/+1. +SVar:X:Count$xPaid +DeckHas:Ability$Mill +DeckHints:Type$Artifact & Type$Creature +Oracle:When The Cyber-Controller enters the battlefield, each opponent mills X cards. Put all creature cards milled this way onto the battlefield face down under your control. They're 2/2 Cyberman artifact creatures.\nOther artifact creatures you control get +1/+1. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/the_sea_devils.txt b/forge-gui/res/cardsfolder/upcoming/the_sea_devils.txt new file mode 100644 index 00000000000..98f2b421eb0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/the_sea_devils.txt @@ -0,0 +1,11 @@ +Name:The Sea Devils +ManaCost:2 G +Types:Enchantment Saga +K:Saga:3:DBToken,DBToken,DBEffect +SVar:DBToken:DB$ Token | TokenScript$ g_2_2_alien_salamander_islandwalk | SpellDescription$ Create a 2/2 green Alien Salamander creature token with islandwalk. (It can't be blocked as long as defending player controls an Island.) +SVar:DBEffect:DB$ Effect | Triggers$ TrigDamage | SpellDescription$ Until end of turn, whenever a Salamander deals combat damage to a player, it deals that much damage to target creature that player controls. +SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Salamander | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDealDamage | TriggerDescription$ Whenever a Salamander deals combat damage to a player, it deals that much damage to target creature that player controls. +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature.ControlledBy TriggeredTarget | DamageSource$ TriggeredSource | NumDmg$ X | TgtPrompt$ Select target creature that player controls +SVar:X:TriggerCount$DamageAmount +DeckHas:Ability$Token & Type$Salamander|Alien +Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI, II — Create a 2/2 green Alien Salamander creature token with islandwalk. (It can't be blocked as long as defending player controls an Island.)\nIII —Until end of turn, whenever a Salamander deals combat damage to a player, it deals that much damage to target creature that player controls. diff --git a/forge-gui/res/cardsfolder/upcoming/zygon_infiltrator.txt b/forge-gui/res/cardsfolder/upcoming/zygon_infiltrator.txt new file mode 100644 index 00000000000..c46cbdef633 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/zygon_infiltrator.txt @@ -0,0 +1,8 @@ +Name:Zygon Infiltrator +ManaCost:2 U +Types:Creature Alien Shapeshifter Soldier +PT:3/2 +A:AB$ Tap | Cost$ 2 U | PrecostDesc$ Body-print - | SorcerySpeed$ True | ValidTgts$ Creature.Other | TgtPrompt$ Select another target creature | SubAbility$ DBCounter | SpellDescription$ Tap another target creature and put a stun counter on it. Zygon Infiltrator becomes a copy of that creature for as long as that creature remains tapped. Activate only as a sorcery. (If a permanent with a stun counter would become untapped, remove one from it instead.) +SVar:DBCounter:DB$ PutCounter | Defined$ Targeted | CounterType$ Stun | CounterNum$ 1 | SubAbility$ DBCopy +SVar:DBCopy:DB$ Clone | Defined$ Targeted | Duration$ UntilTargetedUntaps +Oracle:Body-print — {2}{U}: Tap another target creature and put a stun counter on it. Zygon Infiltrator becomes a copy of that creature for as long as that creature remains tapped. Activate only as a sorcery. (If a permanent with a stun counter would become untapped, remove one from it instead.) \ No newline at end of file diff --git a/forge-gui/res/lists/TypeLists.txt b/forge-gui/res/lists/TypeLists.txt index 3898ea16d23..7046a0e0561 100644 --- a/forge-gui/res/lists/TypeLists.txt +++ b/forge-gui/res/lists/TypeLists.txt @@ -464,6 +464,7 @@ Moag Mongseng Muraganda Necros +New Earth New Phyrexia Phyrexia Pyrulea diff --git a/forge-gui/res/tokenscripts/g_2_2_alien_salamander_islandwalk.txt b/forge-gui/res/tokenscripts/g_2_2_alien_salamander_islandwalk.txt new file mode 100644 index 00000000000..8dfae3847e1 --- /dev/null +++ b/forge-gui/res/tokenscripts/g_2_2_alien_salamander_islandwalk.txt @@ -0,0 +1,7 @@ +Name:Alien Salamander Token +ManaCost:no cost +Types:Creature Alien Salamander +Colors:green +PT:2/2 +K:Islandwalk +Oracle:Islandwalk