From a38d8cc733fa427e7e4c064dd985c853c26916c6 Mon Sep 17 00:00:00 2001 From: Fulgur14 <54345051+Fulgur14@users.noreply.github.com> Date: Mon, 29 Jul 2024 07:04:38 +0200 Subject: [PATCH] The gift cards of BLB/BLC (#5712) * Add files via upload * Fix gift check so it works before paying * Update into_the_flood_maw.txt * Update longstalk_brawl.txt * Update mind_spiral.txt * Update octomancer.txt * Update parting_gust.txt * Update sazacaps_brew.txt * Update starforged_sword.txt * Update parting_gust.txt * Update scrapshooter.txt * Update starfall_invocation.txt * Update starforged_sword.txt * Update coiling_rebirth.txt --------- Co-authored-by: tool4EvEr Co-authored-by: tool4ever --- .../src/main/java/forge/game/card/CardProperty.java | 5 ++++- .../res/cardsfolder/upcoming/coiling_rebirth.txt | 11 +++++++++++ .../res/cardsfolder/upcoming/consumed_by_greed.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/cruelclaws_heist.txt | 11 +++++++++++ .../res/cardsfolder/upcoming/crumb_and_get_it.txt | 8 ++++++++ forge-gui/res/cardsfolder/upcoming/dawns_truce.txt | 9 +++++++++ forge-gui/res/cardsfolder/upcoming/dewdrop_cure.txt | 9 +++++++++ .../res/cardsfolder/upcoming/into_the_flood_maw.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/long_rivers_pull.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/longstalk_brawl.txt | 8 ++++++++ forge-gui/res/cardsfolder/upcoming/mind_spiral.txt | 11 +++++++++++ .../res/cardsfolder/upcoming/nocturnal_hunger.txt | 8 ++++++++ forge-gui/res/cardsfolder/upcoming/octomancer.txt | 9 +++++++++ forge-gui/res/cardsfolder/upcoming/parting_gust.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/peerless_recycling.txt | 8 ++++++++ .../res/cardsfolder/upcoming/perch_protection.txt | 12 ++++++++++++ forge-gui/res/cardsfolder/upcoming/sazacaps_brew.txt | 11 +++++++++++ forge-gui/res/cardsfolder/upcoming/scrapshooter.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/starfall_invocation.txt | 9 +++++++++ .../res/cardsfolder/upcoming/starforged_sword.txt | 10 ++++++++++ forge-gui/res/cardsfolder/upcoming/valley_rally.txt | 9 +++++++++ forge-gui/res/cardsfolder/upcoming/wear_down.txt | 8 ++++++++ forge-gui/res/cardsfolder/upcoming/wildfire_howl.txt | 10 ++++++++++ forge-gui/res/lists/TypeLists.txt | 1 + 24 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/coiling_rebirth.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/consumed_by_greed.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/cruelclaws_heist.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/crumb_and_get_it.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/dawns_truce.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/dewdrop_cure.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/into_the_flood_maw.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/long_rivers_pull.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/longstalk_brawl.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/mind_spiral.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/nocturnal_hunger.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/octomancer.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/parting_gust.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/peerless_recycling.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/perch_protection.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/sazacaps_brew.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/scrapshooter.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/starfall_invocation.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/starforged_sword.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/valley_rally.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/wear_down.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/wildfire_howl.txt 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 6820bab9fbd..1a8884b30eb 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1881,7 +1881,10 @@ public class CardProperty { return card.getCastSA().isEvoke(); } else if (property.equals("PromisedGift")) { // Do we need this isUnlinked thing like these others? - return card.hasPromisedGift(); + if (card.getCastSA() == null) { + return false; + } + return card.getCastSA().isOptionalCostPaid(OptionalCost.PromiseGift); } else if (property.equals("impended")) { if (card.getCastSA() == null) { return false; diff --git a/forge-gui/res/cardsfolder/upcoming/coiling_rebirth.txt b/forge-gui/res/cardsfolder/upcoming/coiling_rebirth.txt new file mode 100644 index 00000000000..ceba775df05 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/coiling_rebirth.txt @@ -0,0 +1,11 @@ +Name:Coiling Rebirth +ManaCost:3 B B +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature card in your graveyard | ValidTgts$ Creature.YouCtrl | SubAbility$ DBCopy | RememberChanged$ True | SpellDescription$ Return target creature card from your graveyard to the battlefield. Then if the gift was promised and that creature isn't legendary, create a token that's a copy of that creature, except it's 1/1. +SVar:DBCopy:DB$ CopyPermanent | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | Defined$ Remembered | SetPower$ 1 | SetToughness$ 1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$ValidStack Card.Self+PromisedGift/Plus.Y +SVar:Y:Count$Valid Card.IsRemembered+nonLegendary +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nReturn target creature card from your graveyard to the battlefield. Then if the gift was promised and that creature isn't legendary, create a token that's a copy of that creature, except it's 1/1. diff --git a/forge-gui/res/cardsfolder/upcoming/consumed_by_greed.txt b/forge-gui/res/cardsfolder/upcoming/consumed_by_greed.txt new file mode 100644 index 00000000000..9519e9c5ac0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/consumed_by_greed.txt @@ -0,0 +1,10 @@ +Name:Consumed by Greed +ManaCost:1 B B +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ Sacrifice | ValidTgts$ Opponent | SacValid$ Creature.greatestPowerControlledByTargeted | SacMessage$ the creature with the greatest power | SubAbility$ DBChangeZone | SpellDescription$ Target opponent sacrifices a creature with the greatest power among creatures they control. If the gift was promised, return target creature card from your graveyard to your hand. +SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target creature card in your graveyard | TargetMin$ X | TargetMax$ X | ValidTgts$ Creature.YouOwn +SVar:X:Count$ValidStack Card.Self+PromisedGift +DeckHas:Ability$Graveyard +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nTarget opponent sacrifices a creature with the greatest power among creatures they control. If the gift was promised, return target creature card from your graveyard to your hand. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/cruelclaws_heist.txt b/forge-gui/res/cardsfolder/upcoming/cruelclaws_heist.txt new file mode 100644 index 00000000000..2054d2243ac --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cruelclaws_heist.txt @@ -0,0 +1,11 @@ +Name:Cruelclaw's Heist +ManaCost:B B +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ ChangeZone | Origin$ Hand | Destination$ Exile | DefinedPlayer$ Targeted | ValidTgts$ Opponent | Chooser$ You | ChangeType$ Card.nonLand | ChangeNum$ 1 | IsCurse$ True | Mandatory$ True | StackDescription$ SpellDescription | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Target opponent reveals their hand. You choose a nonland card from it. Exile that card. If the gift was promised, you may cast that card for as long as it remains exiled, and mana of any type can be spent to cast it. +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | Duration$ Permanent | ForgetOnMoved$ Exile | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | SubAbility$ DBCleanup +SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayPlayIgnoreType$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ You may cast that card and you may spend mana as though it were mana of any type to cast it. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:PlayMain1:TRUE +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nTarget opponent reveals their hand. You choose a nonland card from it. Exile that card. If the gift was promised, you may cast that card for as long as it remains exiled, and mana of any type can be spent to cast it. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/crumb_and_get_it.txt b/forge-gui/res/cardsfolder/upcoming/crumb_and_get_it.txt new file mode 100644 index 00000000000..def236080b9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/crumb_and_get_it.txt @@ -0,0 +1,8 @@ +Name:Crumb and Get It +ManaCost:W +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ Promised | GiftDescription$ a Food +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +2 | NumDef$ +2 | SubAbility$ DBPump | SpellDescription$ Target creature you control gets +2/+2 until end of turn. If the gift was promised, that creature also gains indestructible until end of turn. +SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Indestructible | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 +Oracle:Gift a Food (You may promise an opponent a gift as you cast this spell. If you do, they create a Food token before its other effects. It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\nTarget creature you control gets +2/+2 until end of turn. If the gift was promised, that creature also gains indestructible until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/dawns_truce.txt b/forge-gui/res/cardsfolder/upcoming/dawns_truce.txt new file mode 100644 index 00000000000..552e25d3148 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dawns_truce.txt @@ -0,0 +1,9 @@ +Name:Dawn's Truce +ManaCost:1 W +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ Pump | Defined$ You | KW$ Hexproof | SubAbility$ DBPumpAll1 | SpellDescription$ You and permanents you control gain hexproof until end of turn. If the gift was promised, permanents you control also gain indestructible until end of turn. +SVar:DBPumpAll1:DB$ PumpAll | ValidCards$ Permanent.YouCtrl | KW$ Hexproof | SubAbility$ DBPumpAll2 +SVar:DBPumpAll2:DB$ PumpAll | ValidCards$ Permanent.YouCtrl | KW$ Indestructible | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nYou and permanents you control gain hexproof until end of turn. If the gift was promised, permanents you control also gain indestructible until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/dewdrop_cure.txt b/forge-gui/res/cardsfolder/upcoming/dewdrop_cure.txt new file mode 100644 index 00000000000..7e9a20698b9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dewdrop_cure.txt @@ -0,0 +1,9 @@ +Name:Dewdrop Cure +ManaCost:2 W +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Choose target creature card with mana value 2 or less in your graveyard | ValidTgts$ Creature.YouOwn+cmcLE2 | TargetMin$ 0 | TargetMax$ X | SpellDescription$ Return up to two target creature cards each with mana value 2 or less from your graveyard to the battlefield. If the gift was promised, instead return up to three target creature cards each with mana value 2 or less from your graveyard to the battlefield. +SVar:X:Count$ValidStack Card.Self+PromisedGift/Plus.2 +DeckHints:Ability$Graveyard|Discard +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nReturn up to two target creature cards each with mana value 2 or less from your graveyard to the battlefield. If the gift was promised, instead return up to three target creature cards each with mana value 2 or less from your graveyard to the battlefield. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/into_the_flood_maw.txt b/forge-gui/res/cardsfolder/upcoming/into_the_flood_maw.txt new file mode 100644 index 00000000000..2659aebb0c3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/into_the_flood_maw.txt @@ -0,0 +1,10 @@ +Name:Into the Flood Maw +ManaCost:U +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +A:SP$ ChangeZone | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | Origin$ Battlefield | Destination$ Hand | TargetMin$ X | TargetMax$ X | SubAbility$ DBChangeZone | SpellDescription$ Return target creature an opponent controls to its owner's hand. If the gift was promised, instead return target nonland permanent an opponent controls to its owner's hand. +SVar:DBChangeZone:DB$ ChangeZone | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | Origin$ Battlefield | Destination$ Hand | TargetMin$ Y | TargetMax$ Y +SVar:X:Count$Compare Y EQ1.0.1 +SVar:Y:Count$ValidStack Card.Self+PromisedGift +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, they create a tapped 1/1 blue Fish creature token before its other effects.)\nReturn target creature an opponent controls to its owner's hand. If the gift was promised, instead return target nonland permanent an opponent controls to its owner's hand. diff --git a/forge-gui/res/cardsfolder/upcoming/long_rivers_pull.txt b/forge-gui/res/cardsfolder/upcoming/long_rivers_pull.txt new file mode 100644 index 00000000000..ad34788b695 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/long_rivers_pull.txt @@ -0,0 +1,10 @@ +Name:Long River's Pull +ManaCost:U U +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target creature spell | ValidTgts$ Creature | TargetMin$ X | TargetMax$ X | SubAbility$ DBCounter | SpellDescription$ Counter target creature spell. If the gift was promised, instead counter target spell. +SVar:DBCounter:DB$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | TargetMin$ Y | TargetMax$ Y +SVar:X:Count$Compare Y EQ1.0.1 +SVar:Y:Count$ValidStack Card.Self+PromisedGift +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nCounter target creature spell. If the gift was promised, instead counter target spell. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/longstalk_brawl.txt b/forge-gui/res/cardsfolder/upcoming/longstalk_brawl.txt new file mode 100644 index 00000000000..615a91ebed6 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/longstalk_brawl.txt @@ -0,0 +1,8 @@ +Name:Longstalk Brawl +ManaCost:G +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +A:SP$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBFight | SpellDescription$ Choose target creature you control and target creature you don't control. Put a +1/+1 counter on the creature you control if the gift was promised. Then those creatures fight each other. +SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Choose target creature you don't control +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, they create a tapped 1/1 blue Fish creature token before its other effects.)\nChoose target creature you control and target creature you don't control. Put a +1/+1 counter on the creature you control if the gift was promised. Then those creatures fight each other. diff --git a/forge-gui/res/cardsfolder/upcoming/mind_spiral.txt b/forge-gui/res/cardsfolder/upcoming/mind_spiral.txt new file mode 100644 index 00000000000..e345e7bc7a9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mind_spiral.txt @@ -0,0 +1,11 @@ +Name:Mind Spiral +ManaCost:4 U +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +A:SP$ Draw | NumCards$ 3 | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBTap | SpellDescription$ Target player draws three cards. If the gift was promised, tap target creature an opponent controls and put a stun counter on it. (If a permanent with a stun counter would become untapped, remove one from it instead.) +SVar:DBTap:DB$ Tap | ValidTgts$ Creature.OppCtrl | TargetMin$ X | TargetMax$ X | SubAbility$ DBCounter +SVar:DBCounter:DB$ PutCounter | Defined$ ParentTarget | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | CounterType$ Stun | CounterNum$ 1 +SVar:X:Count$ValidStack Card.Self+PromisedGift +DeckHas:Ability$Counters +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, they create a tapped 1/1 blue Fish creature token before its other effects.)\nTarget player draws three cards. If the gift was promised, tap target creature an opponent controls and put a stun counter on it. (If a permanent with a stun counter would become untapped, remove one from it instead.) diff --git a/forge-gui/res/cardsfolder/upcoming/nocturnal_hunger.txt b/forge-gui/res/cardsfolder/upcoming/nocturnal_hunger.txt new file mode 100644 index 00000000000..f33b6269090 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/nocturnal_hunger.txt @@ -0,0 +1,8 @@ +Name:Nocturnal Hunger +ManaCost:2 B +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ Promised | GiftDescription$ a Food +A:SP$ Destroy | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBLoseLife | SpellDescription$ Destroy target creature. If the gift wasn't promised, you lose 2 life. +SVar:DBLoseLife:DB$ LoseLife | Defined$ You | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ0 | LifeAmount$ 2 +Oracle:Gift a Food (You may promise an opponent a gift as you cast this spell. If you do, they create a Food token before its other effects. It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\nDestroy target creature. If the gift wasn't promised, you lose 2 life. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/octomancer.txt b/forge-gui/res/cardsfolder/upcoming/octomancer.txt new file mode 100644 index 00000000000..e6775c98437 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/octomancer.txt @@ -0,0 +1,9 @@ +Name:Octomancer +ManaCost:3 G U +Types:Creature Frog Druid +PT:3/3 +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_8_8_octopus | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ an Octopus +T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ DBCopy | TriggerDescription$ At the beginning of each end step, create a token that's a copy of target creature token that entered the battlefield this turn. +SVar:TrigCopy:DB$ CopyPermanent | ValidTgts$ Permanent.Creature+token+ThisTurnEntered | TgtPrompt$ Select target creature token that entered the battlefield this turn | NumCopies$ 1 +Oracle:Gift an Octopus (You may promise an opponent a gift as you cast this spell. If you do, when it enters, they create an 8/8 blue Octopus creature token.)\nAt the beginning of each end step, create a token that's a copy of target creature token that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/parting_gust.txt b/forge-gui/res/cardsfolder/upcoming/parting_gust.txt new file mode 100644 index 00000000000..bafe658c429 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/parting_gust.txt @@ -0,0 +1,10 @@ +Name:Parting Gust +ManaCost:1 W +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +A:SP$ ChangeZone | ValidTgts$ Creature.nonToken | Origin$ Battlefield | Destination$ Exile | TgtPrompt$ Select target nontoken creature | RememberChanged$ True | SubAbility$ DelTrig | SpellDescription$ Exile target nontoken creature. If the gift wasn't promised, return that creature to the battlefield under its owner's control with a +1/+1 counter on it at the beginning of the next end step. +SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ RememberedLKI | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ0 | TriggerDescription$ Return exiled card to the battlefield with a +1/+1 counter on it. | SubAbility$ DBCleanup +SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Exile | Destination$ Battlefield | WithCountersType$ P1P1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, they create a tapped 1/1 blue Fish creature token before its other effects.)\nExile target nontoken creature. If the gift wasn't promised, return that creature to the battlefield under its owner's control with a +1/+1 counter on it at the beginning of the next end step. diff --git a/forge-gui/res/cardsfolder/upcoming/peerless_recycling.txt b/forge-gui/res/cardsfolder/upcoming/peerless_recycling.txt new file mode 100644 index 00000000000..69d56c62bd8 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/peerless_recycling.txt @@ -0,0 +1,8 @@ +Name:Peerless Recycling +ManaCost:1 G +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TargetMin$ X | TargetMax$ X | TgtPrompt$ Choose target permanent card in your graveyard | ValidTgts$ Permanent.YouCtrl | SpellDescription$ Return target permanent card from your graveyard to your hand. If the gift was promised, instead return two target permanent cards from your graveyard to your hand. +SVar:X:Count$ValidStack Card.Self+PromisedGift/Plus.1 +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nReturn target permanent card from your graveyard to your hand. If the gift was promised, instead return two target permanent cards from your graveyard to your hand. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/perch_protection.txt b/forge-gui/res/cardsfolder/upcoming/perch_protection.txt new file mode 100644 index 00000000000..5a00f89ad1e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/perch_protection.txt @@ -0,0 +1,12 @@ +Name:Perch Protection +ManaCost:4 W W +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ AddTurn | Defined$ Promised | NumTurns$ 1 | GiftDescription$ an extra turn +A:SP$ Token | TokenAmount$ 4 | TokenScript$ u_2_2_bird_flying | TokenOwner$ You | SubAbility$ DBPhases | SpellDescription$ Create four 2/2 blue Bird creature tokens with flying. If the gift was promised, all permanents you control phase out, and until your next turn, your life total can't change and you gain protection from everything. Exile CARDNAME. +SVar:DBPhases:DB$ Phases | Defined$ Valid Permanent.YouCtrl | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | Duration$ UntilYourNextTurn | StaticAbilities$ STCantChange | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ You | Duration$ UntilYourNextTurn | KW$ Protection from everything | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | SubAbility$ DBChange +SVar:STCantChange:Mode$ CantChangeLife | ValidPlayer$ You | Description$ Your life total can't change. +SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile +Oracle:Gift an extra turn (You may promise an opponent a gift as you cast this spell. If you do, they take an extra turn after this one.)\nCreate four 2/2 blue Bird creature tokens with flying. If the gift was promised, all permanents you control phase out, and until your next turn, your life total can't change and you gain protection from everything.\nExile Perch Protection. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/sazacaps_brew.txt b/forge-gui/res/cardsfolder/upcoming/sazacaps_brew.txt new file mode 100644 index 00000000000..c90d8be6966 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sazacaps_brew.txt @@ -0,0 +1,11 @@ +Name:Sazacap's Brew +ManaCost:1 R +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +A:SP$ Draw | Cost$ 1 R Discard<1/Card> | CostDesc$ As an additional cost to cast this spell, discard a card. | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBPump | SpellDescription$ Target player draws two cards. If the gift was promised, target creature you control gets +2/+0 until end of turn. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TargetMin$ X | TargetMax$ X | TgtPrompt$ Select target creature you control | NumAtt$ +2 +SVar:X:Count$ValidStack Card.Self+PromisedGift +DeckHas:Ability$Discard +DeckHints:Keyword$Madness & Ability$Delirium +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, they create a tapped 1/1 blue Fish creature token before its other effects.)\nAs an additional cost to cast this spell, discard a card.\nTarget player draws two cards. If the gift was promised, target creature you control gets +2/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/scrapshooter.txt b/forge-gui/res/cardsfolder/upcoming/scrapshooter.txt new file mode 100644 index 00000000000..0934688bba7 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/scrapshooter.txt @@ -0,0 +1,10 @@ +Name:Scrapshooter +ManaCost:1 G G +Types:Creature Raccoon Archer +PT:4/4 +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +K:Reach +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+PromisedGift | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters, if the gift was promised, destroy target artifact or enchantment an opponent controls. +SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact.OppCtrl,Enchantment.OppCtrl | TgtPrompt$ Select target artifact or enchantment an opponent controls. +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, when it enters, they draw a card.)\nReach\nWhen Scrapshooter enters, if the gift was promised, destroy target artifact or enchantment an opponent controls. diff --git a/forge-gui/res/cardsfolder/upcoming/starfall_invocation.txt b/forge-gui/res/cardsfolder/upcoming/starfall_invocation.txt new file mode 100644 index 00000000000..7d2acf6bb16 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/starfall_invocation.txt @@ -0,0 +1,9 @@ +Name:Starfall Invocation +ManaCost:3 W W +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ DestroyAll | ValidCards$ Creature | RememberDestroyed$ True | SubAbility$ DBReturn | SpellDescription$ Destroy all creatures. If the gift was promised, return a creature card put into your graveyard this way to the battlefield under your control. +SVar:DBReturn:DB$ ChangeZone | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | ChangeType$ Creature.nonToken+IsRemembered+YouOwn | ChangeNum$ 1 | Hidden$ True | Mandatory$ True | Origin$ Graveyard | Destination$ Battlefield | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nDestroy all creatures. If the gift was promised, return a creature card put into your graveyard this way to the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/upcoming/starforged_sword.txt b/forge-gui/res/cardsfolder/upcoming/starforged_sword.txt new file mode 100644 index 00000000000..63c877b85f4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/starforged_sword.txt @@ -0,0 +1,10 @@ +Name:Starforged Sword +ManaCost:4 +Types:Artifact Equipment +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+PromisedGift | Execute$ TrigAttach | TriggerDescription$ When CARDNAME enters, if the gift was promised, attach CARDNAME to target creature you control. +SVar:TrigAttach:DB$ Attach | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 3 | RemoveKeyword$ Flying | Description$ Equipped creature gets +3/+3 and loses flying. +K:Equip:3 +Oracle:Gift a tapped Fish (You may promise an opponent a gift as you cast this spell. If you do, when it enters, they create a tapped 1/1 blue Fish creature token.)\nWhen Starforged Sword enters, if the gift was promised, attach Starforged Sword to target creature you control.\nEquipped creature gets +3/+3 and loses flying.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/upcoming/valley_rally.txt b/forge-gui/res/cardsfolder/upcoming/valley_rally.txt new file mode 100644 index 00000000000..935c06a4093 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/valley_rally.txt @@ -0,0 +1,9 @@ +Name:Valley Rally +ManaCost:2 R +Types:Instant +K:Gift +SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ Promised | GiftDescription$ a Food +A:SP$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +2 | SubAbility$ DBPump | SpellDescription$ Creatures you control get +2/+0 until end of turn. If the gift was promised, target creature you control gains first strike until end of turn. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TargetMin$ X | TargetMax$ X | TgtPrompt$ Select target creature you control | KW$ First Strike +SVar:X:Count$ValidStack Card.Self+PromisedGift +Oracle:Gift a Food (You may promise an opponent a gift as you cast this spell. If you do, they create a Food token before its other effects. It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\nCreatures you control get +2/+0 until end of turn. If the gift was promised, target creature you control gains first strike until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/wear_down.txt b/forge-gui/res/cardsfolder/upcoming/wear_down.txt new file mode 100644 index 00000000000..4ff3b8c4501 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wear_down.txt @@ -0,0 +1,8 @@ +Name:Wear Down +ManaCost:1 G +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ Destroy | ValidTgts$ Artifact,Enchantment | TargetMin$ X | TargetMax$ X | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment. If the gift was promised, instead destroy two target artifacts and/or enchantments. +SVar:X:Count$ValidStack Card.Self+PromisedGift/Plus.1 +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nDestroy target artifact or enchantment. If the gift was promised, instead destroy two target artifacts and/or enchantments. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/wildfire_howl.txt b/forge-gui/res/cardsfolder/upcoming/wildfire_howl.txt new file mode 100644 index 00000000000..bac3f619bd4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wildfire_howl.txt @@ -0,0 +1,10 @@ +Name:Wildfire Howl +ManaCost:1 R R +Types:Sorcery +K:Gift +SVar:GiftAbility:DB$ Draw | NumCards$ 1 | Defined$ Promised | GiftDescription$ a card +A:SP$ DealDamage | ValidTgts$ Any | NumDmg$ 1 | TargetMin$ X | TargetMax$ X | SubAbility$ DBDamageAll | DamageMap$ True | SpellDescription$ CARDNAME deals 2 damage to each creature. If the gift was promised, instead CARDNAME deals 1 damage to any target and 2 damage to each creature. +SVar:DBDamageAll:DB$ DamageAll | NumDmg$ 2 | ValidCards$ Creature | ValidDescription$ each creature | SubAbility$ DBDamageResolve +SVar:DBDamageResolve:DB$ DamageResolve +SVar:X:Count$ValidStack Card.Self+PromisedGift +Oracle:Gift a card (You may promise an opponent a gift as you cast this spell. If you do, they draw a card before its other effects.)\nWildfire Howl deals 2 damage to each creature. If the gift was promised, instead Wildfire Howl deals 1 damage to any target and 2 damage to each creature. \ No newline at end of file diff --git a/forge-gui/res/lists/TypeLists.txt b/forge-gui/res/lists/TypeLists.txt index e27bbcc8af5..a484e3c07ba 100644 --- a/forge-gui/res/lists/TypeLists.txt +++ b/forge-gui/res/lists/TypeLists.txt @@ -18,6 +18,7 @@ Urza's [CreatureTypes] Advisor:Advisors Aetherborn:Aetherborn +Alien:Aliens Ally:Allies Angel:Angels Antelope:Antelopes