From 42cb1f55e1809ed9ff7d52acf6310ae55a0ca8ba Mon Sep 17 00:00:00 2001 From: Fulgur14 <54345051+Fulgur14@users.noreply.github.com> Date: Wed, 5 Nov 2025 15:43:27 +0100 Subject: [PATCH] TLE cards, 5th November (#9086) * Support Tale of Katara and Toph --- forge-game/src/main/java/forge/game/card/Card.java | 9 +++++++-- .../main/java/forge/game/trigger/TriggerTaps.java | 6 ++++++ .../res/cardsfolder/upcoming/bison_whistle.txt | 9 +++++++++ .../upcoming/cracked_earth_technique.txt | 8 ++++++++ .../upcoming/creeping_crystal_coating.txt | 12 ++++++++++++ forge-gui/res/cardsfolder/upcoming/deer_dog.txt | 6 ++++++ .../res/cardsfolder/upcoming/elephant_mandrill.txt | 12 ++++++++++++ .../cardsfolder/upcoming/founding_of_omashu.txt | 9 +++++++++ .../cardsfolder/upcoming/frantic_confrontation.txt | 6 ++++++ .../upcoming/freedom_fighter_recruit.txt | 7 +++++++ .../res/cardsfolder/upcoming/jet_rebel_leader.txt | 8 ++++++++ .../upcoming/kyoshi_warrior_exemplars.txt | 7 +++++++ .../cardsfolder/upcoming/longshot_rebel_bowman.txt | 10 ++++++++++ .../upcoming/moku_meandering_drummer.txt | 8 ++++++++ .../cardsfolder/upcoming/overwhelming_victory.txt | 7 +++++++ .../res/cardsfolder/upcoming/reckless_blaze.txt | 9 +++++++++ .../upcoming/smellerbee_rebel_fighter.txt | 14 ++++++++++++++ .../res/cardsfolder/upcoming/solid_ground.txt | 10 ++++++++++ .../res/cardsfolder/upcoming/storm_of_memories.txt | 8 ++++++++ .../upcoming/tale_of_katara_and_toph.txt | 8 ++++++++ .../res/cardsfolder/upcoming/the_art_of_tea.txt | 7 +++++++ .../upcoming/tui_and_la_moon_and_ocean.txt | 9 +++++++++ 22 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/bison_whistle.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/cracked_earth_technique.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/creeping_crystal_coating.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/deer_dog.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/elephant_mandrill.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/founding_of_omashu.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/frantic_confrontation.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/freedom_fighter_recruit.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/jet_rebel_leader.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/kyoshi_warrior_exemplars.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/longshot_rebel_bowman.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/moku_meandering_drummer.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/overwhelming_victory.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/reckless_blaze.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/smellerbee_rebel_fighter.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/solid_ground.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/storm_of_memories.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/tale_of_katara_and_toph.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/the_art_of_tea.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/tui_and_la_moon_and_ocean.txt diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index b692f3b899c..d3f34d699f6 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -195,6 +195,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr private boolean startedTheTurnUntapped = false; private boolean cameUnderControlSinceLastUpkeep = true; // for Echo private boolean tapped = false; + private int tappedThisTurn; private boolean sickness = true; // summoning sickness private boolean collectible = false; private boolean tokenCard = false; @@ -4897,8 +4898,11 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr runParams.put(AbilityKey.Attacker, attacker); runParams.put(AbilityKey.Cause, cause); runParams.put(AbilityKey.Player, tapper); + runParams.put(AbilityKey.FirstTime, tappedThisTurn == 0); getGame().getTriggerHandler().runTrigger(TriggerType.Taps, runParams, false); + tappedThisTurn++; + setTapped(true); view.updateNeedsTapAnimation(tapAnimation); getGame().fireEvent(new GameEventCardTapped(this, true)); @@ -7456,7 +7460,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } public void onCleanupPhase(final Player turn) { - resetExcessDamage(); + tappedThisTurn = 0; setRegeneratedThisTurn(0); resetShieldCount(); targetedFromThisTurn.clear(); @@ -7466,13 +7470,14 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr getDamageHistory().setCreatureAttackedLastTurnOf(turn, getDamageHistory().getCreatureAttacksThisTurn() > 0); getDamageHistory().newTurn(); damageReceivedThisTurn.clear(); + resetExcessDamage(); clearBlockedByThisTurn(); clearBlockedThisTurn(); - resetMayPlayTurn(); resetExertedThisTurn(); resetCrewed(); resetSaddled(); visitedThisTurn = false; + resetMayPlayTurn(); resetChosenModeTurn(); resetAbilityResolvedThisTurn(); } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java index a36e4a7cf85..502fd2b36f3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerTaps.java @@ -69,6 +69,12 @@ public class TriggerTaps extends Trigger { } } + if (hasParam("FirstTime")) { + if (!(boolean) runParams.get(AbilityKey.FirstTime)) { + return false; + } + } + return true; } diff --git a/forge-gui/res/cardsfolder/upcoming/bison_whistle.txt b/forge-gui/res/cardsfolder/upcoming/bison_whistle.txt new file mode 100644 index 00000000000..0163823b90c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/bison_whistle.txt @@ -0,0 +1,9 @@ +Name:Bison Whistle +ManaCost:1 G +Types:Artifact +A:AB$ PeekAndReveal | Cost$ 1 T | NoReveal$ True | RememberPeeked$ True | SubAbility$ DBChangeZone1 | SpellDescription$ Look at the top card of your library. If it's a Bison card, you may put it onto the battlefield. If it's a creature card, you may reveal it and put it into your hand. Otherwise, you may put it into your graveyard. +SVar:DBChangeZone1:DB$ Dig | DestinationZone$ Battlefield | DigNum$ 1 | ChangeNum$ All | Optional$ True | ConditionDefined$ Remembered | ConditionPresent$ Bison | ConditionCompare$ GE1 | ForgetChanged$ True | SubAbility$ DBChangeZone2 +SVar:DBChangeZone2:DB$ Dig | DestinationZone$ Hand | DigNum$ 1 | ChangeNum$ All | Optional$ True | ForceRevealToController$ True | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | ForgetChanged$ True | SubAbility$ DBChangeZone3 +SVar:DBChangeZone3:DB$ Dig | DestinationZone$ Graveyard | DigNum$ 1 | ChangeNum$ All | Optional$ True | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:{1}, {T}: Look at the top card of your library. If it's a Bison card, you may put it onto the battlefield. If it's a creature card, you may reveal it and put it into your hand. Otherwise, you may put it into your graveyard. diff --git a/forge-gui/res/cardsfolder/upcoming/cracked_earth_technique.txt b/forge-gui/res/cardsfolder/upcoming/cracked_earth_technique.txt new file mode 100644 index 00000000000..9f8988c9d40 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cracked_earth_technique.txt @@ -0,0 +1,8 @@ +Name:Cracked Earth Technique +ManaCost:4 G +Types:Sorcery Lesson +A:SP$ Earthbend | Num$ 3 | SubAbility$ DBEarthbend | SpellDescription$ Earthbend 3, then earthbend 3. You gain 3 life. (To earthbend 3, target land you control becomes a 0/0 creature with haste that's still a land. Put three +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) +SVar:DBEarthbend:DB$ Earthbend | Num$ 3 | SubAbility$ DBGainLife +SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 +DeckHas:Ability$LifeGain +Oracle:Earthbend 3, then earthbend 3. You gain 3 life. (To earthbend 3, target land you control becomes a 0/0 creature with haste that's still a land. Put three +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) diff --git a/forge-gui/res/cardsfolder/upcoming/creeping_crystal_coating.txt b/forge-gui/res/cardsfolder/upcoming/creeping_crystal_coating.txt new file mode 100644 index 00000000000..488ae4342e3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/creeping_crystal_coating.txt @@ -0,0 +1,12 @@ +Name:Creeping Crystal Coating +ManaCost:2 G +Types:Enchantment Aura +K:Flash +K:Enchant:Creature +SVar:AttachAILogic:Pump +S:Mode$ Continuous | Affected$ Card.EnchantedBy | AddToughness$ 3 | AddTrigger$ TrigAttack | AddSVar$ CCCToken & HasAttackEffect | Description$ Enchanted creature gets +0/+3 and has "Whenever this creature attacks, create a Food token." (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.") +SVar:TrigAttack:Mode$ Attacks | ValidCard$ Card.Self | Execute$ CCCToken | TriggerDescription$ Whenever this creature attacks, create a Food token. +SVar:CCCToken:DB$ Token | TokenScript$ c_a_food_sac +SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Sacrifice|LifeGain|Food +Oracle:Flash\nEnchant creature\nEnchanted creature gets +0/+3 and has "Whenever this creature attacks, create a Food token." (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.") diff --git a/forge-gui/res/cardsfolder/upcoming/deer_dog.txt b/forge-gui/res/cardsfolder/upcoming/deer_dog.txt new file mode 100644 index 00000000000..004dd12879a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/deer_dog.txt @@ -0,0 +1,6 @@ +Name:Deer-Dog +ManaCost:1 R +Types:Creature Elk Dog +PT:1/3 +K:First Strike +Oracle:First strike (This creature deals combat damage before creatures without first strike.) diff --git a/forge-gui/res/cardsfolder/upcoming/elephant_mandrill.txt b/forge-gui/res/cardsfolder/upcoming/elephant_mandrill.txt new file mode 100644 index 00000000000..300c9032094 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/elephant_mandrill.txt @@ -0,0 +1,12 @@ +Name:Elephant-Mandrill +ManaCost:2 G +Types:Creature Elephant Monkey +PT:3/2 +K:Reach +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When this creature enters, each player creates a Food token. (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.") +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ Player +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ At the beginning of combat on your turn, this creature gets +1/+1 until end of turn for each artifact your opponents control. +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +X +SVar:X:Count$Valid Artifact.OppCtrl +DeckHas:Ability$Token|Sacrifice|LifeGain|Food +Oracle:Reach\nWhen this creature enters, each player creates a Food token. (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.")\nAt the beginning of combat on your turn, this creature gets +1/+1 until end of turn for each artifact your opponents control. diff --git a/forge-gui/res/cardsfolder/upcoming/founding_of_omashu.txt b/forge-gui/res/cardsfolder/upcoming/founding_of_omashu.txt new file mode 100644 index 00000000000..357e58f57db --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/founding_of_omashu.txt @@ -0,0 +1,9 @@ +Name:Founding of Omashu +ManaCost:2 R +Types:Enchantment Saga +K:Chapter:3:DBToken,DBDraw,DBPumpAll +SVar:DBToken:DB$ Token | TokenAmount$ 2 | TokenScript$ w_1_1_ally | TokenOwner$ You | SpellDescription$ Create two 1/1 white Ally creature tokens. +SVar:DBDraw:AB$ Draw | Cost$ Discard<1/Card> | CostDesc$ | SpellDescription$ You may discard a card. If you do, draw a card. +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | SpellDescription$ Creatures you control get +1/+0 until end of turn. +DeckHas:Ability$Token +Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — Create two 1/1 white Ally creature tokens.\nII — You may discard a card. If you do, draw a card.\nIII — Creatures you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/frantic_confrontation.txt b/forge-gui/res/cardsfolder/upcoming/frantic_confrontation.txt new file mode 100644 index 00000000000..2499b1d657a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/frantic_confrontation.txt @@ -0,0 +1,6 @@ +Name:Frantic Confrontation +ManaCost:X R +Types:Instant +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ +X | KW$ First Strike & Trample | SpellDescription$ Target creature you control gets +X/+0 and gains first strike and trample until end of turn. +SVar:X:Count$xPaid +Oracle:Target creature you control gets +X/+0 and gains first strike and trample until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/freedom_fighter_recruit.txt b/forge-gui/res/cardsfolder/upcoming/freedom_fighter_recruit.txt new file mode 100644 index 00000000000..f4b0ed9f32c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/freedom_fighter_recruit.txt @@ -0,0 +1,7 @@ +Name:Freedom Fighter Recruit +ManaCost:1 R +Types:Creature Human Rebel Ally +PT:*/2 +S:Mode$ Continuous | CharacteristicDefining$ True | SetPower$ X | Description$ CARDNAME's power is equal to the number of creatures you control. +SVar:X:Count$Valid Creature.YouCtrl +Oracle:Freedom Fighter Recruit's power is equal to the number of creatures you control. diff --git a/forge-gui/res/cardsfolder/upcoming/jet_rebel_leader.txt b/forge-gui/res/cardsfolder/upcoming/jet_rebel_leader.txt new file mode 100644 index 00000000000..f663e8f7a15 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/jet_rebel_leader.txt @@ -0,0 +1,8 @@ +Name:Jet, Rebel Leader +ManaCost:3 W +Types:Legendary Creature Human Rebel Ally +PT:3/4 +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ Whenever NICKNAME attacks, look at the top five cards of your library. You may put a creature card with mana value 3 or less from among them onto the battlefield tapped and attacking. Put the rest on the bottom of your library in a random order. +SVar:TrigDig:DB$ Dig | DigNum$ 5 | ChangeNum$ 1 | ChangeValid$ Creature.cmcLE3 | DestinationZone$ Battlefield | Tapped$ True | Attacking$ True | DestinationZone2$ Library | LibraryPosition$ -1 | RestRandomOrder$ True | Optional$ True +SVar:HasAttackEffect:TRUE +Oracle:Whenever Jet attacks, look at the top five cards of your library. You may put a creature card with mana value 3 or less from among them onto the battlefield tapped and attacking. Put the rest on the bottom of your library in a random order. diff --git a/forge-gui/res/cardsfolder/upcoming/kyoshi_warrior_exemplars.txt b/forge-gui/res/cardsfolder/upcoming/kyoshi_warrior_exemplars.txt new file mode 100644 index 00000000000..f45a3476a01 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/kyoshi_warrior_exemplars.txt @@ -0,0 +1,7 @@ +Name:Kyoshi Warrior Exemplars +ManaCost:3 G +Types:Creature Human Warrior Ally +PT:4/3 +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Land.YouCtrl | PresentCompare$ GE8 | Execute$ TrigPumpAll | TriggerDescription$ Whenever this creature attacks, if you control eight or more lands, creatures you control get +2/+2 until end of turn. +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +2 | NumDef$ +2 +Oracle:Whenever this creature attacks, if you control eight or more lands, creatures you control get +2/+2 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/longshot_rebel_bowman.txt b/forge-gui/res/cardsfolder/upcoming/longshot_rebel_bowman.txt new file mode 100644 index 00000000000..bde9f67cf4d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/longshot_rebel_bowman.txt @@ -0,0 +1,10 @@ +Name:Longshot, Rebel Bowman +ManaCost:3 W +Types:Legendary Creature Human Rebel Ally +PT:3/3 +K:Reach +S:Mode$ ReduceCost | ValidCard$ Card.nonCreature | Type$ Spell | Activator$ You | Amount$ 1 | Description$ Noncreature spells you cast cost {1} less to cast. +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast a noncreature spell, NICKNAME deals 2 damage to each opponent. +SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 +SVar:BuffedBy:Card.nonCreature+nonLand +Oracle:Reach (This creature can block creatures with flying.)\nNoncreature spells you cast cost {1} less to cast.\nWhenever you cast a noncreature spell, Longshot deals 2 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/upcoming/moku_meandering_drummer.txt b/forge-gui/res/cardsfolder/upcoming/moku_meandering_drummer.txt new file mode 100644 index 00000000000..679f2aad78f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/moku_meandering_drummer.txt @@ -0,0 +1,8 @@ +Name:Moku, Meandering Drummer +ManaCost:1 R +Types:Legendary Creature Human Bard Ally +PT:2/2 +T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a noncreature spell, you may pay {1}. If you do, NICKNAME gets +2/+1 and creatures you control gain haste until end of turn. +SVar:TrigPump:AB$ Pump | Cost$ 1 | Defined$ Self | NumAtt$ +2 | NumDef$ +1 | SubAbility$ DBPumpAll +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Haste +Oracle:Whenever you cast a noncreature spell, you may pay {1}. If you do, Moku gets +2/+1 and creatures you control gain haste until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/overwhelming_victory.txt b/forge-gui/res/cardsfolder/upcoming/overwhelming_victory.txt new file mode 100644 index 00000000000..f2a647155e2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/overwhelming_victory.txt @@ -0,0 +1,7 @@ +Name:Overwhelming Victory +ManaCost:4 R +Types:Sorcery +A:SP$ DealDamage | ValidTgts$ Creature | NumDmg$ X | ExcessSVar$ Excess | SubAbility$ DBPumpAll | SpellDescription$ CARDNAME deals 5 damage to target creature. Each creature you control gains trample and gets +X/+0 until end of turn, where X is the amount of excess damage dealt this way. +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ +Excess +SVar:X:Count$xPaid +Oracle:Overwhelming Victory deals 5 damage to target creature. Each creature you control gains trample and gets +X/+0 until end of turn, where X is the amount of excess damage dealt this way. diff --git a/forge-gui/res/cardsfolder/upcoming/reckless_blaze.txt b/forge-gui/res/cardsfolder/upcoming/reckless_blaze.txt new file mode 100644 index 00000000000..6147586101e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/reckless_blaze.txt @@ -0,0 +1,9 @@ +Name:Reckless Blaze +ManaCost:3 R R +Types:Sorcery Lesson +A:SP$ DamageAll | ValidCards$ Creature | NumDmg$ 5 | ValidDescription$ each creature. | RememberDamaged$ True | SubAbility$ DBEffect | SpellDescription$ CARDNAME deals 5 damage to each creature. +SVar:DBEffect:DB$ Effect | Triggers$ DiesTrig | RememberObjects$ Remembered | SubAbility$ DBCleanup +SVar:DiesTrig:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+IsRemembered | Execute$ TrigMana | TriggerDescription$ Whenever a creature you control dealt damage this way dies this turn, add {R}. +SVar:TrigMana:DB$ Mana | Produced$ R | Amount$ 1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:Reckless Blaze deals 5 damage to each creature. Whenever a creature you control dealt damage this way dies this turn, add {R}. diff --git a/forge-gui/res/cardsfolder/upcoming/smellerbee_rebel_fighter.txt b/forge-gui/res/cardsfolder/upcoming/smellerbee_rebel_fighter.txt new file mode 100644 index 00000000000..b3898b6537a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/smellerbee_rebel_fighter.txt @@ -0,0 +1,14 @@ +Name:Smellerbee, Rebel Fighter +ManaCost:3 R +Types:Legendary Creature Human Rebel Ally +PT:3/3 +K:First Strike +S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddKeyword$ Haste | Description$ Other creatures you control have haste. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ Whenever NICKNAME attacks, you may discard your hand. If you do, draw cards equal to the number of attacking creatures. +SVar:TrigDraw:AB$ Draw | Cost$ Discard<1/Hand> | NumCards$ X +SVar:X:Count$Valid Creature.attacking +SVar:PlayMain1:TRUE +SVar:HasAttackEffect:TRUE +SVar:BuffedBy:Creature.attacking +DeckHas:Ability$Discard +Oracle:First strike\nOther creatures you control have haste.\nWhenever Smellerbee attacks, you may discard your hand. If you do, draw cards equal to the number of attacking creatures. diff --git a/forge-gui/res/cardsfolder/upcoming/solid_ground.txt b/forge-gui/res/cardsfolder/upcoming/solid_ground.txt new file mode 100644 index 00000000000..06ff6bfdc90 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/solid_ground.txt @@ -0,0 +1,10 @@ +Name:Solid Ground +ManaCost:3 G +Types:Enchantment +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEarthbend | TriggerDescription$ When this enchantment enters, earthbend 3. (Target land you control becomes a 0/0 creature with haste that's still a land. Put three +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.) +SVar:TrigEarthbend:DB$ Earthbend | Num$ 3 +R:Event$ AddCounter | ActiveZones$ Battlefield | ValidCard$ Permanent.YouCtrl+inZoneBattlefield | ValidCounterType$ P1P1 | ReplaceWith$ AddOneMoreCounters | Description$ If one or more +1/+1 counters would be put on a permanent you control, that many plus one +1/+1 counters are put on it instead. +SVar:AddOneMoreCounters:DB$ ReplaceCounter | ValidCounterType$ P1P1 | ChooseCounter$ True | Amount$ X +SVar:X:ReplaceCount$CounterNum/Plus.1 +DeckHints:Ability$Counters +Oracle:When this enchantment enters, earthbend 3. (Target land you control becomes a 0/0 creature with haste that's still a land. Put three +1/+1 counters on it. When it dies or is exiled, return it to the battlefield tapped.)\nIf one or more +1/+1 counters would be put on a permanent you control, that many plus one +1/+1 counters are put on it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/storm_of_memories.txt b/forge-gui/res/cardsfolder/upcoming/storm_of_memories.txt new file mode 100644 index 00000000000..59e5b18a2a1 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/storm_of_memories.txt @@ -0,0 +1,8 @@ +Name:Storm of Memories +ManaCost:2 R R R +Types:Sorcery +K:Storm +A:SP$ ChangeZone | DefinedPlayer$ You | Destination$ Exile | ChangeNum$ 1 | ChangeType$ Instant.YouOwn+cmcLE3,Sorcery.YouOwn+cmcLE3 | AtRandom$ True | Origin$ Graveyard | Hidden$ True | Mandatory$ True | RememberChanged$ True | SubAbility$ DBPlay | SpellDescription$ Exile an instant or sorcery card with mana value 3 or less from your graveyard at random. You may cast it without paying its mana cost. If that spell would be put into a graveyard, exile it instead. +SVar:DBPlay:DB$ Play | Defined$ Remembered | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | ReplaceGraveyard$ Exile | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:Storm (When you cast this spell, copy it for each spell cast before it this turn.)\nExile an instant or sorcery card with mana value 3 or less from your graveyard at random. You may cast it without paying its mana cost. If that spell would be put into a graveyard, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/tale_of_katara_and_toph.txt b/forge-gui/res/cardsfolder/upcoming/tale_of_katara_and_toph.txt new file mode 100644 index 00000000000..96297f7205d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tale_of_katara_and_toph.txt @@ -0,0 +1,8 @@ +Name:Tale of Katara and Toph +ManaCost:2 G +Types:Enchantment +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddTrigger$ TapTrig | Description$ Creatures you control have "Whenever this creature becomes tapped for the first time during each of your turns, put a +1/+1 counter on it." +SVar:TapTrig:Mode$ Taps | ValidCard$ Card.Self | FirstTime$ True | PlayerTurn$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever this creature becomes tapped for the first time during each of your turns, put a +1/+1 counter on it. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +SVar:PlayMain1:TRUE +Oracle:Creatures you control have "Whenever this creature becomes tapped for the first time during each of your turns, put a +1/+1 counter on it." diff --git a/forge-gui/res/cardsfolder/upcoming/the_art_of_tea.txt b/forge-gui/res/cardsfolder/upcoming/the_art_of_tea.txt new file mode 100644 index 00000000000..bc84f3ed5eb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/the_art_of_tea.txt @@ -0,0 +1,7 @@ +Name:The Art of Tea +ManaCost:1 G +Types:Instant Lesson +A:SP$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select up to one target creature you control | TargetMin$ 0 | TargetMax$ 1 | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBToken | SpellDescription$ Put a +1/+1 counter on up to one target creature you control. Create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.") +SVar:DBToken:DB$ Token | TokenScript$ c_a_food_sac +DeckHas:Ability$Counters|Token|Sacrifice|LifeGain|Food +Oracle:Put a +1/+1 counter on up to one target creature you control. Create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this token: You gain 3 life.") diff --git a/forge-gui/res/cardsfolder/upcoming/tui_and_la_moon_and_ocean.txt b/forge-gui/res/cardsfolder/upcoming/tui_and_la_moon_and_ocean.txt new file mode 100644 index 00000000000..c71fc753fdd --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tui_and_la_moon_and_ocean.txt @@ -0,0 +1,9 @@ +Name:Tui and La, Moon and Ocean +ManaCost:3 U +Types:Legendary Creature Fish Spirit +PT:3/3 +T:Mode$ Taps | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ Whenever NICKNAME becomes tapped, draw a card. +SVar:TrigDraw:DB$ Draw +T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigCounters | TriggerDescription$ Whenever NICKNAME become untapped, put a +1/+1 counter on them. +SVar:TrigCounters:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +Oracle:Whenever Tui and La become tapped, draw a card.\nWhenever Tui and La become untapped, put a +1/+1 counter on them.