diff --git a/forge-game/src/main/java/forge/game/cost/CostExile.java b/forge-game/src/main/java/forge/game/cost/CostExile.java index fdabe26e597..9c2a519d683 100644 --- a/forge-game/src/main/java/forge/game/cost/CostExile.java +++ b/forge-game/src/main/java/forge/game/cost/CostExile.java @@ -152,7 +152,7 @@ public final String toString(int chosenX) { if (this.getAmount().equals("X")) { String x = chosenX > 0 ? Lang.getNumeral(chosenX) : "any number of"; - return String.format ("Exile %s %s from your %s", x, desc, origin); + return String.format("Exile %s %s from your %s", x, desc, origin); } return String.format("Exile %s from your %s", diff --git a/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java b/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java index 7a7a3696c66..74ce867df36 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java +++ b/forge-game/src/main/java/forge/game/cost/CostPayEnergy.java @@ -60,7 +60,11 @@ public Integer getMaxAmountX(final SpellAbility ability, final Player payer, fin public final String toString() { final StringBuilder sb = new StringBuilder(); sb.append("Pay "); - sb.append(Strings.repeat("{E}", Integer.parseInt(getAmount()))); + if (getAmount().equals("X")) { + sb.append("X {E}"); + } else { + sb.append(Strings.repeat("{E}", Integer.parseInt(getAmount()))); + } return sb.toString(); } diff --git a/forge-gui/res/cardsfolder/upcoming/cass_hand_of_vengeance.txt b/forge-gui/res/cardsfolder/upcoming/cass_hand_of_vengeance.txt new file mode 100644 index 00000000000..a8299b25006 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/cass_hand_of_vengeance.txt @@ -0,0 +1,11 @@ +Name:Cass, Hand of Vengeance +ManaCost:2 R W +Types:Legendary Creature Human Ranger +PT:4/3 +K:Vigilance +T:Mode$ ChangesZone | ValidCard$ Creature.Other+enchanted+YouCtrl,Creature.Other+equipped+YouCtrl,Card.Self+equipped,Card.Self+enchanted | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever NICKNAME or another creature you control dies, if it was enchanted or equipped, return any number of Aura cards that were attached to it from your graveyard to the battlefield attached to target creature, then attach any number of Equipment that were attached to it to that creature. +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | SubAbility$ DBChangeZone +SVar:DBChangeZone:DB$ ChangeZone | Hidden$ True | ChangeType$ Card | ChooseFromDefined$ AttachedTo TriggeredCardLKICopy.Aura | OptionalPrompt$ Select any number of Aura cards that were attached to it | Origin$ Graveyard | Destination$ Battlefield | AttachedTo$ Targeted | SubAbility$ DBAttach +SVar:DBAttach:DB$ Attach | Object$ AttachedTo TriggeredCardLKICopy.Equipment | Optional$ True | Defined$ Targeted +DeckNeeds:Type$Equipment|Aura +Oracle:Vigilance\nWhenever Cass or another creature you control dies, if it was enchanted or equipped, return any number of Aura cards that were attached to it from your graveyard to the battlefield attached to target creature, then attach any number of Equipment that were attached to it to that creature. diff --git a/forge-gui/res/cardsfolder/upcoming/codsworth_handy_helper.txt b/forge-gui/res/cardsfolder/upcoming/codsworth_handy_helper.txt new file mode 100644 index 00000000000..13de6da4171 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/codsworth_handy_helper.txt @@ -0,0 +1,11 @@ +Name:Codsworth, Handy Helper +ManaCost:2 W +Types:Legendary Artifact Creature Robot +PT:2/3 +S:Mode$ Continuous | Affected$ Card.IsCommander+YouCtrl | AddKeyword$ Ward:2 | Description$ Commanders you control have ward {2}. +A:AB$ Mana | Cost$ T | Produced$ W | RestrictValid$ Spell.Aura,Spell.Equipment | Amount$ 2 | SpellDescription$ Add {W}{W}. Spend this mana only to cast Aura and/or Equipment spells. +A:AB$ Pump | Cost$ T | ValidTgts$ Aura.YouCtrl,Equipment.YouCtrl | TgtPrompt$ Select target Aura or Equipment you control | SubAbility$ DBAttach | SorcerySpeed$ True | SpellDescription$ Attach target Aura or Equipment you control to target creature you control. Activate only as a sorcery. +SVar:DBAttach:DB$ Attach | Object$ ParentTarget | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control. +DeckNeeds:Type$Aura|Equipment +AI:RemoveDeck:NonCommander +Oracle:Commanders you control have ward {2}.\n{T}: Add {W}{W}. Spend this mana only to cast Aura and/or Equipment spells.\n{T}: Attach target Aura or Equipment you control to target creature you control. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/ed_e_lonesome_eyebot.txt b/forge-gui/res/cardsfolder/upcoming/ed_e_lonesome_eyebot.txt new file mode 100644 index 00000000000..8865643f3b5 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ed_e_lonesome_eyebot.txt @@ -0,0 +1,13 @@ +Name:ED-E, Lonesome Eyebot +ManaCost:3 +Types:Legendary Artifact Creature Robot +PT:2/1 +K:Flying +T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigPutCounter | CheckSVar$ Y | SVarCompare$ GTX | TriggerZones$ Battlefield | TriggerDescription$ ED-E My Love - Whenever you attack, if the number of attacking creatures is greater than the number of quest counters on CARDNAME, put a quest counter on it. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ QUEST | CounterNum$ 1 +A:AB$ Draw | Cost$ 2 Sac<1/NICKNAME> | NumCards$ 1 | SubAbility$ DBDraw | SpellDescription$ Draw a card, then draw an additional card for each quest counter on NICKNAME. +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X +SVar:Y:Count$Valid Creature.attacking+YouCtrl +SVar:X:Count$CardCounters.QUEST +DeckHas:Ability$Sacrifice|Counters +Oracle:Flying\nED-E My Love - Whenever you attack, if the number of attacking creatures is greater than the number of quest counters on ED-E, Lonesome Eyebot, put a quest counter on it.\n{2}, Sacrifice ED-E: Draw a card, then draw an additional card for each quest counter on ED-E. diff --git a/forge-gui/res/cardsfolder/upcoming/elder_arthur_maxson.txt b/forge-gui/res/cardsfolder/upcoming/elder_arthur_maxson.txt new file mode 100644 index 00000000000..d61ad219dbe --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/elder_arthur_maxson.txt @@ -0,0 +1,10 @@ +Name:Elder Arthur Maxson +ManaCost:1 W B +Types:Legendary Creature Human Knight +PT:4/2 +S:Mode$ Continuous | Affected$ Creature.token+YouCtrl | AddKeyword$ Training | Description$ Creature tokens you control have training. (Whenever a creature token you control attacks with another creature with greater power, put a +1/+1 counter on that token.) +A:AB$ Pump | Cost$ Sac<1/Creature.Other/another creature> | PrecostDesc$ Blind Betrayal - | Defined$ Self | KW$ Indestructible | SpellDescription$ CARDNAME gains indestructible until end of turn. +SVar:PlayMain1:TRUE +DeckHints:Ability$Token +DeckHas:Ability$Sacrifice|Counters +Oracle:Creature tokens you control have training. (Whenever a creature token you control attacks with another creature with greater power, put a +1/+1 counter on that token.)\nBlind Betrayal — Sacrifice another creature: Elder Arthur Maxson gains indestructible until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/elder_owyn_lyons.txt b/forge-gui/res/cardsfolder/upcoming/elder_owyn_lyons.txt new file mode 100644 index 00000000000..6d6af0220fa --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/elder_owyn_lyons.txt @@ -0,0 +1,11 @@ +Name:Elder Owyn Lyons +ManaCost:2 W U +Types:Legendary Creature Human Knight +PT:3/3 +S:Mode$ Continuous | Affected$ Artifact.YouCtrl | AddKeyword$ Ward:1 | Description$ Artifacts you control have ward {1}. (Whenever an artifact you control becomes the target of a spell or ability an opponent controls, counter it unless that player pays {1}.) +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield or dies, return target artifact card from your graveyard to your hand. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | TriggerZones$ Battlefield | Secondary$ True | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield or dies, return target artifact card from your graveyard to your hand. +SVar:TrigChangeZone:DB$ ChangeZone | ValidTgts$ Artifact.YouCtrl | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Select target artifact from your graveyard +DeckHints:Type$Artifact +DeckHas:Ability$Graveyard +Oracle:Artifacts you control have ward {1}. (Whenever an artifact you control becomes the target of a spell or ability an opponent controls, counter it unless that player pays {1}.)\nWhen Elder Owyn Lyons enters the battlefield or dies, return target artifact card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/electrosiphon.txt b/forge-gui/res/cardsfolder/upcoming/electrosiphon.txt new file mode 100644 index 00000000000..06e167c4358 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/electrosiphon.txt @@ -0,0 +1,7 @@ +Name:Electrosiphon +ManaCost:U U R +Types:Instant +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | SubAbility$ DBEnergy | RememberCounteredCMC$ True | SpellDescription$ Counter target spell. You get an amount of {E} (energy counters) equal to its mana value. +SVar:DBEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ X +SVar:X:Count$RememberedNumber +Oracle:Counter target spell. You get an amount of {E} (energy counters) equal to its mana value. diff --git a/forge-gui/res/cardsfolder/upcoming/grim_reapers_sprint.txt b/forge-gui/res/cardsfolder/upcoming/grim_reapers_sprint.txt new file mode 100644 index 00000000000..18e49685393 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/grim_reapers_sprint.txt @@ -0,0 +1,14 @@ +Name:Grim Reaper's Sprint +ManaCost:4 R +Types:Enchantment Aura +K:Enchant creature +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 3 | EffectZone$ All | CheckSVar$ X | SVarCompare$ GE1 | Description$ Morbid — This spell costs {3} less to cast if a creature died this turn. +A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigUntap | TriggerDescription$ When CARDNAME enters the battlefield, untap each creature you control. If it's your main phase, there is an additional combat phase after this phase. +SVar:TrigUntap:DB$ UntapAll | ValidCards$ Creature.YouCtrl | SubAbility$ DBAddCombat +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | ConditionPhases$ Main1,Main2 +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Haste | Description$ Enchanted creature gets +2/+2 and has haste. +SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature +DeckHints:Ability$Sacrifice +SVar:PlayMain1:TRUE +Oracle:Morbid — This spell costs {3} less to cast if a creature died this turn.\nEnchant creature\nWhen Grim Reaper's Sprint enters the battlefield, untap each creature you control. If it's your main phase, there is an additional combat phase after this phase.\nEnchanted creature gets +2/+2 and has haste. diff --git a/forge-gui/res/cardsfolder/upcoming/gunner_conscript.txt b/forge-gui/res/cardsfolder/upcoming/gunner_conscript.txt new file mode 100644 index 00000000000..bc702f90beb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/gunner_conscript.txt @@ -0,0 +1,15 @@ +Name:Gunner Conscript +ManaCost:1 G +Types:Creature Human Mercenary +PT:2/2 +K:Trample +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each Aura and Equipment attached to it. +T:Mode$ ChangesZone | ValidCard$ Card.Self+enchanted | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, if it was enchanted, create a Junk token. +T:Mode$ ChangesZone | ValidCard$ Card.Self+equipped | Origin$ Battlefield | Destination$ Graveyard | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, if it was equipped, create a Junk token. +SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_junk_sac_exileplay +SVar:X:Count$Valid Equipment.Attached,Aura.Attached +SVar:EnchantMe:Multiple +SVar:EquipMe:Multiple +DeckNeeds:Type$Aura|Equipment +DeckHas:Ability$Token & Type$Artifact|Junk +Oracle:Trample\nGunner Conscript gets +1/+1 for each Aura and Equipment attached to it.\nWhen Gunner Conscript dies, if it was enchanted, create a Junk token.\nWhen Gunner Conscript dies, if it was equipped, create a Junk token. diff --git a/forge-gui/res/cardsfolder/upcoming/hancock_ghoulish_mayor.txt b/forge-gui/res/cardsfolder/upcoming/hancock_ghoulish_mayor.txt new file mode 100644 index 00000000000..4157de18325 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/hancock_ghoulish_mayor.txt @@ -0,0 +1,10 @@ +Name:Hancock, Ghoulish Mayor +ManaCost:2 B +Types:Legendary Creature Zombie Mutant Advisor +PT:2/1 +S:Mode$ Continuous | Affected$ Creature.Zombie+YouCtrl,Creature.Mutant+YouCtrl | AddPower$ X | AddToughness$ X | EffectZone$ Battlefield | Description$ Each other creature you control that's a Zombie or Mutant gets +X/+X, where X is the number of counters on CARDNAME. +SVar:X:Count$CardCounters.ALL +K:Undying +DeckHints:Ability$Counters & Type$Zombie|Mutant +DeckHas:Ability$Counters +Oracle:Each other creature you control that's a Zombie or Mutant gets +X/+X, where X is the number of counters on Hancock, Ghoulish Mayor.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) diff --git a/forge-gui/res/cardsfolder/upcoming/helios_one.txt b/forge-gui/res/cardsfolder/upcoming/helios_one.txt new file mode 100644 index 00000000000..9c19e7a2099 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/helios_one.txt @@ -0,0 +1,10 @@ +Name:HELIOS One +ManaCost:no cost +Types:Land +A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. +A:AB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 1 | Cost$ 1 T | SpellDescription$ You get {E} (an energy counter). +A:AB$ Destroy | Cost$ 3 T PayEnergy Sac<1/CARDNAME> | ValidTgts$ Permanent.nonLand+cmcEQX | TgtPrompt$ Select target nonland permanent with mana value X | SorcerySpeed$ True | SpellDescription$ Destroy target nonland permanent with mana value X. Activate only as a sorcery. +SVar:X:Count$xPaid +AI:RemoveDeck:All +DeckHas:Ability$Counters|Sacrifice +Oracle:{T}: Add {C}.\n{1}, {T}: You get {E} (an energy counter).\n{3}, {T}, Pay X {E}, Sacrifice HELIOS One: Destroy target nonland permanent with mana value X. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/ian_the_reckless.txt b/forge-gui/res/cardsfolder/upcoming/ian_the_reckless.txt new file mode 100644 index 00000000000..ea66d330fc0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ian_the_reckless.txt @@ -0,0 +1,12 @@ +Name:Ian the Reckless +ManaCost:1 R +Types:Legendary Creature Human Warrior +PT:2/1 +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Card.Self+modified | Execute$ TrigDamage | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks, if it's modified, you may have it deal damage equal to its power to you and any target. (Equipment, Auras you control, and counters are modifications.) +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | Defined$ You | NumDmg$ X | DamageMap$ True | SubAbility$ DBDealDamageSelf +SVar:DBDealDamageSelf:DB$ DealDamage | Defined$ You | NumDmg$ X | SubAbility$ DBDamageResolve +SVar:DBDamageResolve:DB$ DamageResolve +SVar:X:Count$CardPower +DeckHints:Type$Aura|Equipment & Ability$Counters +SVar:HasAttackEffect:TRUE +Oracle:Whenever Ian the Reckless attacks, if it's modified, you may have it deal damage equal to its power to you and any target. (Equipment, Auras you control, and counters are modifications.) diff --git a/forge-gui/res/cardsfolder/upcoming/inventory_management.txt b/forge-gui/res/cardsfolder/upcoming/inventory_management.txt new file mode 100644 index 00000000000..ca82e4cb1d2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/inventory_management.txt @@ -0,0 +1,8 @@ +Name:Inventory Management +ManaCost:R W +Types:Instant +K:Split Second +A:SP$ RepeatEach |RepeatCards$ Aura.YouCtrl,Equipment.YouCtrl | RepeatSubAbility$ DBAttach | SpellDescription$ For each Aura and Equipment you control, you may attach it to a creature you control. +SVar:DBAttach:DB$ Attach | Choices$ Creature.YouCtrl | ChoiceTitle$ Choose a creature you control | Object$ Remembered | Optional$ True +DeckNeeds:Type$Equipment|Aura +Oracle:Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)\nFor each Aura and Equipment you control, you may attach it to a creature you control. diff --git a/forge-gui/res/cardsfolder/upcoming/james_wandering_dad_follow_him.txt b/forge-gui/res/cardsfolder/upcoming/james_wandering_dad_follow_him.txt new file mode 100644 index 00000000000..8a1bce3ce83 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/james_wandering_dad_follow_him.txt @@ -0,0 +1,17 @@ +Name:James, Wandering Dad +ManaCost:2 U +Types:Legendary Creature Human Scientist +PT:2/4 +A:AB$ Mana | Cost$ T | Produced$ C C | RestrictValid$ Activated | SpellDescription$ Add {C}{C}. Spend this mana only to activate abilities. +AlternateMode:Adventure +DeckHas:Ability$Token & Type$Clue +Oracle:Add {C}{C}. Spend this mana only to activate abilities. + +ALTERNATE + +Name:Follow Him +ManaCost:X U U +Types:Instant Adventure +A:SP$ Investigate | Num$ X | SpellDescription$ Investigate X times. (Then exile this card. You may cast the creature later from exile.) +SVar:X:Count$xPaid +Oracle:Investigate X times. (Then exile this card. You may cast the creature later from exile.) diff --git a/forge-gui/res/cardsfolder/upcoming/junktown.txt b/forge-gui/res/cardsfolder/upcoming/junktown.txt new file mode 100644 index 00000000000..cddba682ef2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/junktown.txt @@ -0,0 +1,7 @@ +Name:Junktown +ManaCost:no cost +Types:Land +A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. +A:AB$ Token | Cost$ 4 R T Sac<1/NICKNAME> | TokenAmount$ 3 | TokenScript$ c_a_junk_sac_exileplay | TokenOwner$ You | SpellDescription$ Create three Junk tokens. (They're artifacts with "{T}, Sacrifice this artifact: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery.") +DeckHas:Ability$Sacrifice|Token & Type$Junk|Artifact +Oracle:{T}: Add {C}.\n{4}{R}, {T}, Sacrifice Junktown: Create three Junk tokens. (They're artifacts with "{T}, Sacrifice this artifact: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery.") diff --git a/forge-gui/res/cardsfolder/upcoming/kellogg_dangerous_mind.txt b/forge-gui/res/cardsfolder/upcoming/kellogg_dangerous_mind.txt new file mode 100644 index 00000000000..25fd2583f11 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/kellogg_dangerous_mind.txt @@ -0,0 +1,13 @@ +Name:Kellogg, Dangerous Mind +ManaCost:1 B R +Types:Legendary Creature Human Mercenary +PT:3/2 +K:First Strike +K:Haste +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever this creature attacks, create a Treasure token. +SVar:TrigToken:DB$ Token | TokenScript$ c_a_treasure_sac +A:AB$ GainControl | Cost$ Sac<5/Treasure> | ValidTgts$ Creature | LoseControl$ LeavesPlay,LoseControl | SorcerySpeed$ True | SpellDescription$ Gain control of target creature for as long as you control NICKNAME. Activate only as a sorcery. +SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Sacrifice & Type$Artifact|Treasure +DeckHints:Type$Treasure +Oracle:First strike, haste\nWhenever Kellogg, Dangerous Mind attacks, create a Treasure token.\nSacrifice five Treasures: Gain control of target creature for as long as you control Kellogg. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/upcoming/legate_lanius_caesars_ace.txt b/forge-gui/res/cardsfolder/upcoming/legate_lanius_caesars_ace.txt new file mode 100644 index 00000000000..5a9490a3616 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/legate_lanius_caesars_ace.txt @@ -0,0 +1,13 @@ +Name:Legate Lanius, Caesar's Ace +ManaCost:2 B R +Types:Legendary Creature Human Soldier +PT:2/2 +T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigRepeatEach | TriggerDescription$ Decimate — When CARDNAME enters the battlefield, each opponent sacrifices a tenth of the creatures they control, rounded up. +SVar:TrigRepeatEach:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBSacrifice +SVar:DBSacrifice:DB$ Sacrifice | Amount$ X | SacValid$ Creature | Defined$ Remembered +SVar:X:Count$Valid Creature.RememberedPlayerCtrl/DivideEvenlyUp.10 +T:Mode$ Sacrificed | ValidCard$ Creature.OppCtrl | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever an opponent sacrifices a creature, put a +1/+1 counter on NICKNAME. +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +DeckHints:Ability$Counters +DeckHas:Ability$Counters +Oracle:Decimate — When Legate Lanius enters the battlefield, each opponent sacrifices a tenth of the creatures they control, rounded up.\nWhenever an opponent sacrifices a creature, put a +1/+1 counter on Legate Lanius. diff --git a/forge-gui/res/cardsfolder/upcoming/lily_bowen_raging_grandma.txt b/forge-gui/res/cardsfolder/upcoming/lily_bowen_raging_grandma.txt new file mode 100644 index 00000000000..dcb38e09ff7 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/lily_bowen_raging_grandma.txt @@ -0,0 +1,17 @@ +Name:Lily Bowen, Raging Grandma +ManaCost:3 G +Types:Legendary Creature Mutant Warrior +PT:0/0 +K:Vigilance +K:etbCounter:P1P1:2 +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigBranch | TriggerDescription$ At the beginning of your upkeep, double the number of +1/+1 counters on NICKNAME if its power is 16 or less. Otherwise, remove all but one +1/+1 counter from it, then you gain 1 life for each +1/+1 counter removed this way. +SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ Power | BranchConditionSVarCompare$ GT16 | TrueSubAbility$ DBRemoveCounters | FalseSubAbility$ DBPump +SVar:DBPump:DB$ MultiplyCounter | CounterType$ P1P1 | Defined$ Self +SVar:DBRemoveCounters:DB$ RemoveCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ Y | RememberRemoved$ True | SubAbility$ DBGainLife +SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Y:Count$CardCounters.P1P1/Minus.1 +SVar:X:Count$RememberedSize +SVar:Power:Count$CardPower +DeckHas:Ability$Counters|LifeGain +Oracle:Vigilance\nLily Bowen, Raging Grandma enters the battlefield with two +1/+1 counters on it.\nAt the beginning of your upkeep, double the number of +1/+1 counters on Lily Bowen if its power is 16 or less. Otherwise, remove all but one +1/+1 counter from it, then you gain 1 life for each +1/+1 counter removed this way. diff --git a/forge-gui/res/cardsfolder/upcoming/maccready_lamplight_mayor.txt b/forge-gui/res/cardsfolder/upcoming/maccready_lamplight_mayor.txt new file mode 100644 index 00000000000..c804cb1e54c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/maccready_lamplight_mayor.txt @@ -0,0 +1,12 @@ +Name:MacCready, Lamplight Mayor +ManaCost:W B +Types:Legendary Creature Human Advisor +PT:1/3 +T:Mode$ Attacks | ValidCard$ Creature.powerLE2+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control with power 2 or less attacks, it gains skulk until end of turn. (It can't be blocked by creatures with greater power.) +SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ Skulk +T:Mode$ Attacks | ValidCard$ Creature.powerGE4 | Attacked$ You | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a creature with power 4 or greater attacks you, its controller loses 2 life and you gain 2 life. +SVar:TrigLoseLife:DB$ LoseLife | Defined$ TriggeredAttackerController | LifeAmount$ 2 | SubAbility$ DBGainLife +SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 +DeckHas:Ability$LifeGain +SVar:PlayMain1:TRUE +Oracle:Whenever a creature you control with power 2 or less attacks, it gains skulk until end of turn. (It can't be blocked by creatures with greater power.)\nWhenever a creature with power 4 or greater attacks you, its controller loses 2 life and you gain 2 life. diff --git a/forge-gui/res/cardsfolder/upcoming/marcus_mutant_mayor.txt b/forge-gui/res/cardsfolder/upcoming/marcus_mutant_mayor.txt new file mode 100644 index 00000000000..9c5627f7b37 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/marcus_mutant_mayor.txt @@ -0,0 +1,11 @@ +Name:Marcus, Mutant Mayor +ManaCost:3 G U +Types:Legendary Creature Mutant Advisor +PT:4/4 +K:Vigilance +K:Trample +T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a creature you control deals combat damage to a player, draw a card if that creature has a +1/+1 counter on it. If it doesn't, put a +1/+1 counter on it. +SVar:TrigDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ TriggeredSourceLKICopy | ConditionPresent$ Creature.counters_GE1_P1P1 | SubAbility$ DBPutCounter +SVar:DBPutCounter:DB$ PutCounter | Defined$ TriggeredSourceLKICopy | ConditionDefined$ TriggeredSourceLKICopy | ConditionPresent$ Creature.counters_EQ0_P1P1 | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters +Oracle:Vigilance, trample\nWhenever a creature you control deals combat damage to a player, draw a card if that creature has a +1/+1 counter on it. If it doesn't, put a +1/+1 counter on it. diff --git a/forge-gui/res/cardsfolder/upcoming/mariposa_military_base.txt b/forge-gui/res/cardsfolder/upcoming/mariposa_military_base.txt new file mode 100644 index 00000000000..bd8473a0b65 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mariposa_military_base.txt @@ -0,0 +1,10 @@ +Name:Mariposa Military Base +ManaCost:no cost +Types:Land +K:ETBReplacement:Other:DBTap:Optional +SVar:DBTap:DB$ Tap | ETB$ True | Defined$ Self | SubAbility$ DBRadiation | SpellDescription$ You may have CARDNAME enter the battlefield tapped. If you do, you get two rad counters. +SVar:DBRadiation:DB$ Radiation | Defined$ You | Add$ 2 +A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. +A:AB$ Draw | Cost$ 5 T | NumCards$ 1 | ReduceCost$ X | SpellDescription$ Draw a card. This ability costs {1} less to activate for each rad counter you have. +SVar:X:Count$YourCountersRAD +Oracle:You may have Mariposa Military Base enter the battlefield tapped. If you do, you get two rad counters.\n{T}: Add {C}.\n{5}, {T}: Draw a card. This ability costs {1} less to activate for each rad counter you have.