From 914dd180e1f9974d23f79bac5fe15188407f264a Mon Sep 17 00:00:00 2001 From: tool4ever Date: Wed, 17 Apr 2024 08:31:17 +0200 Subject: [PATCH] Remove AltCost SVar (#5057) --- .../java/forge/game/card/CardFactoryUtil.java | 54 ------------------- .../StaticAbilityAlternativeCost.java | 25 ++++++++- forge-gui/res/cardsfolder/a/abolish.txt | 2 +- .../res/cardsfolder/a/admirals_order.txt | 2 +- .../res/cardsfolder/a/allosaurus_rider.txt | 2 +- forge-gui/res/cardsfolder/a/angelic_favor.txt | 2 +- forge-gui/res/cardsfolder/a/archive_trap.txt | 2 +- .../res/cardsfolder/a/arrow_volley_trap.txt | 2 +- .../a/asmoranomardicadaistinaculdacar.txt | 2 +- .../res/cardsfolder/b/baleful_mastery.txt | 2 +- .../res/cardsfolder/b/baloth_cage_trap.txt | 2 +- forge-gui/res/cardsfolder/b/blazing_shoal.txt | 2 +- .../res/cardsfolder/b/bounty_of_the_hunt.txt | 2 +- .../b/bringer_of_the_black_dawn.txt | 2 +- .../b/bringer_of_the_blue_dawn.txt | 2 +- .../b/bringer_of_the_green_dawn.txt | 2 +- .../cardsfolder/b/bringer_of_the_red_dawn.txt | 2 +- .../b/bringer_of_the_white_dawn.txt | 2 +- forge-gui/res/cardsfolder/c/cave_in.txt | 2 +- forge-gui/res/cardsfolder/c/cobra_trap.txt | 2 +- forge-gui/res/cardsfolder/c/commandeer.txt | 2 +- forge-gui/res/cardsfolder/c/contagion.txt | 2 +- forge-gui/res/cardsfolder/c/crash.txt | 2 +- forge-gui/res/cardsfolder/d/dark_triumph.txt | 2 +- forge-gui/res/cardsfolder/d/daze.txt | 4 +- forge-gui/res/cardsfolder/d/delraich.txt | 2 +- forge-gui/res/cardsfolder/d/demilich.txt | 2 +- .../cardsfolder/d/demon_of_deaths_gate.txt | 2 +- .../res/cardsfolder/d/demonic_embrace.txt | 2 +- .../res/cardsfolder/d/devastating_mastery.txt | 2 +- .../res/cardsfolder/d/disrupting_shoal.txt | 2 +- .../res/cardsfolder/d/downhill_charge.txt | 2 +- forge-gui/res/cardsfolder/e/ensnare.txt | 2 +- .../res/cardsfolder/e/extravagant_spirit.txt | 4 +- .../res/cardsfolder/f/fervent_mastery.txt | 2 +- forge-gui/res/cardsfolder/f/fettergeist.txt | 4 +- .../cardsfolder/f/fieldmist_borderpost.txt | 2 +- forge-gui/res/cardsfolder/f/fireblast.txt | 2 +- .../res/cardsfolder/f/firewild_borderpost.txt | 2 +- forge-gui/res/cardsfolder/f/flameshot.txt | 2 +- forge-gui/res/cardsfolder/f/foil.txt | 2 +- .../res/cardsfolder/f/force_of_despair.txt | 2 +- .../res/cardsfolder/f/force_of_negation.txt | 2 +- forge-gui/res/cardsfolder/f/force_of_rage.txt | 2 +- .../res/cardsfolder/f/force_of_vigor.txt | 2 +- .../res/cardsfolder/f/force_of_virtue.txt | 2 +- forge-gui/res/cardsfolder/f/force_of_will.txt | 2 +- .../res/cardsfolder/f/fury_of_the_horde.txt | 2 +- forge-gui/res/cardsfolder/g/gush.txt | 2 +- .../res/cardsfolder/h/hand_of_emrakul.txt | 2 +- forge-gui/res/cardsfolder/h/helbrute.txt | 2 +- .../h/hogaak_arisen_necropolis.txt | 2 +- forge-gui/res/cardsfolder/i/inferno_trap.txt | 2 +- .../res/cardsfolder/i/ingenious_mastery.txt | 2 +- forge-gui/res/cardsfolder/i/invigorate.txt | 2 +- forge-gui/res/cardsfolder/l/lashknife.txt | 2 +- forge-gui/res/cardsfolder/l/lavaball_trap.txt | 2 +- forge-gui/res/cardsfolder/l/lethargy_trap.txt | 2 +- .../res/cardsfolder/m/me_the_immortal.txt | 2 +- forge-gui/res/cardsfolder/m/mind_swords.txt | 2 +- .../res/cardsfolder/m/mindbreak_trap.txt | 2 +- forge-gui/res/cardsfolder/m/mindswipe.txt | 2 +- forge-gui/res/cardsfolder/m/mine_collapse.txt | 2 +- forge-gui/res/cardsfolder/m/misdirection.txt | 2 +- .../res/cardsfolder/m/mistvein_borderpost.txt | 2 +- forge-gui/res/cardsfolder/m/mogg_alarm.txt | 2 +- .../res/cardsfolder/n/needlebite_trap.txt | 2 +- forge-gui/res/cardsfolder/n/nemesis_trap.txt | 2 +- .../res/cardsfolder/n/nourishing_shoal.txt | 2 +- forge-gui/res/cardsfolder/o/orims_cure.txt | 2 +- forge-gui/res/cardsfolder/o/outbreak.txt | 2 +- .../res/cardsfolder/p/permafrost_trap.txt | 2 +- forge-gui/res/cardsfolder/p/pitfall_trap.txt | 2 +- forge-gui/res/cardsfolder/p/pulverize.txt | 2 +- forge-gui/res/cardsfolder/p/pyrokinesis.txt | 2 +- .../res/cardsfolder/r/raffines_guidance.txt | 2 +- .../res/cardsfolder/r/ramosian_rally.txt | 2 +- forge-gui/res/cardsfolder/r/ravenous_trap.txt | 2 +- .../res/cardsfolder/r/refraction_trap.txt | 2 +- .../res/cardsfolder/r/reverent_mantra.txt | 2 +- .../res/cardsfolder/r/reverent_silence.txt | 2 +- forge-gui/res/cardsfolder/r/ricochet_trap.txt | 2 +- .../res/cardsfolder/r/risen_executioner.txt | 2 +- .../r/rona_sheoldreds_faithful.txt | 2 +- forge-gui/res/cardsfolder/r/rouse.txt | 2 +- .../res/cardsfolder/r/runeflare_trap.txt | 2 +- .../res/cardsfolder/rebalanced/a-demilich.txt | 2 +- .../rebalanced/a-security_rhox.txt | 2 +- forge-gui/res/cardsfolder/s/salvage_titan.txt | 2 +- .../cardsfolder/s/scars_of_the_veteran.txt | 2 +- .../res/cardsfolder/s/scourge_of_nel_toth.txt | 2 +- forge-gui/res/cardsfolder/s/security_rhox.txt | 2 +- .../res/cardsfolder/s/sephara_skys_blade.txt | 2 +- forge-gui/res/cardsfolder/s/shining_shoal.txt | 2 +- .../res/cardsfolder/s/sickening_shoal.txt | 2 +- forge-gui/res/cardsfolder/s/sivvis_valor.txt | 2 +- .../res/cardsfolder/s/skaab_ruinator.txt | 2 +- .../res/cardsfolder/s/skyshroud_cutter.txt | 2 +- forge-gui/res/cardsfolder/s/slingbow_trap.txt | 2 +- forge-gui/res/cardsfolder/s/snag.txt | 2 +- forge-gui/res/cardsfolder/s/snapback.txt | 2 +- forge-gui/res/cardsfolder/s/snuff_out.txt | 2 +- forge-gui/res/cardsfolder/s/soul_spike.txt | 2 +- .../res/cardsfolder/s/spinning_darkness.txt | 2 +- .../cardsfolder/s/squee_dubious_monarch.txt | 2 +- .../res/cardsfolder/s/stalwart_valkyrie.txt | 2 +- .../res/cardsfolder/s/summoning_trap.txt | 2 +- forge-gui/res/cardsfolder/s/sunscour.txt | 2 +- .../res/cardsfolder/t/the_lady_of_otaria.txt | 2 +- forge-gui/res/cardsfolder/t/thunderclap.txt | 2 +- forge-gui/res/cardsfolder/t/thwart.txt | 2 +- forge-gui/res/cardsfolder/t/tidal_bore.txt | 2 +- forge-gui/res/cardsfolder/u/unmask.txt | 2 +- .../upcoming/flare_of_cultivation.txt | 2 +- .../res/cardsfolder/v/veinfire_borderpost.txt | 2 +- .../res/cardsfolder/v/verdant_mastery.txt | 2 +- forge-gui/res/cardsfolder/v/vine_dryad.txt | 2 +- forge-gui/res/cardsfolder/w/whiplash_trap.txt | 2 +- .../cardsfolder/w/wildfield_borderpost.txt | 2 +- .../res/cardsfolder/w/worldheart_phoenix.txt | 2 +- .../cardsfolder/z/zahid_djinn_of_the_lamp.txt | 2 +- 121 files changed, 146 insertions(+), 177 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 378d5a4ee5b..59b1a65298c 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -69,7 +69,6 @@ import forge.game.replacement.ReplacementLayer; import forge.game.spellability.AbilityStatic; import forge.game.spellability.AbilitySub; import forge.game.spellability.AlternativeCost; -import forge.game.spellability.OptionalCost; import forge.game.spellability.Spell; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityRestriction; @@ -604,15 +603,6 @@ public class CardFactoryUtil { for (KeywordInterface inst : card.getKeywords()) { inst.createTraits(card, true); } - - // AltCost - String altCost = card.getSVar("AltCost"); - if (StringUtils.isNotBlank(altCost)) { - final SpellAbility sa1 = card.getFirstSpellAbility(); - if (sa1 != null && sa1.isSpell()) { - card.addSpellAbility(makeAltCostAbility(card, altCost, sa1)); - } - } } private static ReplacementEffect createETBReplacement(final CardState card, ReplacementLayer layer, @@ -3974,50 +3964,6 @@ public class CardFactoryUtil { } } - /** - * TODO: Write javadoc for this method. - * @param card - * @param altCost - * @param sa - * @return - */ - private static SpellAbility makeAltCostAbility(final Card card, final String altCost, final SpellAbility sa) { - final Map params = AbilityFactory.getMapParams(altCost); - - final Cost abCost = new Cost(params.get("Cost"), sa.isAbility()); - final SpellAbility altCostSA = sa.copyWithDefinedCost(abCost); - altCostSA.setBasicSpell(false); - altCostSA.addOptionalCost(OptionalCost.AltCost); - - final SpellAbilityRestriction restriction = new SpellAbilityRestriction(); - restriction.setRestrictions(params); - if (!params.containsKey("ActivationZone")) { - restriction.setZone(ZoneType.Hand); - } - altCostSA.setRestrictions(restriction); - - String costDescription = TextUtil.fastReplace(params.get("Description"), "CARDNAME", card.getName()); - if (costDescription == null || costDescription.isEmpty()) { - costDescription = TextUtil.concatWithSpace("You may", abCost.toStringAlt(), "rather than pay", TextUtil.addSuffix(card.getName(), "'s mana cost.")); - } - - altCostSA.setDescription(costDescription); - - if (params.containsKey("StackDescription")) { - altCostSA.setStackDescription(params.get("StackDescription")); - } - - if (params.containsKey("Announce")) { - altCostSA.addAnnounceVar(params.get("Announce")); - } - - if (params.containsKey("ManaRestriction")) { - altCostSA.putParam("ManaRestriction", params.get("ManaRestriction")); - } - - return altCostSA; - } - public static void setupSiegeAbilities(Card card) { StringBuilder chooseSB = new StringBuilder(); chooseSB.append("Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplacementResult$ Updated"); diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityAlternativeCost.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityAlternativeCost.java index 994aeb7fadc..065c5ba5a27 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityAlternativeCost.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityAlternativeCost.java @@ -9,6 +9,7 @@ import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.cost.Cost; import forge.game.player.Player; +import forge.game.spellability.OptionalCost; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; @@ -41,6 +42,22 @@ public class StaticAbilityAlternativeCost { newSA.setSVar("X", stAb.getSVar("X")); } + if (stAb.hasParam("Announce")) { + newSA.putParam("Announce", stAb.getParam("Announce")); + } + + if (stAb.hasParam("ManaRestriction")) { + newSA.putParam("ManaRestriction", stAb.getParam("ManaRestriction")); + } + + if (!"All".equals(stAb.getParam("EffectZone"))) { + newSA.getRestrictions().setZone(ZoneType.smartValueOf(stAb.getParam("EffectZone"))); + } + + if (stAb.hasParam("StackDescription")) { + newSA.putParam("StackDescription", stAb.getParam("StackDescription")); + } + // makes new SpellDescription final StringBuilder sb = new StringBuilder(); @@ -53,7 +70,13 @@ public class StaticAbilityAlternativeCost { // skip reminder text for now, Keywords might be too complicated //sb.append("(").append(newKi.getReminderText()).append(")"); if (sa.isSpell()) { - sb.append(sa.getDescription()).append(" (by paying " + cost.toSimpleString() + " instead of its mana cost)"); + sb.append(sa.getDescription()); + if (source.equals(stAb.getHostCard())) { + newSA.addOptionalCost(OptionalCost.AltCost); + sb.append(" ("+ stAb.getParam("Description") +") "); + } else { + sb.append(" (by paying " + cost.toSimpleString() + " instead of its mana cost)"); + } } newSA.setDescription(sb.toString()); diff --git a/forge-gui/res/cardsfolder/a/abolish.txt b/forge-gui/res/cardsfolder/a/abolish.txt index 161421410ba..fb9e1ff1528 100644 --- a/forge-gui/res/cardsfolder/a/abolish.txt +++ b/forge-gui/res/cardsfolder/a/abolish.txt @@ -2,5 +2,5 @@ Name:Abolish ManaCost:1 W W Types:Instant A:SP$ Destroy | Cost$ 1 W W | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy target artifact or enchantment. -SVar:AltCost:Cost$ Discard<1/Plains> +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Discard<1/Plains> | Description$ You may discard a Plains card rather than pay this spell's mana cost. Oracle:You may discard a Plains card rather than pay this spell's mana cost.\nDestroy target artifact or enchantment. diff --git a/forge-gui/res/cardsfolder/a/admirals_order.txt b/forge-gui/res/cardsfolder/a/admirals_order.txt index bdfef827743..fd664789c5b 100644 --- a/forge-gui/res/cardsfolder/a/admirals_order.txt +++ b/forge-gui/res/cardsfolder/a/admirals_order.txt @@ -1,7 +1,7 @@ Name:Admiral's Order ManaCost:1 U U Types:Instant -SVar:AltCost:Cost$ U | CheckSVar$ X | Description$ Raid — If you attacked this turn, you may pay {U} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ U | CheckSVar$ X | Description$ Raid — If you attacked this turn, you may pay {U} rather than pay this spell's mana cost. A:SP$ Counter | Cost$ 1 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | SpellDescription$ Counter target spell. SVar:X:Count$AttackersDeclared Oracle:Raid — If you attacked this turn, you may pay {U} rather than pay this spell's mana cost.\nCounter target spell. diff --git a/forge-gui/res/cardsfolder/a/allosaurus_rider.txt b/forge-gui/res/cardsfolder/a/allosaurus_rider.txt index 6eccb310d0e..a49c05ee08b 100644 --- a/forge-gui/res/cardsfolder/a/allosaurus_rider.txt +++ b/forge-gui/res/cardsfolder/a/allosaurus_rider.txt @@ -4,5 +4,5 @@ Types:Creature Elf Warrior PT:1+*/1+* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to 1 plus the number of lands you control. SVar:X:Count$Valid Land.YouCtrl/Plus.1 -SVar:AltCost:Cost$ ExileFromHand<2/Card.Green> | Description$ You may exile two green cards from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<2/Card.Green> | Description$ You may exile two green cards from your hand rather than pay this spell's mana cost. Oracle:You may exile two green cards from your hand rather than pay this spell's mana cost.\nAllosaurus Rider's power and toughness are each equal to 1 plus the number of lands you control. diff --git a/forge-gui/res/cardsfolder/a/angelic_favor.txt b/forge-gui/res/cardsfolder/a/angelic_favor.txt index 0546c850950..12a53950806 100644 --- a/forge-gui/res/cardsfolder/a/angelic_favor.txt +++ b/forge-gui/res/cardsfolder/a/angelic_favor.txt @@ -1,7 +1,7 @@ Name:Angelic Favor ManaCost:3 W Types:Instant -SVar:AltCost:Cost$ tapXType<1/Creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<1/Creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ Token | Cost$ 3 W | TokenScript$ w_4_4_angel_flying | AtEOT$ Exile | ActivationPhases$ BeginCombat->EndCombat | StackDescription$ {p:You} creates a 4/4 white Angel creature token with flying. Exile it at the beginning of the next end step. | SpellDescription$ Cast this spell only during combat. Create a 4/4 white Angel creature token with flying. Exile it at the beginning of the next end step. DeckHas:Ability$Token AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/a/archive_trap.txt b/forge-gui/res/cardsfolder/a/archive_trap.txt index 268b33e805c..574c9acf23c 100644 --- a/forge-gui/res/cardsfolder/a/archive_trap.txt +++ b/forge-gui/res/cardsfolder/a/archive_trap.txt @@ -1,7 +1,7 @@ Name:Archive Trap ManaCost:3 U U Types:Instant Trap -SVar:AltCost:Cost$ 0 | CheckSVar$ TrapTrigger | Description$ If an opponent searched their library this turn, you may pay {0} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 0 | CheckSVar$ TrapTrigger | Description$ If an opponent searched their library this turn, you may pay {0} rather than pay this spell's mana cost. A:SP$ Mill | Cost$ 3 U U | NumCards$ 13 | ValidTgts$ Opponent | TgtPrompt$ Choose an opponent | SpellDescription$ Target opponent mills thirteen cards. SVar:TrapTrigger:Count$SearchedLibrary.Opponent Oracle:If an opponent searched their library this turn, you may pay {0} rather than pay this spell's mana cost.\nTarget opponent mills thirteen cards. diff --git a/forge-gui/res/cardsfolder/a/arrow_volley_trap.txt b/forge-gui/res/cardsfolder/a/arrow_volley_trap.txt index 27543e0cfea..563433f34f3 100644 --- a/forge-gui/res/cardsfolder/a/arrow_volley_trap.txt +++ b/forge-gui/res/cardsfolder/a/arrow_volley_trap.txt @@ -1,6 +1,6 @@ Name:Arrow Volley Trap ManaCost:3 W W Types:Instant Trap -SVar:AltCost:Cost$ 1 W | IsPresent$ Creature.attacking | PresentCompare$ GE4 | Description$ If four or more creatures are attacking, you may pay {1}{W} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 W | IsPresent$ Creature.attacking | PresentCompare$ GE4 | Description$ If four or more creatures are attacking, you may pay {1}{W} rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 3 W W | ValidTgts$ Creature.attacking | TgtPrompt$ Select any number of target attacking creatures to distribute damage to | NumDmg$ 5 | TargetMin$ 0 | TargetMax$ 5 | DividedAsYouChoose$ 5 | SpellDescription$ CARDNAME deals 5 damage divided as you choose among any number of target attacking creatures. Oracle:If four or more creatures are attacking, you may pay {1}{W} rather than pay this spell's mana cost.\nArrow Volley Trap deals 5 damage divided as you choose among any number of target attacking creatures. diff --git a/forge-gui/res/cardsfolder/a/asmoranomardicadaistinaculdacar.txt b/forge-gui/res/cardsfolder/a/asmoranomardicadaistinaculdacar.txt index 88b15664b40..07700650895 100644 --- a/forge-gui/res/cardsfolder/a/asmoranomardicadaistinaculdacar.txt +++ b/forge-gui/res/cardsfolder/a/asmoranomardicadaistinaculdacar.txt @@ -3,7 +3,7 @@ ManaCost:no cost Colors:black,red Types:Legendary Creature Human Wizard PT:3/3 -SVar:AltCost:Cost$ BR | CheckSVar$ X | Description$ As long as you've discarded a card this turn, you may pay {B/R} to cast this spell. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ BR | CheckSVar$ X | Description$ As long as you've discarded a card this turn, you may pay {B/R} to cast this spell. SVar:X:PlayerCountPropertyYou$CardsDiscardedThisTurn T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, you may search your library for a card named The Underworld Cookbook, reveal it, put it into your hand, then shuffle. SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedThe Underworld Cookbook | ShuffleNonMandatory$ True diff --git a/forge-gui/res/cardsfolder/b/baleful_mastery.txt b/forge-gui/res/cardsfolder/b/baleful_mastery.txt index 422d44af9b5..d9e7ef490d6 100644 --- a/forge-gui/res/cardsfolder/b/baleful_mastery.txt +++ b/forge-gui/res/cardsfolder/b/baleful_mastery.txt @@ -1,7 +1,7 @@ Name:Baleful Mastery ManaCost:3 B Types:Instant -SVar:AltCost:Cost$ 1 B | Description$ You may pay {1}{B} rather than pay this spell's mana cost. | StackDescription$ If the {1}{B} cost was paid, an opponent draws a card. Exile target creature or planeswalker. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 B | Description$ You may pay {1}{B} rather than pay this spell's mana cost. | StackDescription$ If the {1}{B} cost was paid, an opponent draws a card. Exile target creature or planeswalker. A:SP$ Pump | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | SubAbility$ DBBranch | StackDescription$ Exile {c:Targeted}. | SpellDescription$ If the {1}{B} cost was paid, an opponent draws a card. Exile target creature or planeswalker. SVar:DBBranch:DB$ Branch | BranchConditionSVar$ AltCostPaid | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ OppDraw | FalseSubAbility$ DBExile SVar:OppDraw:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent to draw a card | SubAbility$ DBDraw diff --git a/forge-gui/res/cardsfolder/b/baloth_cage_trap.txt b/forge-gui/res/cardsfolder/b/baloth_cage_trap.txt index 9ac393ced2c..0d4c9511250 100644 --- a/forge-gui/res/cardsfolder/b/baloth_cage_trap.txt +++ b/forge-gui/res/cardsfolder/b/baloth_cage_trap.txt @@ -1,7 +1,7 @@ Name:Baloth Cage Trap ManaCost:3 G G Types:Instant Trap -SVar:AltCost:Cost$ 1 G | CheckSVar$ ArtifactsEntered | Description$ If an opponent had an artifact enter the battlefield under their control this turn, you may pay {1}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 G | CheckSVar$ ArtifactsEntered | Description$ If an opponent had an artifact enter the battlefield under their control this turn, you may pay {1}{G} rather than pay this spell's mana cost. A:SP$ Token | Cost$ 3 G G | TokenAmount$ 1 | TokenScript$ g_4_4_beast | TokenOwner$ You | StackDescription$ {p:You} creates a 4/4 green Beast creature token. | SpellDescription$ Create a 4/4 green Beast creature token. SVar:ArtifactsEntered:Count$ThisTurnEntered_Battlefield_Artifact.OppCtrl Oracle:If an opponent had an artifact enter the battlefield under their control this turn, you may pay {1}{G} rather than pay this spell's mana cost.\nCreate a 4/4 green Beast creature token. diff --git a/forge-gui/res/cardsfolder/b/blazing_shoal.txt b/forge-gui/res/cardsfolder/b/blazing_shoal.txt index cde956dcc59..6265c34ce1b 100644 --- a/forge-gui/res/cardsfolder/b/blazing_shoal.txt +++ b/forge-gui/res/cardsfolder/b/blazing_shoal.txt @@ -1,7 +1,7 @@ Name:Blazing Shoal ManaCost:X R R Types:Instant Arcane -SVar:AltCost:Cost$ ExileFromHand<1/Card.Red+Other+cmcEQX/red card> | Announce$ X | Description$ You may exile a red card with mana value X from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Red+Other+cmcEQX/red card> | Announce$ X | Description$ You may exile a red card with mana value X from your hand rather than pay this spell's mana cost. A:SP$ Pump | Cost$ X R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn. SVar:X:Count$xPaid AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/b/bounty_of_the_hunt.txt b/forge-gui/res/cardsfolder/b/bounty_of_the_hunt.txt index b3cf16d50fb..075b74b6d06 100644 --- a/forge-gui/res/cardsfolder/b/bounty_of_the_hunt.txt +++ b/forge-gui/res/cardsfolder/b/bounty_of_the_hunt.txt @@ -2,7 +2,7 @@ Name:Bounty of the Hunt ManaCost:3 G G Types:Instant A:SP$ PutCounter | Cost$ 3 G G | ValidTgts$ Creature | TgtPrompt$ Select target creature to distribute counters to | CounterType$ P1P1 | CounterNum$ 3 | TargetMin$ 1 | TargetMax$ 3 | DividedAsYouChoose$ 3 | RemovePhase$ Cleanup | SpellDescription$ Distribute three +1/+1 counters among one, two, or three target creatures. For each +1/+1 counter you put on a creature this way, remove a +1/+1 counter from that creature at the beginning of the next cleanup step. -SVar:AltCost:Cost$ExileFromHand<1/Card.Green+Other> | Description$ You may exile a green card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ExileFromHand<1/Card.Green+Other> | Description$ You may exile a green card from your hand rather than pay this spell's mana cost. DeckHas:Ability$Counters AI:RemoveDeck:All Oracle:You may exile a green card from your hand rather than pay this spell's mana cost.\nDistribute three +1/+1 counters among one, two, or three target creatures. For each +1/+1 counter you put on a creature this way, remove a +1/+1 counter from that creature at the beginning of the next cleanup step. diff --git a/forge-gui/res/cardsfolder/b/bringer_of_the_black_dawn.txt b/forge-gui/res/cardsfolder/b/bringer_of_the_black_dawn.txt index e2ee0cb3fd8..3867e4f024c 100644 --- a/forge-gui/res/cardsfolder/b/bringer_of_the_black_dawn.txt +++ b/forge-gui/res/cardsfolder/b/bringer_of_the_black_dawn.txt @@ -3,7 +3,7 @@ ManaCost:7 B B Types:Creature Bringer PT:5/5 K:Trample -SVar:AltCost:Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ At the beginning of your upkeep, you may pay 2 life. If you do, search your library for a card, then shuffle and put that card on top. SVar:TrigChange:AB$ ChangeZone | Cost$ PayLife<2> | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | ChangeType$ Card | ChangeNum$ 1 AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/b/bringer_of_the_blue_dawn.txt b/forge-gui/res/cardsfolder/b/bringer_of_the_blue_dawn.txt index 0202da6acb0..0e6bb2baa01 100644 --- a/forge-gui/res/cardsfolder/b/bringer_of_the_blue_dawn.txt +++ b/forge-gui/res/cardsfolder/b/bringer_of_the_blue_dawn.txt @@ -3,7 +3,7 @@ ManaCost:7 U U Types:Creature Bringer PT:5/5 K:Trample -SVar:AltCost:Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your upkeep, you may draw two cards. SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 2 | OptionalDecider$ You Oracle:You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost.\nTrample\nAt the beginning of your upkeep, you may draw two cards. diff --git a/forge-gui/res/cardsfolder/b/bringer_of_the_green_dawn.txt b/forge-gui/res/cardsfolder/b/bringer_of_the_green_dawn.txt index 9b7a4e3eefa..2cc0ba95939 100644 --- a/forge-gui/res/cardsfolder/b/bringer_of_the_green_dawn.txt +++ b/forge-gui/res/cardsfolder/b/bringer_of_the_green_dawn.txt @@ -3,7 +3,7 @@ ManaCost:7 G G Types:Creature Bringer PT:5/5 K:Trample -SVar:AltCost:Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, you may create a 3/3 green Beast creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_3_3_beast | TokenOwner$ You DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/b/bringer_of_the_red_dawn.txt b/forge-gui/res/cardsfolder/b/bringer_of_the_red_dawn.txt index bfd9b004ef5..13a6e23b650 100644 --- a/forge-gui/res/cardsfolder/b/bringer_of_the_red_dawn.txt +++ b/forge-gui/res/cardsfolder/b/bringer_of_the_red_dawn.txt @@ -3,7 +3,7 @@ ManaCost:7 R R Types:Creature Bringer PT:5/5 K:Trample -SVar:AltCost:Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigUntap | TriggerDescription$ At the beginning of your upkeep, you may untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. SVar:TrigUntap:DB$ Untap | ValidTgts$ Creature | SubAbility$ DBChange SVar:DBChange:DB$ GainControl | Defined$ Targeted | AddKWs$ Haste | LoseControl$ EOT diff --git a/forge-gui/res/cardsfolder/b/bringer_of_the_white_dawn.txt b/forge-gui/res/cardsfolder/b/bringer_of_the_white_dawn.txt index 990a0791894..d433a17b66c 100644 --- a/forge-gui/res/cardsfolder/b/bringer_of_the_white_dawn.txt +++ b/forge-gui/res/cardsfolder/b/bringer_of_the_white_dawn.txt @@ -3,7 +3,7 @@ ManaCost:7 W W Types:Creature Bringer PT:5/5 K:Trample -SVar:AltCost:Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W U B R G | Description$ You may pay {W}{U}{B}{R}{G} rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ At the beginning of your upkeep, you may return target artifact card from your graveyard to the battlefield. SVar:TrigChange:AB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Artifact.YouCtrl | Cost$ 0 DeckHas:Ability$Graveyard diff --git a/forge-gui/res/cardsfolder/c/cave_in.txt b/forge-gui/res/cardsfolder/c/cave_in.txt index 01ee5b3d454..c1ff8f6d1f6 100644 --- a/forge-gui/res/cardsfolder/c/cave_in.txt +++ b/forge-gui/res/cardsfolder/c/cave_in.txt @@ -1,6 +1,6 @@ Name:Cave-In ManaCost:3 R R Types:Sorcery -SVar:AltCost:Cost$ ExileFromHand<1/Card.Red+Other> | Description$ You may exile a red card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Red+Other> | Description$ You may exile a red card from your hand rather than pay this spell's mana cost. A:SP$ DamageAll | Cost$ 3 R R | NumDmg$ 2 | ValidCards$ Creature | ValidPlayers$ Player | ValidDescription$ each creature and each player. | SpellDescription$ CARDNAME deals 2 damage to each creature and each player. Oracle:You may exile a red card from your hand rather than pay this spell's mana cost.\nCave-In deals 2 damage to each creature and each player. diff --git a/forge-gui/res/cardsfolder/c/cobra_trap.txt b/forge-gui/res/cardsfolder/c/cobra_trap.txt index 9ba734b3a39..e8f55dab5f3 100644 --- a/forge-gui/res/cardsfolder/c/cobra_trap.txt +++ b/forge-gui/res/cardsfolder/c/cobra_trap.txt @@ -6,6 +6,6 @@ SVar:TrackValidDestroy:DB$ Pump | RememberObjects$ TriggeredCard T:Mode$ TurnBegin | Execute$ TrigReset | Static$ True SVar:TrigReset:DB$ Cleanup | ClearRemembered$ True SVar:SetTrap:Remembered$Amount -SVar:AltCost:Cost$ G | CheckSVar$ SetTrap | Description$ If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ G | CheckSVar$ SetTrap | Description$ If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay this spell's mana cost. A:SP$ Token | Cost$ 4 G G | TokenAmount$ 4 | TokenScript$ g_1_1_snake | TokenOwner$ You | StackDescription$ {p:You} creates four 1/1 green Snake creature tokens. | SpellDescription$ Create four 1/1 green Snake creature tokens. Oracle:If a noncreature permanent under your control was destroyed this turn by a spell or ability an opponent controlled, you may pay {G} rather than pay this spell's mana cost.\nCreate four 1/1 green Snake creature tokens. diff --git a/forge-gui/res/cardsfolder/c/commandeer.txt b/forge-gui/res/cardsfolder/c/commandeer.txt index d5d0f3f0170..b9baffda0ae 100644 --- a/forge-gui/res/cardsfolder/c/commandeer.txt +++ b/forge-gui/res/cardsfolder/c/commandeer.txt @@ -1,7 +1,7 @@ Name:Commandeer ManaCost:5 U U Types:Instant -SVar:AltCost:Cost$ ExileFromHand<2/Card.Blue+Other> | Description$ You may exile two blue cards from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<2/Card.Blue+Other> | Description$ You may exile two blue cards from your hand rather than pay this spell's mana cost. A:SP$ ControlSpell | Cost$ 5 U U | ValidTgts$ Card.nonCreature | TargetType$ Spell | Mode$ Gain | SubAbility$ DBChooseTargets | SpellDescription$ Gain control of target noncreature spell. You may choose new targets for it. (If that spell is an artifact, enchantment, or planeswalker, the permanent enters the battlefield under your control.) SVar:DBChooseTargets:DB$ ChangeTargets | Defined$ Targeted | Optional$ True AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/c/contagion.txt b/forge-gui/res/cardsfolder/c/contagion.txt index 6fb20dbc41c..d5f386092f0 100644 --- a/forge-gui/res/cardsfolder/c/contagion.txt +++ b/forge-gui/res/cardsfolder/c/contagion.txt @@ -1,7 +1,7 @@ Name:Contagion ManaCost:3 B B Types:Instant -SVar:AltCost:Cost$ PayLife<1> ExileFromHand<1/Card.Black+Other/black card> | Description$ You may pay 1 life and exile a black card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ PayLife<1> ExileFromHand<1/Card.Black+Other/black card> | Description$ You may pay 1 life and exile a black card from your hand rather than pay this spell's mana cost. A:SP$ PutCounter | Cost$ 3 B B | ValidTgts$ Creature | TgtPrompt$ Select target creature to distribute counters to | CounterType$ M2M1 | CounterNum$ 2 | TargetMin$ 1 | TargetMax$ 2 | DividedAsYouChoose$ 2 | IsCurse$ True | SpellDescription$ Distribute two -2/-1 counters among one or two target creatures. AI:RemoveDeck:All Oracle:You may pay 1 life and exile a black card from your hand rather than pay this spell's mana cost.\nDistribute two -2/-1 counters among one or two target creatures. diff --git a/forge-gui/res/cardsfolder/c/crash.txt b/forge-gui/res/cardsfolder/c/crash.txt index 53e9a838115..43cea2be475 100644 --- a/forge-gui/res/cardsfolder/c/crash.txt +++ b/forge-gui/res/cardsfolder/c/crash.txt @@ -1,6 +1,6 @@ Name:Crash ManaCost:2 R Types:Instant -SVar:AltCost:Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 2 R | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact. Oracle:You may sacrifice a Mountain rather than pay this spell's mana cost.\nDestroy target artifact. diff --git a/forge-gui/res/cardsfolder/d/dark_triumph.txt b/forge-gui/res/cardsfolder/d/dark_triumph.txt index 3060f21f9e2..a4a00f048f6 100644 --- a/forge-gui/res/cardsfolder/d/dark_triumph.txt +++ b/forge-gui/res/cardsfolder/d/dark_triumph.txt @@ -1,7 +1,7 @@ Name:Dark Triumph ManaCost:4 B Types:Instant -SVar:AltCost:Cost$ Sac<1/Creature/creature> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may sacrifice a creature rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Creature/creature> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may sacrifice a creature rather than pay this spell's mana cost. A:SP$ PumpAll | Cost$ 4 B | ValidCards$ Creature.YouCtrl | NumAtt$ +2 | SpellDescription$ Creatures you control get +2/+0 until end of turn. AI:RemoveDeck:All Oracle:If you control a Swamp, you may sacrifice a creature rather than pay this spell's mana cost.\nCreatures you control get +2/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/d/daze.txt b/forge-gui/res/cardsfolder/d/daze.txt index 16f8ef8000e..37028ddbec0 100644 --- a/forge-gui/res/cardsfolder/d/daze.txt +++ b/forge-gui/res/cardsfolder/d/daze.txt @@ -1,6 +1,6 @@ Name:Daze ManaCost:1 U Types:Instant -SVar:AltCost:Cost$ Return<1/Island> | AILogic$ MinCMC.4 | Description$ You may return an Island you control to its owner's hand rather than pay this spell's mana cost. -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 1 | SpellDescription$ Counter target spell unless its controller pays {1}. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Return<1/Island> | Description$ You may return an Island you control to its owner's hand rather than pay this spell's mana cost. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 1 | AILogic$ MinCMC.4 | SpellDescription$ Counter target spell unless its controller pays {1}. Oracle:You may return an Island you control to its owner's hand rather than pay this spell's mana cost.\nCounter target spell unless its controller pays {1}. diff --git a/forge-gui/res/cardsfolder/d/delraich.txt b/forge-gui/res/cardsfolder/d/delraich.txt index bc69c44bef5..7f324cd7164 100644 --- a/forge-gui/res/cardsfolder/d/delraich.txt +++ b/forge-gui/res/cardsfolder/d/delraich.txt @@ -3,5 +3,5 @@ ManaCost:6 B Types:Creature Horror PT:6/6 K:Trample -SVar:AltCost:Cost$ Sac<3/Creature.Black> | Description$ Trample +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<3/Creature.Black> | Description$ You may sacrifice three black creatures rather than pay this spell's mana cost. Oracle:You may sacrifice three black creatures rather than pay this spell's mana cost.\nTrample diff --git a/forge-gui/res/cardsfolder/d/demilich.txt b/forge-gui/res/cardsfolder/d/demilich.txt index 11204f1b929..24e6366e6c8 100644 --- a/forge-gui/res/cardsfolder/d/demilich.txt +++ b/forge-gui/res/cardsfolder/d/demilich.txt @@ -7,7 +7,7 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExile | TriggerZones$ Batt SVar:TrigExile:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose up to one target instant or sorcery card in your graveyard | ValidTgts$ Instant.YouCtrl,Sorcery.YouCtrl | RememberChanged$ True | SubAbility$ DBPlay SVar:DBPlay:DB$ Play | Defined$ Remembered | ValidSA$ Spell | Optional$ True | CopyCard$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:AltCost:Cost$ U U U U ExileFromGrave<4/Instant;Sorcery/instant or sorcery cards> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ U U U U ExileFromGrave<4/Instant;Sorcery/instant or sorcery cards> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. SVar:X:Count$ThisTurnCast_Instant.YouCtrl,Sorcery.YouCtrl DeckNeeds:Type$Instant|Sorcery Oracle:This spell costs {U} less to cast for each instant and sorcery spell you've cast this turn.\nWhenever Demilich attacks, exile up to one target instant or sorcery card from your graveyard. Copy it. You may cast the copy.\nYou may cast Demilich from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. diff --git a/forge-gui/res/cardsfolder/d/demon_of_deaths_gate.txt b/forge-gui/res/cardsfolder/d/demon_of_deaths_gate.txt index cc9fbb8f613..21aad84cb57 100644 --- a/forge-gui/res/cardsfolder/d/demon_of_deaths_gate.txt +++ b/forge-gui/res/cardsfolder/d/demon_of_deaths_gate.txt @@ -4,5 +4,5 @@ Types:Creature Demon PT:9/9 K:Trample K:Flying -SVar:AltCost:Cost$ PayLife<6> Sac<3/Creature.Black> | Description$ You may pay 6 life and sacrifice three black creatures rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ PayLife<6> Sac<3/Creature.Black> | Description$ You may pay 6 life and sacrifice three black creatures rather than pay this spell's mana cost. Oracle:You may pay 6 life and sacrifice three black creatures rather than pay this spell's mana cost.\nFlying, trample diff --git a/forge-gui/res/cardsfolder/d/demonic_embrace.txt b/forge-gui/res/cardsfolder/d/demonic_embrace.txt index 244e03b2669..8bd5399a2fe 100644 --- a/forge-gui/res/cardsfolder/d/demonic_embrace.txt +++ b/forge-gui/res/cardsfolder/d/demonic_embrace.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 1 B B | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 1 | AddKeyword$ Flying | AddType$ Demon | Description$ Enchanted creature gets +3/+1, has flying, and is a Demon in addition to its other types. -SVar:AltCost:Cost$ 1 B B PayLife<3> Discard<1/Card> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying 3 life and discarding a card in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ 1 B B PayLife<3> Discard<1/Card> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying 3 life and discarding a card in addition to paying its other costs. DeckHas:Ability$Discard|Graveyard SVar:DiscardMe:1 Oracle:Enchant creature\nEnchanted creature gets +3/+1, has flying, and is a Demon in addition to its other types.\nYou may cast Demonic Embrace from your graveyard by paying 3 life and discarding a card in addition to paying its other costs. diff --git a/forge-gui/res/cardsfolder/d/devastating_mastery.txt b/forge-gui/res/cardsfolder/d/devastating_mastery.txt index bcf08d183da..88af11c78ad 100644 --- a/forge-gui/res/cardsfolder/d/devastating_mastery.txt +++ b/forge-gui/res/cardsfolder/d/devastating_mastery.txt @@ -1,7 +1,7 @@ Name:Devastating Mastery ManaCost:2 W W W W Types:Sorcery -SVar:AltCost:Cost$ 2 W W | Description$ You may pay {2}{W}{W} rather than pay this spell's mana cost. | StackDescription$ If the {2}{W}{W} cost was paid, an opponent chooses up to two nonland permanents they control and returns them to their owner's hand. Destroy all nonland permanents. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 2 W W | Description$ You may pay {2}{W}{W} rather than pay this spell's mana cost. A:SP$ Branch | BranchConditionSVar$ AltCostPaid | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ OppChooses | FalseSubAbility$ DBDestroyAll | SpellDescription$ If the {2}{W}{W} cost was paid, an opponent chooses up to two nonland permanents they control and returns them to their owner's hand. Destroy all nonland permanents. SVar:OppChooses:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBChangeZone SVar:DBChangeZone:DB$ ChangeZone | ChangeType$ Permanent.nonLand+ChosenCtrl | SelectPrompt$ Choose up to two nonland permanents you control to return to their owner's hand | Chooser$ ChosenPlayer | DefinedPlayer$ ChosenPlayer | AILogic$ Always | ChangeNum$ 2 | Hidden$ True | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBDestroyAll diff --git a/forge-gui/res/cardsfolder/d/disrupting_shoal.txt b/forge-gui/res/cardsfolder/d/disrupting_shoal.txt index 724ca6892fe..24273833ebd 100644 --- a/forge-gui/res/cardsfolder/d/disrupting_shoal.txt +++ b/forge-gui/res/cardsfolder/d/disrupting_shoal.txt @@ -1,7 +1,7 @@ Name:Disrupting Shoal ManaCost:X U U Types:Instant Arcane -SVar:AltCost:Cost$ ExileFromHand<1/Card.Blue+Other+cmcEQX/blue card> | Announce$ X | Description$ You may exile a blue card with mana value X from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Blue+Other+cmcEQX/blue card> | Announce$ X | Description$ You may exile a blue card with mana value X from your hand rather than pay this spell's mana cost. A:SP$ Pump | Cost$ X U U | IsCurse$ True | TargetType$ Spell | TgtZone$ Stack | TgtPrompt$ Select target spell | ValidTgts$ Card | SubAbility$ DBCounter SVar:DBCounter:DB$ Counter | Defined$ Targeted | ConditionCheckSVar$ T | ConditionSVarCompare$ EQX | SpellDescription$ Counter target spell if its mana value is X. SVar:X:Count$xPaid diff --git a/forge-gui/res/cardsfolder/d/downhill_charge.txt b/forge-gui/res/cardsfolder/d/downhill_charge.txt index c7c5dd972e8..fbad60eeccf 100644 --- a/forge-gui/res/cardsfolder/d/downhill_charge.txt +++ b/forge-gui/res/cardsfolder/d/downhill_charge.txt @@ -1,7 +1,7 @@ Name:Downhill Charge ManaCost:2 R Types:Instant -SVar:AltCost:Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Target creature gets +X/+0 until end of turn, where X is the number of Mountains you control. SVar:X:Count$TypeYouCtrl.Mountain Oracle:You may sacrifice a Mountain rather than pay this spell's mana cost.\nTarget creature gets +X/+0 until end of turn, where X is the number of Mountains you control. diff --git a/forge-gui/res/cardsfolder/e/ensnare.txt b/forge-gui/res/cardsfolder/e/ensnare.txt index 64b144dc6e8..cd2f138e993 100644 --- a/forge-gui/res/cardsfolder/e/ensnare.txt +++ b/forge-gui/res/cardsfolder/e/ensnare.txt @@ -1,7 +1,7 @@ Name:Ensnare ManaCost:3 U Types:Instant -SVar:AltCost:Cost$ Return<2/Island> | Description$ You may return two Islands you control to their owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Return<2/Island> | Description$ You may return two Islands you control to their owner's hand rather than pay this spell's mana cost. A:SP$ TapAll | Cost$ 3 U | ValidCards$ Creature | SpellDescription$ Tap all creatures. AI:RemoveDeck:All Oracle:You may return two Islands you control to their owner's hand rather than pay this spell's mana cost.\nTap all creatures. diff --git a/forge-gui/res/cardsfolder/e/extravagant_spirit.txt b/forge-gui/res/cardsfolder/e/extravagant_spirit.txt index 833f88f3875..1382476bcd0 100644 --- a/forge-gui/res/cardsfolder/e/extravagant_spirit.txt +++ b/forge-gui/res/cardsfolder/e/extravagant_spirit.txt @@ -3,7 +3,7 @@ ManaCost:3 U Types:Creature Spirit PT:4/4 K:Flying -K:UpkeepCost:X:{1} for each card in your hand -SVar:X:Count$InYourHand +K:UpkeepCost:Y:{1} for each card in your hand +SVar:Y:Count$InYourHand AI:RemoveDeck:All Oracle:Flying\nAt the beginning of your upkeep, sacrifice Extravagant Spirit unless you pay {1} for each card in your hand. diff --git a/forge-gui/res/cardsfolder/f/fervent_mastery.txt b/forge-gui/res/cardsfolder/f/fervent_mastery.txt index 3140a1b353f..f07ac5e2711 100644 --- a/forge-gui/res/cardsfolder/f/fervent_mastery.txt +++ b/forge-gui/res/cardsfolder/f/fervent_mastery.txt @@ -1,7 +1,7 @@ Name:Fervent Mastery ManaCost:3 R R Types:Sorcery -SVar:AltCost:Cost$ 2 R R | Description$ You may pay {2}{R}{R} rather than pay this spell's mana cost. | StackDescription$ If the {2}{R}{R} cost was paid, an opponent discards any number of cards, then draws that many cards. Search your library for up to three cards, put them into your hand, shuffle, then discard three cards at random. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 2 R R | Description$ You may pay {2}{R}{R} rather than pay this spell's mana cost. | StackDescription$ If the {2}{R}{R} cost was paid, an opponent discards any number of cards, then draws that many cards. Search your library for up to three cards, put them into your hand, shuffle, then discard three cards at random. A:SP$ Branch | BranchConditionSVar$ AltCostPaid | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ OppDiscard | FalseSubAbility$ DBSearch | StackDescription$ Search your library for up to three cards, put them into your hand, shuffle, then discard three cards at random. | SpellDescription$ If the {2}{R}{R} cost was paid, an opponent discards any number of cards, then draws that many cards. Search your library for up to three cards, put them into your hand, shuffle, then discard three cards at random. SVar:OppDiscard:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBDiscard SVar:DBDiscard:DB$ Discard | Defined$ ChosenPlayer | AILogic$ DiscardUncastableAndExcess | AnyNumber$ True | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw diff --git a/forge-gui/res/cardsfolder/f/fettergeist.txt b/forge-gui/res/cardsfolder/f/fettergeist.txt index dac450d7d07..aff6230668f 100644 --- a/forge-gui/res/cardsfolder/f/fettergeist.txt +++ b/forge-gui/res/cardsfolder/f/fettergeist.txt @@ -3,7 +3,7 @@ ManaCost:2 U Types:Creature Spirit PT:3/4 K:Flying -K:UpkeepCost:X:{1} for each other creature you control -SVar:X:Count$Valid Creature.Other+YouCtrl +K:UpkeepCost:Y:{1} for each other creature you control +SVar:Y:Count$Valid Creature.Other+YouCtrl AI:RemoveDeck:All Oracle:Flying\nAt the beginning of your upkeep, sacrifice Fettergeist unless you pay {1} for each other creature you control. diff --git a/forge-gui/res/cardsfolder/f/fieldmist_borderpost.txt b/forge-gui/res/cardsfolder/f/fieldmist_borderpost.txt index ab43980fc2e..3d7d6de4c84 100644 --- a/forge-gui/res/cardsfolder/f/fieldmist_borderpost.txt +++ b/forge-gui/res/cardsfolder/f/fieldmist_borderpost.txt @@ -1,7 +1,7 @@ Name:Fieldmist Borderpost ManaCost:1 W U Types:Artifact -SVar:AltCost:Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ Combo W U | SpellDescription$ Add {W} or {U}. Oracle:You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost.\nFieldmist Borderpost enters the battlefield tapped.\n{T}: Add {W} or {U}. diff --git a/forge-gui/res/cardsfolder/f/fireblast.txt b/forge-gui/res/cardsfolder/f/fireblast.txt index ca2acf16156..7656ac962f8 100644 --- a/forge-gui/res/cardsfolder/f/fireblast.txt +++ b/forge-gui/res/cardsfolder/f/fireblast.txt @@ -1,6 +1,6 @@ Name:Fireblast ManaCost:4 R R Types:Instant -SVar:AltCost:Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 4 R R | ValidTgts$ Any | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to any target. Oracle:You may sacrifice two Mountains rather than pay this spell's mana cost.\nFireblast deals 4 damage to any target. diff --git a/forge-gui/res/cardsfolder/f/firewild_borderpost.txt b/forge-gui/res/cardsfolder/f/firewild_borderpost.txt index af74c9e23c9..ba9c36a4abb 100644 --- a/forge-gui/res/cardsfolder/f/firewild_borderpost.txt +++ b/forge-gui/res/cardsfolder/f/firewild_borderpost.txt @@ -1,7 +1,7 @@ Name:Firewild Borderpost ManaCost:1 R G Types:Artifact -SVar:AltCost:Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ Combo R G | SpellDescription$ Add {R} or {G}. Oracle:You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost.\nFirewild Borderpost enters the battlefield tapped.\n{T}: Add {R} or {G}. diff --git a/forge-gui/res/cardsfolder/f/flameshot.txt b/forge-gui/res/cardsfolder/f/flameshot.txt index 8d6c00e83c0..8a048f102db 100644 --- a/forge-gui/res/cardsfolder/f/flameshot.txt +++ b/forge-gui/res/cardsfolder/f/flameshot.txt @@ -1,7 +1,7 @@ Name:Flameshot ManaCost:3 R Types:Sorcery -SVar:AltCost:Cost$ Discard<1/Mountain> | Description$ You may discard a Mountain card rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Discard<1/Mountain> | Description$ You may discard a Mountain card rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Creature | TgtPrompt$ Select target creature to distribute damage to | NumDmg$ 3 | TargetMin$ 1 | TargetMax$ 3 | DividedAsYouChoose$ 3 | SpellDescription$ CARDNAME deals 3 damage divided as you choose among one, two, or three target creatures. AI:RemoveDeck:All Oracle:You may discard a Mountain card rather than pay this spell's mana cost.\nFlameshot deals 3 damage divided as you choose among one, two, or three target creatures. diff --git a/forge-gui/res/cardsfolder/f/foil.txt b/forge-gui/res/cardsfolder/f/foil.txt index 21fb929baaf..331cad476b9 100644 --- a/forge-gui/res/cardsfolder/f/foil.txt +++ b/forge-gui/res/cardsfolder/f/foil.txt @@ -1,6 +1,6 @@ Name:Foil ManaCost:2 U U Types:Instant -SVar:AltCost:Cost$ Discard<1/Island> Discard<1/Card.Other> | Description$ You may discard an Island card and another card rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Discard<1/Island> Discard<1/Card.Other> | Description$ You may discard an Island card and another card rather than pay this spell's mana cost. A:SP$ Counter | Cost$ 2 U U | TargetType$ Spell | ValidTgts$ Card | SpellDescription$ Counter target spell. Oracle:You may discard an Island card and another card rather than pay this spell's mana cost.\nCounter target spell. diff --git a/forge-gui/res/cardsfolder/f/force_of_despair.txt b/forge-gui/res/cardsfolder/f/force_of_despair.txt index 0b3c03f051e..99350807033 100644 --- a/forge-gui/res/cardsfolder/f/force_of_despair.txt +++ b/forge-gui/res/cardsfolder/f/force_of_despair.txt @@ -1,6 +1,6 @@ Name:Force of Despair ManaCost:1 B B Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Black+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Black+Other> | Condition$ NotPlayerTurn | Description$ If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost. A:SP$ DestroyAll | Cost$ 1 B B | ValidCards$ Creature.ThisTurnEntered | SpellDescription$ Destroy all creatures that entered the battlefield this turn. Oracle:If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost.\nDestroy all creatures that entered the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/f/force_of_negation.txt b/forge-gui/res/cardsfolder/f/force_of_negation.txt index 16851bc05f0..6d8f3996997 100644 --- a/forge-gui/res/cardsfolder/f/force_of_negation.txt +++ b/forge-gui/res/cardsfolder/f/force_of_negation.txt @@ -1,6 +1,6 @@ Name:Force of Negation ManaCost:1 U U Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Blue+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Blue+Other> | Condition$ NotPlayerTurn | Description$ If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost. A:SP$ Counter | Cost$ 1 U U | TargetType$ Spell | TgtPrompt$ Select target noncreature spell | ValidTgts$ Card.nonCreature | Destination$ Exile | SpellDescription$ Counter target noncreature spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. | StackDescription$ SpellDescription Oracle:If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost.\nCounter target noncreature spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. diff --git a/forge-gui/res/cardsfolder/f/force_of_rage.txt b/forge-gui/res/cardsfolder/f/force_of_rage.txt index a4e33333aea..187213c493c 100644 --- a/forge-gui/res/cardsfolder/f/force_of_rage.txt +++ b/forge-gui/res/cardsfolder/f/force_of_rage.txt @@ -1,7 +1,7 @@ Name:Force of Rage ManaCost:1 R R Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Red+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a red card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Red+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a red card from your hand rather than pay this spell's mana cost. A:SP$ Token | Cost$ 1 R R | TokenAmount$ 2 | TokenScript$ r_3_1_elemental_trample_haste | TokenOwner$ You | SubAbility$ DelayedSac | RememberTokens$ True | SpellDescription$ Create two 3/1 red Elemental creature tokens with trample and haste. Sacrifice those tokens at the beginning of your next upkeep. SVar:DelayedSac:DB$ DelayedTrigger | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ DBSacToken | RememberObjects$ Remembered | SubAbility$ DBCleanup | TriggerDescription$ Sacrifice those tokens at the beginning of your next upkeep. SVar:DBSacToken:DB$ SacrificeAll | Defined$ DelayTriggerRememberedLKI | Controller$ You diff --git a/forge-gui/res/cardsfolder/f/force_of_vigor.txt b/forge-gui/res/cardsfolder/f/force_of_vigor.txt index 7cd85fef1a1..c342fee3e2f 100644 --- a/forge-gui/res/cardsfolder/f/force_of_vigor.txt +++ b/forge-gui/res/cardsfolder/f/force_of_vigor.txt @@ -1,6 +1,6 @@ Name:Force of Vigor ManaCost:2 G G Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Green+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a green card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Green+Other> | Condition$ NotPlayerTurn | Description$ If it's not your turn, you may exile a green card from your hand rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 2 G G | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SpellDescription$ Destroy up to two target artifacts and/or enchantments. Oracle:If it's not your turn, you may exile a green card from your hand rather than pay this spell's mana cost.\nDestroy up to two target artifacts and/or enchantments. diff --git a/forge-gui/res/cardsfolder/f/force_of_virtue.txt b/forge-gui/res/cardsfolder/f/force_of_virtue.txt index 27b71601bd9..71a81374f1d 100644 --- a/forge-gui/res/cardsfolder/f/force_of_virtue.txt +++ b/forge-gui/res/cardsfolder/f/force_of_virtue.txt @@ -2,7 +2,7 @@ Name:Force of Virtue ManaCost:2 W W Types:Enchantment K:Flash -SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other> | OpponentTurn$ True | Description$ If it's not your turn, you may exile a white card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.White+Other> | Condition$ NotPlayerTurn | Description$ If it's not your turn, you may exile a white card from your hand rather than pay this spell's mana cost. S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures you control get +1/+1. SVar:BuffedBy:Creature AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/f/force_of_will.txt b/forge-gui/res/cardsfolder/f/force_of_will.txt index f84957d7306..be56ba0445a 100644 --- a/forge-gui/res/cardsfolder/f/force_of_will.txt +++ b/forge-gui/res/cardsfolder/f/force_of_will.txt @@ -1,6 +1,6 @@ Name:Force of Will ManaCost:3 U U Types:Instant -SVar:AltCost:Cost$ PayLife<1> ExileFromHand<1/Card.Blue+Other> | Description$ You may pay 1 life and exile a blue card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ PayLife<1> ExileFromHand<1/Card.Blue+Other> | Description$ You may pay 1 life and exile a blue card from your hand rather than pay this spell's mana cost. A:SP$ Counter | Cost$ 3 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | Destination$ Graveyard | AILogic$ MinCMC.3 | SpellDescription$ Counter target spell. Oracle:You may pay 1 life and exile a blue card from your hand rather than pay this spell's mana cost.\nCounter target spell. diff --git a/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt b/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt index 71b75ce9046..e7dfc817665 100644 --- a/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt +++ b/forge-gui/res/cardsfolder/f/fury_of_the_horde.txt @@ -1,7 +1,7 @@ Name:Fury of the Horde ManaCost:5 R R Types:Sorcery -SVar:AltCost:Cost$ ExileFromHand<2/Card.Red+Other> | Description$ You may exile two red cards from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<2/Card.Red+Other> | Description$ You may exile two red cards from your hand rather than pay this spell's mana cost. A:SP$ UntapAll | Cost$ 5 R R | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | FollowedBy$ Main2 | ConditionPhases$ Main1,Main2 Oracle:You may exile two red cards from your hand rather than pay this spell's mana cost.\nUntap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. diff --git a/forge-gui/res/cardsfolder/g/gush.txt b/forge-gui/res/cardsfolder/g/gush.txt index 965db4f6c4f..9a172d1a356 100644 --- a/forge-gui/res/cardsfolder/g/gush.txt +++ b/forge-gui/res/cardsfolder/g/gush.txt @@ -1,6 +1,6 @@ Name:Gush ManaCost:4 U Types:Instant -SVar:AltCost:Cost$ Return<2/Island> | Description$ You may return two Islands you control to their owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Return<2/Island> | Description$ You may return two Islands you control to their owner's hand rather than pay this spell's mana cost. A:SP$ Draw | Cost$ 4 U | NumCards$ 2 | SpellDescription$ Draw two cards. Oracle:You may return two Islands you control to their owner's hand rather than pay this spell's mana cost.\nDraw two cards. diff --git a/forge-gui/res/cardsfolder/h/hand_of_emrakul.txt b/forge-gui/res/cardsfolder/h/hand_of_emrakul.txt index cc09ac64bb5..eee6ad3b6f0 100644 --- a/forge-gui/res/cardsfolder/h/hand_of_emrakul.txt +++ b/forge-gui/res/cardsfolder/h/hand_of_emrakul.txt @@ -3,5 +3,5 @@ ManaCost:9 Types:Creature Eldrazi PT:7/7 K:Annihilator:1 -SVar:AltCost:Cost$ Sac<4/Eldrazi.Spawn> | Description$ You may sacrifice four Eldrazi Spawn rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<4/Eldrazi.Spawn> | Description$ You may sacrifice four Eldrazi Spawn rather than pay this spell's mana cost. Oracle:You may sacrifice four Eldrazi Spawn rather than pay this spell's mana cost.\nAnnihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent.) diff --git a/forge-gui/res/cardsfolder/h/helbrute.txt b/forge-gui/res/cardsfolder/h/helbrute.txt index cc8485cc6f8..6e6ee122fc9 100644 --- a/forge-gui/res/cardsfolder/h/helbrute.txt +++ b/forge-gui/res/cardsfolder/h/helbrute.txt @@ -3,6 +3,6 @@ ManaCost:3 B R Types:Artifact Creature Astartes Dreadnought PT:5/4 K:Haste -SVar:AltCost:Cost$ 3 B R ExileFromGrave<1/Creature.Other/another creature card> | PrecostDesc$ Sarcophagus — | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by exiling another creature card from your graveyard in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ 3 B R ExileFromGrave<1/Creature.Other/another creature card> | ActivationZone$ Graveyard | Description$ Sarcophagus — You may cast CARDNAME from your graveyard by exiling another creature card from your graveyard in addition to paying its other costs. DeckHas:Ability$Graveyard Oracle:Haste\nSarcophagus — You may cast Helbrute from your graveyard by exiling another creature card from your graveyard in addition to paying its other costs. diff --git a/forge-gui/res/cardsfolder/h/hogaak_arisen_necropolis.txt b/forge-gui/res/cardsfolder/h/hogaak_arisen_necropolis.txt index 8a361d00f74..562ad0581e9 100644 --- a/forge-gui/res/cardsfolder/h/hogaak_arisen_necropolis.txt +++ b/forge-gui/res/cardsfolder/h/hogaak_arisen_necropolis.txt @@ -7,5 +7,5 @@ K:Delve K:Trample Text:You can't spend mana to cast this spell. A:SP$ PermanentCreature | Cost$ 5 BG BG | ManaRestriction$ None -SVar:AltCost:Cost$ 5 BG BG | ManaRestriction$ None | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard. Oracle:You can't spend mana to cast this spell.\nConvoke, delve (Each creature you tap while casting this spell pays for {1} or one mana of that creature's color. Each card you exile from your graveyard pays for {1}.)\nYou may cast Hogaak, Arisen Necropolis from your graveyard.\nTrample diff --git a/forge-gui/res/cardsfolder/i/inferno_trap.txt b/forge-gui/res/cardsfolder/i/inferno_trap.txt index 002e2bed393..54180884150 100644 --- a/forge-gui/res/cardsfolder/i/inferno_trap.txt +++ b/forge-gui/res/cardsfolder/i/inferno_trap.txt @@ -1,7 +1,7 @@ Name:Inferno Trap ManaCost:3 R Types:Instant Trap -SVar:AltCost:Cost$ R | CheckSVar$ CreaturesDmg | SVarCompare$ GE2 | Description$ If you've been dealt damage by two or more creatures this turn, you may pay {R} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ R | CheckSVar$ CreaturesDmg | SVarCompare$ GE2 | Description$ If you've been dealt damage by two or more creatures this turn, you may pay {R} rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to target creature. SVar:CreaturesDmg:Count$NumDamageThisTurn Creature You AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/i/ingenious_mastery.txt b/forge-gui/res/cardsfolder/i/ingenious_mastery.txt index 4be0fdad21d..ff4fb2c2bb4 100644 --- a/forge-gui/res/cardsfolder/i/ingenious_mastery.txt +++ b/forge-gui/res/cardsfolder/i/ingenious_mastery.txt @@ -1,7 +1,7 @@ Name:Ingenious Mastery ManaCost:X 2 U Types:Sorcery -SVar:AltCost:Cost$ 2 U | Description$ You may pay {2}{U} rather than pay this spell's mana cost. | StackDescription$ If the {2}{U} cost was paid, you draw three cards, then an opponent creates two Treasure tokens and they scry 2. If that cost wasn't paid, you draw X cards. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 2 U | Description$ You may pay {2}{U} rather than pay this spell's mana cost. | StackDescription$ If the {2}{U} cost was paid, you draw three cards, then an opponent creates two Treasure tokens and they scry 2. If that cost wasn't paid, you draw X cards. A:SP$ Branch | BranchConditionSVar$ AltCostPaid | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBAltCostEffect | FalseSubAbility$ DBDrawX | SpellDescription$ If the {2}{U} cost was paid, you draw three cards, then an opponent creates two Treasure tokens and they scry 2. If that cost wasn't paid, you draw X cards. SVar:DBAltCostEffect:DB$ Draw | Defined$ You | NumCards$ 3 | SubAbility$ OppTreasureScry SVar:OppTreasureScry:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent to create treasure tokens and scry 2 | SubAbility$ OppTreasure diff --git a/forge-gui/res/cardsfolder/i/invigorate.txt b/forge-gui/res/cardsfolder/i/invigorate.txt index 058809edeb2..4535a3aca95 100644 --- a/forge-gui/res/cardsfolder/i/invigorate.txt +++ b/forge-gui/res/cardsfolder/i/invigorate.txt @@ -1,6 +1,6 @@ Name:Invigorate ManaCost:2 G Types:Instant -SVar:AltCost:Cost$ GainLife<3/Player.Opponent> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have an opponent gain 3 life. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ GainLife<3/Player.Opponent> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have an opponent gain 3 life. A:SP$ Pump | Cost$ 2 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +4 | NumDef$ +4 | SpellDescription$ Target creature gets +4/+4 until end of turn. Oracle:If you control a Forest, rather than pay this spell's mana cost, you may have an opponent gain 3 life.\nTarget creature gets +4/+4 until end of turn. diff --git a/forge-gui/res/cardsfolder/l/lashknife.txt b/forge-gui/res/cardsfolder/l/lashknife.txt index 37d95cab8a9..ab0c93fda4f 100644 --- a/forge-gui/res/cardsfolder/l/lashknife.txt +++ b/forge-gui/res/cardsfolder/l/lashknife.txt @@ -2,7 +2,7 @@ Name:Lashknife ManaCost:1 W Types:Enchantment Aura K:Enchant creature -SVar:AltCost:Cost$ tapXType<1/Creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<1/Creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ Attach | Cost$ 1 W | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ First Strike | Description$ Enchanted creature has first strike. Oracle:If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost.\nEnchant creature\nEnchanted creature has first strike. diff --git a/forge-gui/res/cardsfolder/l/lavaball_trap.txt b/forge-gui/res/cardsfolder/l/lavaball_trap.txt index 1d05a4cd9d6..40e66cf384f 100644 --- a/forge-gui/res/cardsfolder/l/lavaball_trap.txt +++ b/forge-gui/res/cardsfolder/l/lavaball_trap.txt @@ -1,7 +1,7 @@ Name:Lavaball Trap ManaCost:6 R R Types:Instant Trap -SVar:AltCost:Cost$ 3 R R | CheckSVar$ LandsEntered | Description$ If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 3 R R | CheckSVar$ LandsEntered | Description$ If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 6 R R | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select two target lands | SubAbility$ DBDamageAll | SpellDescription$ Destroy two target lands. CARDNAME deals 4 damage to each creature. SVar:DBDamageAll:DB$ DamageAll | ValidCards$ Creature | NumDmg$ 4 | ValidDescription$ each creature. SVar:LandsEntered:PlayerCountOpponents$ConditionGE2 ThisTurnEntered_Battlefield_Land.YouCtrl diff --git a/forge-gui/res/cardsfolder/l/lethargy_trap.txt b/forge-gui/res/cardsfolder/l/lethargy_trap.txt index 2497f252de4..3e945d7b585 100644 --- a/forge-gui/res/cardsfolder/l/lethargy_trap.txt +++ b/forge-gui/res/cardsfolder/l/lethargy_trap.txt @@ -1,6 +1,6 @@ Name:Lethargy Trap ManaCost:3 U Types:Instant Trap -SVar:AltCost:Cost$ U | IsPresent$ Creature.attacking | PresentCompare$ GE3 | Description$ If three or more creatures are attacking, you may pay {U} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ U | IsPresent$ Creature.attacking | PresentCompare$ GE3 | Description$ If three or more creatures are attacking, you may pay {U} rather than pay this spell's mana cost. A:SP$ PumpAll | Cost$ 3 U | ValidCards$ Creature.attacking | NumAtt$ -3 | IsCurse$ True | SpellDescription$ Attacking creatures get -3/-0 until end of turn. Oracle:If three or more creatures are attacking, you may pay {U} rather than pay this spell's mana cost.\nAttacking creatures get -3/-0 until end of turn. diff --git a/forge-gui/res/cardsfolder/m/me_the_immortal.txt b/forge-gui/res/cardsfolder/m/me_the_immortal.txt index b8e18477dac..59f453ebe39 100644 --- a/forge-gui/res/cardsfolder/m/me_the_immortal.txt +++ b/forge-gui/res/cardsfolder/m/me_the_immortal.txt @@ -5,7 +5,7 @@ PT:3/3 T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCounter | TriggerDescription$ At the beginning of combat on your turn, put your choice of a +1/+1, first strike, vigilance, or menace counter on CARDNAME. SVar:TrigCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1,First Strike,Vigilance,Menace | CounterNum$ 1 K:Counters remain on CARDNAME as it moves to any zone other than a player's hand or library. -SVar:AltCost:Cost$ 2 G U R Discard<2/Card> | ActivationZone$ Graveyard | Description$ You may cast NICKNAME from your graveyard by discarding two cards in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ 2 G U R Discard<2/Card> | ActivationZone$ Graveyard | Description$ You may cast NICKNAME from your graveyard by discarding two cards in addition to paying its other costs. DeckHas:Ability$Counters|Discard DeckHints:Ability$Counters Oracle:At the beginning of combat on your turn, put your choice of a +1/+1, first strike, vigilance, or menace counter on Me, the Immortal.\nCounters remain on Me as it moves to any zone other than a player's hand or library.\nYou may cast Me from your graveyard by discarding two cards in addition to paying its other costs. diff --git a/forge-gui/res/cardsfolder/m/mind_swords.txt b/forge-gui/res/cardsfolder/m/mind_swords.txt index ab9edc8f0c0..3df35ebaff2 100644 --- a/forge-gui/res/cardsfolder/m/mind_swords.txt +++ b/forge-gui/res/cardsfolder/m/mind_swords.txt @@ -1,7 +1,7 @@ Name:Mind Swords ManaCost:1 B Types:Sorcery -SVar:AltCost:Cost$ Sac<1/Creature/creature> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may sacrifice a creature rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Creature/creature> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may sacrifice a creature rather than pay this spell's mana cost. A:SP$ RepeatEach | Cost$ 1 B | RepeatPlayers$ Player | RepeatSubAbility$ DBExile | StackDescription$ SpellDescription | SpellDescription$ Each player exiles two cards from their hand. SVar:DBExile:DB$ ChangeZone | DefinedPlayer$ Player.IsRemembered | Chooser$ Player.IsRemembered | Origin$ Hand | Destination$ Exile | ChangeType$ Card | ChangeNum$ 2 | Hidden$ True | Mandatory$ True | SpellDescription$ exiles two cards from their hand. AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/m/mindbreak_trap.txt b/forge-gui/res/cardsfolder/m/mindbreak_trap.txt index d20bce79d4c..0491fbd1df4 100644 --- a/forge-gui/res/cardsfolder/m/mindbreak_trap.txt +++ b/forge-gui/res/cardsfolder/m/mindbreak_trap.txt @@ -1,7 +1,7 @@ Name:Mindbreak Trap ManaCost:2 U U Types:Instant Trap -SVar:AltCost:Cost$ 0 | CheckSVar$ OppCastThisTurn | Description$ If an opponent cast three or more spells this turn, you may pay {0} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 0 | CheckSVar$ OppCastThisTurn | Description$ If an opponent cast three or more spells this turn, you may pay {0} rather than pay this spell's mana cost. A:SP$ ChangeZone | Cost$ 2 U U | TargetType$ Spell | ValidTgts$ Card | TgtZone$ Stack | Origin$ Stack | Destination$ Exile | TargetMin$ 0 | TargetMax$ MaxTgts | Fizzle$ True | StackDescription$ SpellDescription | SpellDescription$ Exile any number of target spells. SVar:OppCastThisTurn:PlayerCountOpponents$ConditionGE3 SpellsCastThisTurn SVar:MaxTgts:Count$SpellsOnStack diff --git a/forge-gui/res/cardsfolder/m/mindswipe.txt b/forge-gui/res/cardsfolder/m/mindswipe.txt index acca39ea682..7d49f2f2a2a 100644 --- a/forge-gui/res/cardsfolder/m/mindswipe.txt +++ b/forge-gui/res/cardsfolder/m/mindswipe.txt @@ -1,7 +1,7 @@ Name:Mindswipe ManaCost:X U R Types:Instant -A:SP$ Counter | Cost$ X U R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBBurn | SpellDescription$ Counter target spell unless its controller pays {X}. Mindswipe deals {X} damage to that spell's controller. +A:SP$ Counter | Cost$ X U R | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ X | SubAbility$ DBBurn | SpellDescription$ Counter target spell unless its controller pays {X}. CARDNAME deals {X} damage to that spell's controller. SVar:DBBurn:DB$ DealDamage | NumDmg$ X | Defined$ TargetedController SVar:X:Count$xPaid Oracle:Counter target spell unless its controller pays {X}. Mindswipe deals X damage to that spell's controller. diff --git a/forge-gui/res/cardsfolder/m/mine_collapse.txt b/forge-gui/res/cardsfolder/m/mine_collapse.txt index 61fbd25afeb..14ecfeb08b8 100644 --- a/forge-gui/res/cardsfolder/m/mine_collapse.txt +++ b/forge-gui/res/cardsfolder/m/mine_collapse.txt @@ -1,6 +1,6 @@ Name:Mine Collapse ManaCost:3 R Types:Instant -SVar:AltCost:Cost$ Sac<1/Mountain> | PlayerTurn$ True | Description$ If it's your turn, you may sacrifice a Mountain rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Mountain> | Condition$ PlayerTurn | Description$ If it's your turn, you may sacrifice a Mountain rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 5 | SpellDescription$ CARDNAME deals 5 damage to target creature or planeswalker. Oracle:If it's your turn, you may sacrifice a Mountain rather than pay this spell's mana cost.\nMine Collapse deals 5 damage to target creature or planeswalker. diff --git a/forge-gui/res/cardsfolder/m/misdirection.txt b/forge-gui/res/cardsfolder/m/misdirection.txt index b059ca57e0d..38f848fa906 100644 --- a/forge-gui/res/cardsfolder/m/misdirection.txt +++ b/forge-gui/res/cardsfolder/m/misdirection.txt @@ -1,7 +1,7 @@ Name:Misdirection ManaCost:3 U U Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Blue+Other> | Description$ You may exile a blue card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Blue+Other> | Description$ You may exile a blue card from your hand rather than pay this spell's mana cost. A:SP$ ChangeTargets | TargetType$ Spell.singleTarget | ValidTgts$ Card | TgtPrompt$ Select target spell with a single target | SpellDescription$ Change the target of target spell with a single target. AI:RemoveDeck:All Oracle:You may exile a blue card from your hand rather than pay this spell's mana cost.\nChange the target of target spell with a single target. diff --git a/forge-gui/res/cardsfolder/m/mistvein_borderpost.txt b/forge-gui/res/cardsfolder/m/mistvein_borderpost.txt index 729b28caeb5..e1711740c3e 100644 --- a/forge-gui/res/cardsfolder/m/mistvein_borderpost.txt +++ b/forge-gui/res/cardsfolder/m/mistvein_borderpost.txt @@ -1,7 +1,7 @@ Name:Mistvein Borderpost ManaCost:1 U B Types:Artifact -SVar:AltCost:Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ Combo U B | SpellDescription$ Add {U} or {B}. Oracle:You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost.\nMistvein Borderpost enters the battlefield tapped.\n{T}: Add {U} or {B}. diff --git a/forge-gui/res/cardsfolder/m/mogg_alarm.txt b/forge-gui/res/cardsfolder/m/mogg_alarm.txt index ab944dd59ea..2a867acb406 100644 --- a/forge-gui/res/cardsfolder/m/mogg_alarm.txt +++ b/forge-gui/res/cardsfolder/m/mogg_alarm.txt @@ -1,6 +1,6 @@ Name:Mogg Alarm ManaCost:1 R R Types:Sorcery -SVar:AltCost:Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. A:SP$ Token | Cost$ 1 R R | TokenAmount$ 2 | TokenScript$ r_1_1_goblin | TokenOwner$ You | StackDescription$ {p:You} creates two 1/1 red Goblin creature tokens. | SpellDescription$ Create two 1/1 red Goblin creature tokens. Oracle:You may sacrifice two Mountains rather than pay this spell's mana cost.\nCreate two 1/1 red Goblin creature tokens. diff --git a/forge-gui/res/cardsfolder/n/needlebite_trap.txt b/forge-gui/res/cardsfolder/n/needlebite_trap.txt index b695915b655..0eba256f38d 100644 --- a/forge-gui/res/cardsfolder/n/needlebite_trap.txt +++ b/forge-gui/res/cardsfolder/n/needlebite_trap.txt @@ -1,7 +1,7 @@ Name:Needlebite Trap ManaCost:5 B B Types:Instant Trap -SVar:AltCost:Cost$ B | CheckSVar$ OppLifeGained | Description$ If an opponent gained life this turn, you may pay {B} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ B | CheckSVar$ OppLifeGained | Description$ If an opponent gained life this turn, you may pay {B} rather than pay this spell's mana cost. SVar:OppLifeGained:PlayerCountOpponents$LifeGainedThisTurn A:SP$ LoseLife | Cost$ 5 B B | ValidTgts$ Player | TgtPrompt$ Select target player | LifeAmount$ 5 | SubAbility$ DBGainLife | SpellDescription$ Target player loses 5 life and you gain 5 life. SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 5 diff --git a/forge-gui/res/cardsfolder/n/nemesis_trap.txt b/forge-gui/res/cardsfolder/n/nemesis_trap.txt index fd00cc4d300..381911b81f6 100644 --- a/forge-gui/res/cardsfolder/n/nemesis_trap.txt +++ b/forge-gui/res/cardsfolder/n/nemesis_trap.txt @@ -1,7 +1,7 @@ Name:Nemesis Trap ManaCost:4 B B Types:Instant Trap -SVar:AltCost:Cost$ B B | IsPresent$ Creature.White+attacking | Description$ If a white creature is attacking, you may pay {B}{B} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ B B | IsPresent$ Creature.White+attacking | Description$ If a white creature is attacking, you may pay {B}{B} rather than pay this spell's mana cost. A:SP$ ChangeZone | Cost$ 4 B B | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ NemesisToken | SpellDescription$ Exile target attacking creature. Create a token that's a copy of that creature. Exile it at the beginning of the next end step. SVar:NemesisToken:DB$ CopyPermanent | Defined$ DirectRemembered | AtEOT$ Exile | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/n/nourishing_shoal.txt b/forge-gui/res/cardsfolder/n/nourishing_shoal.txt index c8ae366ffe7..9356421270f 100644 --- a/forge-gui/res/cardsfolder/n/nourishing_shoal.txt +++ b/forge-gui/res/cardsfolder/n/nourishing_shoal.txt @@ -1,7 +1,7 @@ Name:Nourishing Shoal ManaCost:X G G Types:Instant Arcane -SVar:AltCost:Cost$ ExileFromHand<1/Card.Green+Other+cmcEQX/green card> | Announce$ X | Description$ You may exile a green card with mana value X from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Green+Other+cmcEQX/green card> | Announce$ X | Description$ You may exile a green card with mana value X from your hand rather than pay this spell's mana cost. A:SP$ GainLife | Cost$ X G G | LifeAmount$ X | SpellDescription$ You gain X life. SVar:X:Count$xPaid AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/o/orims_cure.txt b/forge-gui/res/cardsfolder/o/orims_cure.txt index 76eb0cd8f3f..3e98453962e 100644 --- a/forge-gui/res/cardsfolder/o/orims_cure.txt +++ b/forge-gui/res/cardsfolder/o/orims_cure.txt @@ -1,6 +1,6 @@ Name:Orim's Cure ManaCost:1 W Types:Instant -SVar:AltCost:Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ PreventDamage | Cost$ 1 W | ValidTgts$ Any | Amount$ 4 | SpellDescription$ Prevent the next 4 damage that would be dealt to any target this turn. Oracle:If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost.\nPrevent the next 4 damage that would be dealt to any target this turn. diff --git a/forge-gui/res/cardsfolder/o/outbreak.txt b/forge-gui/res/cardsfolder/o/outbreak.txt index bad38638483..27cf97200b2 100644 --- a/forge-gui/res/cardsfolder/o/outbreak.txt +++ b/forge-gui/res/cardsfolder/o/outbreak.txt @@ -1,7 +1,7 @@ Name:Outbreak ManaCost:3 B Types:Sorcery -SVar:AltCost:Cost$ Discard<1/Swamp/Swamp card> | Description$ You may discard a Swamp card rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Discard<1/Swamp/Swamp card> | Description$ You may discard a Swamp card rather than pay this spell's mana cost. A:SP$ ChooseType | Cost$ 3 B | Defined$ You | Type$ Creature | SubAbility$ DBPumpAll | SpellDescription$ Choose a creature type. All creatures of that type get -1/-1 until end of turn. SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.ChosenType | IsCurse$ True | NumAtt$ -1 | NumDef$ -1 | SpellDescription$ All creatures of that type get -1/-1 until end of turn. AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/p/permafrost_trap.txt b/forge-gui/res/cardsfolder/p/permafrost_trap.txt index 7cada5d5e1f..c9571ed4943 100644 --- a/forge-gui/res/cardsfolder/p/permafrost_trap.txt +++ b/forge-gui/res/cardsfolder/p/permafrost_trap.txt @@ -1,7 +1,7 @@ Name:Permafrost Trap ManaCost:2 U U Types:Instant Trap -SVar:AltCost:Cost$ U | CheckSVar$ GreenCreats | Description$ If an opponent had a green creature enter the battlefield under their control this turn, you may pay {U} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ U | CheckSVar$ GreenCreats | Description$ If an opponent had a green creature enter the battlefield under their control this turn, you may pay {U} rather than pay this spell's mana cost. A:SP$ Tap | Cost$ 2 U U | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBPump | SpellDescription$ Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent | StackDescription$ {c:Targeted} don't untap during {p:TargetedController}'s next untap step. SVar:GreenCreats:Count$ThisTurnEntered_Battlefield_Creature.Green+OppCtrl diff --git a/forge-gui/res/cardsfolder/p/pitfall_trap.txt b/forge-gui/res/cardsfolder/p/pitfall_trap.txt index 0af88ac77b7..86a70f0fd35 100644 --- a/forge-gui/res/cardsfolder/p/pitfall_trap.txt +++ b/forge-gui/res/cardsfolder/p/pitfall_trap.txt @@ -1,6 +1,6 @@ Name:Pitfall Trap ManaCost:2 W Types:Instant Trap -SVar:AltCost:Cost$ W | IsPresent$ Creature.attacking | PresentCompare$ EQ1 | Description$ If exactly one creature is attacking, you may pay {W} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W | IsPresent$ Creature.attacking | PresentCompare$ EQ1 | Description$ If exactly one creature is attacking, you may pay {W} rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 2 W | ValidTgts$ Creature.attacking+withoutFlying | TgtPrompt$ Select target attacking creature without flying | SpellDescription$ Destroy target attacking creature without flying. Oracle:If exactly one creature is attacking, you may pay {W} rather than pay this spell's mana cost.\nDestroy target attacking creature without flying. diff --git a/forge-gui/res/cardsfolder/p/pulverize.txt b/forge-gui/res/cardsfolder/p/pulverize.txt index 1ca1d558c32..ccac7837a18 100644 --- a/forge-gui/res/cardsfolder/p/pulverize.txt +++ b/forge-gui/res/cardsfolder/p/pulverize.txt @@ -1,6 +1,6 @@ Name:Pulverize ManaCost:4 R R Types:Sorcery -SVar:AltCost:Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<2/Mountain> | Description$ You may sacrifice two Mountains rather than pay this spell's mana cost. A:SP$ DestroyAll | Cost$ 4 R R | ValidCards$ Artifact | SpellDescription$ Destroy all artifacts. Oracle:You may sacrifice two Mountains rather than pay this spell's mana cost.\nDestroy all artifacts. diff --git a/forge-gui/res/cardsfolder/p/pyrokinesis.txt b/forge-gui/res/cardsfolder/p/pyrokinesis.txt index dc3c951c897..73b9a55099a 100644 --- a/forge-gui/res/cardsfolder/p/pyrokinesis.txt +++ b/forge-gui/res/cardsfolder/p/pyrokinesis.txt @@ -1,6 +1,6 @@ Name:Pyrokinesis ManaCost:4 R R Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Red+Other> | Description$ You may exile a red card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Red+Other> | Description$ You may exile a red card from your hand rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 4 R R | ValidTgts$ Creature | TgtPrompt$ Select any number of target creatures to distribute damage to | NumDmg$ 4 | TargetMin$ 0 | TargetMax$ 4 | DividedAsYouChoose$ 4 | SpellDescription$ CARDNAME deals 4 damage divided as you choose among any number of target creatures. Oracle:You may exile a red card from your hand rather than pay this spell's mana cost.\nPyrokinesis deals 4 damage divided as you choose among any number of target creatures. diff --git a/forge-gui/res/cardsfolder/r/raffines_guidance.txt b/forge-gui/res/cardsfolder/r/raffines_guidance.txt index b09866b10b1..810592b8200 100644 --- a/forge-gui/res/cardsfolder/r/raffines_guidance.txt +++ b/forge-gui/res/cardsfolder/r/raffines_guidance.txt @@ -4,6 +4,6 @@ Types:Enchantment Aura K:Enchant creature A:SP$ Attach | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Enchanted creature gets +1/+1. -SVar:AltCost:Cost$ 2 W | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying {2}{W} rather than paying its mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ Graveyard | Cost$ 2 W | Description$ You may cast CARDNAME from your graveyard by paying {2}{W} rather than paying its mana cost. DeckHas:Ability$Graveyard Oracle:Enchant creature\nEnchanted creature gets +1/+1.\nYou may cast Raffine's Guidance from your graveyard by paying {2}{W} rather than paying its mana cost. diff --git a/forge-gui/res/cardsfolder/r/ramosian_rally.txt b/forge-gui/res/cardsfolder/r/ramosian_rally.txt index 92c55cc2c19..88df3b34d1f 100644 --- a/forge-gui/res/cardsfolder/r/ramosian_rally.txt +++ b/forge-gui/res/cardsfolder/r/ramosian_rally.txt @@ -1,7 +1,7 @@ Name:Ramosian Rally ManaCost:3 W Types:Instant -SVar:AltCost:Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ PumpAll | Cost$ 3 W | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Creatures you control get +1/+1 until end of turn. AI:RemoveDeck:All Oracle:If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost.\nCreatures you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/r/ravenous_trap.txt b/forge-gui/res/cardsfolder/r/ravenous_trap.txt index af8bc7e2c52..e2d3dc4d2aa 100644 --- a/forge-gui/res/cardsfolder/r/ravenous_trap.txt +++ b/forge-gui/res/cardsfolder/r/ravenous_trap.txt @@ -1,7 +1,7 @@ Name:Ravenous Trap ManaCost:2 B B Types:Instant Trap -SVar:AltCost:Cost$ 0 | CheckSVar$ CardsToGraveyard | Description$ If an opponent had three or more cards put into their graveyard from anywhere this turn, you may pay {0} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 0 | CheckSVar$ CardsToGraveyard | Description$ If an opponent had three or more cards put into their graveyard from anywhere this turn, you may pay {0} rather than pay this spell's mana cost. A:SP$ ChangeZoneAll | Cost$ 2 B B | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Card | StackDescription$ Exile all cards from {p:Targeted}'s graveyard. | SpellDescription$ Exile all cards from target player's graveyard. SVar:CardsToGraveyard:PlayerCountOpponents$ConditionGE3 ThisTurnEntered_Graveyard_Card.YouOwn AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/r/refraction_trap.txt b/forge-gui/res/cardsfolder/r/refraction_trap.txt index 73545722686..a79c03daf0a 100644 --- a/forge-gui/res/cardsfolder/r/refraction_trap.txt +++ b/forge-gui/res/cardsfolder/r/refraction_trap.txt @@ -1,7 +1,7 @@ Name:Refraction Trap ManaCost:3 W Types:Instant Trap -SVar:AltCost:Cost$ W | CheckSVar$ X | SVarCompare$ GE1 | Description$ If an opponent cast a red instant or sorcery spell this turn, you may pay {W} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W | CheckSVar$ X | SVarCompare$ GE1 | Description$ If an opponent cast a red instant or sorcery spell this turn, you may pay {W} rather than pay this spell's mana cost. A:SP$ ChooseSource | Cost$ 3 W | Choices$ Card,Emblem | AILogic$ NeedsPrevention | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ Prevent the next 3 damage that a source of your choice would deal to you and/or permanents you control this turn. If damage is prevented this way, CARDNAME deals that much damage to any target. SVar:DBEffect:DB$ Effect | ValidTgts$ Any | TgtPrompt$ Select any target to deal prevented damage to | ReplacementEffects$ ReDamage | RememberObjects$ Targeted | SubAbility$ DBCleanup SVar:ReDamage:Event$ DamageDone | ActiveZones$ Command | ValidTarget$ You,Permanent.YouCtrl | ValidSource$ Card.ChosenCardStrict,Emblem.ChosenCard | ReplaceWith$ PreventDamage | PreventionEffect$ NextN | Description$ Prevent the next 3 damage that a source of your choice would deal to you and/or permanents you control this turn. If damage is prevented this way, EFFECTSOURCE deals that much damage to any target. diff --git a/forge-gui/res/cardsfolder/r/reverent_mantra.txt b/forge-gui/res/cardsfolder/r/reverent_mantra.txt index 56dad5048ea..e0ca02c85e6 100644 --- a/forge-gui/res/cardsfolder/r/reverent_mantra.txt +++ b/forge-gui/res/cardsfolder/r/reverent_mantra.txt @@ -1,7 +1,7 @@ Name:Reverent Mantra ManaCost:3 W Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. A:SP$ ChooseColor | Cost$ 3 W | Defined$ You | SubAbility$ DBProtection | AILogic$ MostProminentHumanControls | StackDescription$ SpellDescription | SpellDescription$ Choose a color. All creatures gain protection from the chosen color until end of turn. SVar:DBProtection:DB$ ProtectionAll | ValidCards$ Creature | Gains$ ChosenColor AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/r/reverent_silence.txt b/forge-gui/res/cardsfolder/r/reverent_silence.txt index 240f224fec0..ffa7d49f146 100644 --- a/forge-gui/res/cardsfolder/r/reverent_silence.txt +++ b/forge-gui/res/cardsfolder/r/reverent_silence.txt @@ -1,6 +1,6 @@ Name:Reverent Silence ManaCost:3 G Types:Sorcery -SVar:AltCost:Cost$ GainLife<6/Player.Other/*> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 6 life. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ GainLife<6/Player.Other/*> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 6 life. A:SP$ DestroyAll | Cost$ 3 G | ValidCards$ Enchantment | SpellDescription$ Destroy all enchantments. Oracle:If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 6 life.\nDestroy all enchantments. diff --git a/forge-gui/res/cardsfolder/r/ricochet_trap.txt b/forge-gui/res/cardsfolder/r/ricochet_trap.txt index 94a27f37908..9d2c57b63fd 100644 --- a/forge-gui/res/cardsfolder/r/ricochet_trap.txt +++ b/forge-gui/res/cardsfolder/r/ricochet_trap.txt @@ -1,7 +1,7 @@ Name:Ricochet Trap ManaCost:3 R Types:Instant Trap -SVar:AltCost:Cost$ R | CheckSVar$ X | SVarCompare$ GE1 | StackDescription$ Description | Description$ If an opponent cast a blue spell this turn, you may pay {R} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ R | CheckSVar$ X | SVarCompare$ GE1 | StackDescription$ Description | Description$ If an opponent cast a blue spell this turn, you may pay {R} rather than pay this spell's mana cost. A:SP$ ChangeTargets | TargetType$ Spell.singleTarget | ValidTgts$ Card | TgtPrompt$ Select target spell with a single target | StackDescription$ SpellDescription | SpellDescription$ Change the target of target spell with a single target. SVar:X:Count$ThisTurnCast_Card.Blue+OppCtrl Oracle:If an opponent cast a blue spell this turn, you may pay {R} rather than pay this spell's mana cost.\nChange the target of target spell with a single target. diff --git a/forge-gui/res/cardsfolder/r/risen_executioner.txt b/forge-gui/res/cardsfolder/r/risen_executioner.txt index f11d69b1de9..24ebb9e10cf 100644 --- a/forge-gui/res/cardsfolder/r/risen_executioner.txt +++ b/forge-gui/res/cardsfolder/r/risen_executioner.txt @@ -4,7 +4,7 @@ Types:Creature Zombie Warrior PT:4/3 K:CARDNAME can't block. S:Mode$ Continuous | Affected$ Creature.Zombie+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Zombie creatures you control get +1/+1. -SVar:AltCost:Cost$ X 2 B B | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard if you pay {1} more to cast it for each other creature card in your graveyard. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ X 2 B B | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard if you pay {1} more to cast it for each other creature card in your graveyard. SVar:X:Count$ValidGraveyard Creature.Other+YouOwn SVar:PlayMain1:TRUE Oracle:Risen Executioner can't block.\nOther Zombie creatures you control get +1/+1.\nYou may cast Risen Executioner from your graveyard if you pay {1} more to cast it for each other creature card in your graveyard. diff --git a/forge-gui/res/cardsfolder/r/rona_sheoldreds_faithful.txt b/forge-gui/res/cardsfolder/r/rona_sheoldreds_faithful.txt index 33f9174a66f..a8a35864762 100644 --- a/forge-gui/res/cardsfolder/r/rona_sheoldreds_faithful.txt +++ b/forge-gui/res/cardsfolder/r/rona_sheoldreds_faithful.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Wizard PT:3/4 T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ Whenever you cast an instant or sorcery spell, each opponent loses 1 life. SVar:TrigDrain:DB$ LoseLife | Defined$ Opponent | LifeAmount$ 1 -SVar:AltCost:Cost$ 1 U B B Discard<2/Card> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by discarding two cards in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ 1 U B B Discard<2/Card> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by discarding two cards in addition to paying its other costs. DeckHas:Ability$Discard|Graveyard DeckNeeds:Type$Instant|Sorcery SVar:DiscardMe:1 diff --git a/forge-gui/res/cardsfolder/r/rouse.txt b/forge-gui/res/cardsfolder/r/rouse.txt index edc91a47e52..8274ff32d56 100644 --- a/forge-gui/res/cardsfolder/r/rouse.txt +++ b/forge-gui/res/cardsfolder/r/rouse.txt @@ -1,7 +1,7 @@ Name:Rouse ManaCost:1 B Types:Instant -SVar:AltCost:Cost$ PayLife<2> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may pay 2 life rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ PayLife<2> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may pay 2 life rather than pay this spell's mana cost. A:SP$ Pump | Cost$ 1 B | ValidTgts$ Creature | NumAtt$ +2 | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets +2/+0 until end of turn. AI:RemoveDeck:All Oracle:If you control a Swamp, you may pay 2 life rather than pay this spell's mana cost.\nTarget creature gets +2/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/r/runeflare_trap.txt b/forge-gui/res/cardsfolder/r/runeflare_trap.txt index 5156da2c34f..47b3672d206 100644 --- a/forge-gui/res/cardsfolder/r/runeflare_trap.txt +++ b/forge-gui/res/cardsfolder/r/runeflare_trap.txt @@ -1,7 +1,7 @@ Name:Runeflare Trap ManaCost:4 R R Types:Instant Trap -SVar:AltCost:Cost$ R | CheckSVar$ Y | SVarCompare$ GE3 | Description$ If an opponent drew three or more cards this turn, you may pay {R} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ R | CheckSVar$ Y | SVarCompare$ GE3 | Description$ If an opponent drew three or more cards this turn, you may pay {R} rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 4 R R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ X | SpellDescription$ CARDNAME deals damage to target player equal to the number of cards in that player's hand. SVar:X:TargetedPlayer$CardsInHand SVar:Y:PlayerCountOpponents$HighestCardsDrawn diff --git a/forge-gui/res/cardsfolder/rebalanced/a-demilich.txt b/forge-gui/res/cardsfolder/rebalanced/a-demilich.txt index 2605de42b91..38bc7ca0923 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-demilich.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-demilich.txt @@ -7,7 +7,7 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigExile | TriggerZones$ Batt SVar:TrigExile:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose up to one target instant or sorcery card in your graveyard | ValidTgts$ Instant.YouCtrl,Sorcery.YouCtrl | RememberChanged$ True | SubAbility$ DBPlay SVar:DBPlay:DB$ Play | Defined$ Remembered | ValidSA$ Spell | Optional$ True | CopyCard$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:AltCost:Cost$ U U U U ExileFromGrave<4/Instant;Sorcery/instant or sorcery cards> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | MayPlayAltManaCost$ U U U U ExileFromGrave<4/Instant;Sorcery/instant or sorcery cards> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. SVar:X:Count$ThisTurnCast_Instant.YouCtrl,Sorcery.YouCtrl DeckNeeds:Type$Instant|Sorcery Oracle:This spell costs {U} less to cast for each instant and sorcery spell you've cast this turn.\nWhenever Demilich attacks, exile up to one target instant or sorcery card from your graveyard. Copy it. You may cast the copy.\nYou may cast Demilich from your graveyard by exiling four instant and/or sorcery cards from your graveyard in addition to paying its other costs. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-security_rhox.txt b/forge-gui/res/cardsfolder/rebalanced/a-security_rhox.txt index 74333c8c96e..dd6f5876abf 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-security_rhox.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-security_rhox.txt @@ -2,6 +2,6 @@ Name:A-Security Rhox ManaCost:2 R G Types:Creature Rhino Warrior PT:5/5 -SVar:AltCost:Cost$ R G | ManaRestriction$ Treasure | Description$ You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ R G | ManaRestriction$ Treasure | Description$ You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. DeckHints:Type$Treasure Oracle:You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. diff --git a/forge-gui/res/cardsfolder/s/salvage_titan.txt b/forge-gui/res/cardsfolder/s/salvage_titan.txt index de7d3c9f0a8..79de20e410d 100644 --- a/forge-gui/res/cardsfolder/s/salvage_titan.txt +++ b/forge-gui/res/cardsfolder/s/salvage_titan.txt @@ -2,6 +2,6 @@ Name:Salvage Titan ManaCost:4 B B Types:Artifact Creature Golem PT:6/4 -SVar:AltCost:Cost$ Sac<3/Artifact> | Description$ You may sacrifice three artifacts rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<3/Artifact> | Description$ You may sacrifice three artifacts rather than pay this spell's mana cost. A:AB$ ChangeZone | Cost$ ExileFromGrave<3/Artifact> | Origin$ Graveyard | Destination$ Hand | Defined$ Self | ActivationZone$ Graveyard | SpellDescription$ Return CARDNAME from your graveyard to your hand. Oracle:You may sacrifice three artifacts rather than pay this spell's mana cost.\nExile three artifact cards from your graveyard: Return Salvage Titan from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt index 0eed5f86c3d..a6d7b290abd 100644 --- a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt +++ b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt @@ -1,7 +1,7 @@ Name:Scars of the Veteran ManaCost:4 W Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. A:SP$ PreventDamage | Cost$ 4 W | ValidTgts$ Any | Amount$ 7 | PreventionSubAbility$ ScarEffect | ShieldEffectTarget$ Targeted | SpellDescription$ Prevent the next 7 damage that would be dealt to any target this turn. If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. SVar:ScarEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | Triggers$ DelTrig | SpellDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | Execute$ DelayedScars | OneOff$ True | IsPresent$ Creature.IsRemembered | TriggerDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. diff --git a/forge-gui/res/cardsfolder/s/scourge_of_nel_toth.txt b/forge-gui/res/cardsfolder/s/scourge_of_nel_toth.txt index 0a5d5bf0955..30136e36d11 100644 --- a/forge-gui/res/cardsfolder/s/scourge_of_nel_toth.txt +++ b/forge-gui/res/cardsfolder/s/scourge_of_nel_toth.txt @@ -3,5 +3,5 @@ ManaCost:5 B B Types:Creature Zombie Dragon PT:6/6 K:Flying -SVar:AltCost:Cost$ B B Sac<2/Creature> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying {B}{B} and sacrificing two creatures rather than paying its mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ Graveyard | Cost$ B B Sac<2/Creature> | Description$ You may cast CARDNAME from your graveyard by paying {B}{B} and sacrificing two creatures rather than paying its mana cost. Oracle:Flying\nYou may cast Scourge of Nel Toth from your graveyard by paying {B}{B} and sacrificing two creatures rather than paying its mana cost. diff --git a/forge-gui/res/cardsfolder/s/security_rhox.txt b/forge-gui/res/cardsfolder/s/security_rhox.txt index 5367e703633..cf2245e4c7c 100644 --- a/forge-gui/res/cardsfolder/s/security_rhox.txt +++ b/forge-gui/res/cardsfolder/s/security_rhox.txt @@ -2,6 +2,6 @@ Name:Security Rhox ManaCost:2 R G Types:Creature Rhino Warrior PT:5/4 +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ R G | ManaRestriction$ Treasure | Description$ You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. DeckHints:Type$Treasure -SVar:AltCost:Cost$ R G | ManaRestriction$ Treasure | Description$ You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. Oracle:You may pay {R}{G} rather than pay this spell's mana cost. Spend only mana produced by Treasures to cast it this way. diff --git a/forge-gui/res/cardsfolder/s/sephara_skys_blade.txt b/forge-gui/res/cardsfolder/s/sephara_skys_blade.txt index f6ccafdfb52..a1873fea7ce 100644 --- a/forge-gui/res/cardsfolder/s/sephara_skys_blade.txt +++ b/forge-gui/res/cardsfolder/s/sephara_skys_blade.txt @@ -2,7 +2,7 @@ Name:Sephara, Sky's Blade ManaCost:4 W W W Types:Legendary Creature Angel PT:7/7 -SVar:AltCost:Cost$ W tapXType<4/Creature.withFlying> | Description$ You may pay {W} and tap four untapped creatures you control with flying rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ W tapXType<4/Creature.withFlying> | Description$ You may pay {W} and tap four untapped creatures you control with flying rather than pay this spell's mana cost. SVar:AIPaymentPreference:DontPayTapCostWithManaSources K:Flying K:Lifelink diff --git a/forge-gui/res/cardsfolder/s/shining_shoal.txt b/forge-gui/res/cardsfolder/s/shining_shoal.txt index d3ca01bcaf0..303cb10e7ed 100644 --- a/forge-gui/res/cardsfolder/s/shining_shoal.txt +++ b/forge-gui/res/cardsfolder/s/shining_shoal.txt @@ -1,7 +1,7 @@ Name:Shining Shoal ManaCost:X W W Types:Instant Arcane -SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other+cmcEQX/white card> | Announce$ X | Description$ You may exile a white card with mana value X from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.White+Other+cmcEQX/white card> | Announce$ X | Description$ You may exile a white card with mana value X from your hand rather than pay this spell's mana cost. A:SP$ ChooseSource | Cost$ X W W | Choices$ Card,Emblem | AILogic$ NeedsPrevention | SubAbility$ DBStoreSVar | StackDescription$ SpellDescription | SpellDescription$ The next X damage that a source of your choice would deal to you and/or creatures you control this turn is dealt to any target instead. SVar:DBStoreSVar:DB$ StoreSVar | SVar$ ShieldAmount | Type$ Calculate | Expression$ X | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | ValidTgts$ Any | TgtPrompt$ Select any target to redirect damage to | ReplacementEffects$ ReDamage | RememberObjects$ Targeted | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/s/sickening_shoal.txt b/forge-gui/res/cardsfolder/s/sickening_shoal.txt index 03f1ab4ede7..4c4b1c1ba4b 100644 --- a/forge-gui/res/cardsfolder/s/sickening_shoal.txt +++ b/forge-gui/res/cardsfolder/s/sickening_shoal.txt @@ -1,7 +1,7 @@ Name:Sickening Shoal ManaCost:X B B Types:Instant Arcane -SVar:AltCost:Cost$ ExileFromHand<1/Card.Black+Other+cmcEQX> | Announce$ X | Description$ You may exile a black card with mana value X from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Black+Other+cmcEQX> | Announce$ X | Description$ You may exile a black card with mana value X from your hand rather than pay this spell's mana cost. A:SP$ Pump | Cost$ X B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. SVar:X:Count$xPaid AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/s/sivvis_valor.txt b/forge-gui/res/cardsfolder/s/sivvis_valor.txt index 2c1b7aa401a..8cd907e3d9c 100644 --- a/forge-gui/res/cardsfolder/s/sivvis_valor.txt +++ b/forge-gui/res/cardsfolder/s/sivvis_valor.txt @@ -1,7 +1,7 @@ Name:Sivvi's Valor ManaCost:2 W Types:Instant -SVar:AltCost:Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<1/Creature/creature> | IsPresent$ Plains.YouCtrl | Description$ If you control a Plains, you may tap an untapped creature you control rather than pay this spell's mana cost. A:SP$ Effect | Cost$ 2 W | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect damage from | ReplacementEffects$ SelflessDamage | ForgetOnMoved$ Battlefield | RememberObjects$ Targeted | StackDescription$ All damage that would be dealt to {c:Targeted} this turn is dealt to {p:You} instead. | SpellDescription$ All damage that would be dealt to target creature this turn is dealt to you instead. SVar:SelflessDamage:Event$ DamageDone | ValidTarget$ Card.IsRemembered | ReplaceWith$ SelflessDmg | DamageTarget$ You | Description$ All damage that would be dealt to target creature this turn is dealt to you instead. SVar:SelflessDmg:DB$ ReplaceEffect | VarName$ Affected | VarValue$ You | VarType$ Player diff --git a/forge-gui/res/cardsfolder/s/skaab_ruinator.txt b/forge-gui/res/cardsfolder/s/skaab_ruinator.txt index 37152be0174..e99bba7597e 100644 --- a/forge-gui/res/cardsfolder/s/skaab_ruinator.txt +++ b/forge-gui/res/cardsfolder/s/skaab_ruinator.txt @@ -4,5 +4,5 @@ Types:Creature Zombie Horror PT:5/6 K:Flying A:SP$ PermanentCreature | Cost$ 1 U U ExileFromGrave<3/Creature> -SVar:AltCost:Cost$ 1 U U ExileFromGrave<3/Creature.Other> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard. +S:Mode$ Continuous | Affected$ Card.Self | MayPlay$ True | AffectedZone$ Graveyard | EffectZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard. Oracle:As an additional cost to cast this spell, exile three creature cards from your graveyard.\nFlying\nYou may cast Skaab Ruinator from your graveyard. diff --git a/forge-gui/res/cardsfolder/s/skyshroud_cutter.txt b/forge-gui/res/cardsfolder/s/skyshroud_cutter.txt index 6ec3b21a09a..0023dfbfcbe 100644 --- a/forge-gui/res/cardsfolder/s/skyshroud_cutter.txt +++ b/forge-gui/res/cardsfolder/s/skyshroud_cutter.txt @@ -2,5 +2,5 @@ Name:Skyshroud Cutter ManaCost:3 G Types:Creature Beast PT:2/2 -SVar:AltCost:Cost$ GainLife<5/Player.Other/*> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 5 life. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ GainLife<5/Player.Other/*> | IsPresent$ Forest.YouCtrl | Description$ If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 5 life. Oracle:If you control a Forest, rather than pay this spell's mana cost, you may have each other player gain 5 life. diff --git a/forge-gui/res/cardsfolder/s/slingbow_trap.txt b/forge-gui/res/cardsfolder/s/slingbow_trap.txt index 96cd647e83f..4a190456c7f 100644 --- a/forge-gui/res/cardsfolder/s/slingbow_trap.txt +++ b/forge-gui/res/cardsfolder/s/slingbow_trap.txt @@ -1,7 +1,7 @@ Name:Slingbow Trap ManaCost:3 G Types:Instant Trap -SVar:AltCost:Cost$ G | IsPresent$ Creature.attacking+Black+withFlying | Description$ If a black creature with flying is attacking, you may pay {G} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ G | IsPresent$ Creature.attacking+Black+withFlying | Description$ If a black creature with flying is attacking, you may pay {G} rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 3 G | ValidTgts$ Creature.attacking+withFlying | TgtPrompt$ Select target attacking creature with flying | SpellDescription$ Destroy target attacking creature with flying. AI:RemoveDeck:All Oracle:If a black creature with flying is attacking, you may pay {G} rather than pay this spell's mana cost.\nDestroy target attacking creature with flying. diff --git a/forge-gui/res/cardsfolder/s/snag.txt b/forge-gui/res/cardsfolder/s/snag.txt index 9ff44202a5a..b93e0a315f3 100644 --- a/forge-gui/res/cardsfolder/s/snag.txt +++ b/forge-gui/res/cardsfolder/s/snag.txt @@ -1,7 +1,7 @@ Name:Snag ManaCost:3 G Types:Instant -SVar:AltCost:Cost$ Discard<1/Forest> | Description$ You may discard a Forest card rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Discard<1/Forest> | Description$ You may discard a Forest card rather than pay this spell's mana cost. A:SP$ Effect | Cost$ 3 G | ReplacementEffects$ RPrevent | AILogic$ Fog | SpellDescription$ Prevent all combat damage that would be dealt by unblocked creatures this turn. SVar:RPrevent:Event$ DamageDone | Prevent$ True | IsCombat$ True | ActiveZones$ Command | ValidSource$ Creature.unblocked | Description$ Prevent all combat damage that would be dealt by unblocked creatures this turn. Oracle:You may discard a Forest card rather than pay this spell's mana cost.\nPrevent all combat damage that would be dealt by unblocked creatures this turn. diff --git a/forge-gui/res/cardsfolder/s/snapback.txt b/forge-gui/res/cardsfolder/s/snapback.txt index f0a9e77a40e..fc89df48367 100644 --- a/forge-gui/res/cardsfolder/s/snapback.txt +++ b/forge-gui/res/cardsfolder/s/snapback.txt @@ -1,6 +1,6 @@ Name:Snapback ManaCost:1 U Types:Instant -SVar:AltCost:Cost$ ExileFromHand<1/Card.Blue+Other> | Description$ You may exile a blue card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Blue+Other> | Description$ You may exile a blue card from your hand rather than pay this spell's mana cost. A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target creature to its owner's hand. Oracle:You may exile a blue card from your hand rather than pay this spell's mana cost.\nReturn target creature to its owner's hand. diff --git a/forge-gui/res/cardsfolder/s/snuff_out.txt b/forge-gui/res/cardsfolder/s/snuff_out.txt index 1283cd5790e..f1dcbc4f376 100644 --- a/forge-gui/res/cardsfolder/s/snuff_out.txt +++ b/forge-gui/res/cardsfolder/s/snuff_out.txt @@ -1,6 +1,6 @@ Name:Snuff Out ManaCost:3 B Types:Instant -SVar:AltCost:Cost$ PayLife<4> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may pay 4 life rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ PayLife<4> | IsPresent$ Swamp.YouCtrl | Description$ If you control a Swamp, you may pay 4 life rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 3 B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. Oracle:If you control a Swamp, you may pay 4 life rather than pay this spell's mana cost.\nDestroy target nonblack creature. It can't be regenerated. diff --git a/forge-gui/res/cardsfolder/s/soul_spike.txt b/forge-gui/res/cardsfolder/s/soul_spike.txt index 74f983e43f9..2e5038ffdc3 100644 --- a/forge-gui/res/cardsfolder/s/soul_spike.txt +++ b/forge-gui/res/cardsfolder/s/soul_spike.txt @@ -1,7 +1,7 @@ Name:Soul Spike ManaCost:5 B B Types:Instant -SVar:AltCost:Cost$ ExileFromHand<2/Card.Black+Other> | Description$ You may exile two black cards from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<2/Card.Black+Other> | Description$ You may exile two black cards from your hand rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 5 B B | ValidTgts$ Any | NumDmg$ 4 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 4 damage to any target and you gain 4 life. SVar:DBGainLife:DB$ GainLife | LifeAmount$ 4 Oracle:You may exile two black cards from your hand rather than pay this spell's mana cost.\nSoul Spike deals 4 damage to any target and you gain 4 life. diff --git a/forge-gui/res/cardsfolder/s/spinning_darkness.txt b/forge-gui/res/cardsfolder/s/spinning_darkness.txt index aa96a605771..b649bbdc9cb 100644 --- a/forge-gui/res/cardsfolder/s/spinning_darkness.txt +++ b/forge-gui/res/cardsfolder/s/spinning_darkness.txt @@ -1,7 +1,7 @@ Name:Spinning Darkness ManaCost:4 B B Types:Instant -SVar:AltCost:Cost$ ExileFromGrave<3/Card.Black+FromTopGrave> | Description$ You may exile the top three black cards of your graveyard rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromGrave<3/Card.Black+FromTopGrave> | Description$ You may exile the top three black cards of your graveyard rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 4 B B | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NumDmg$ 3 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 3 damage to target nonblack creature. You gain 3 life. SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/s/squee_dubious_monarch.txt b/forge-gui/res/cardsfolder/s/squee_dubious_monarch.txt index 69d6d5785c6..c61de40ad6a 100644 --- a/forge-gui/res/cardsfolder/s/squee_dubious_monarch.txt +++ b/forge-gui/res/cardsfolder/s/squee_dubious_monarch.txt @@ -5,7 +5,7 @@ PT:2/2 K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, create a 1/1 red Goblin creature token that's tapped and attacking. SVar:TrigToken:DB$ Token | TokenScript$ r_1_1_goblin | TokenTapped$ True | TokenAttacking$ True -SVar:AltCost:Cost$ 3 R ExileFromGrave<4/Card.Other/other cards> | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from your graveyard by paying {3}{R} and exiling four other cards from your graveyard rather than paying its mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ Graveyard | Cost$ 3 R ExileFromGrave<4/Card.Other/other cards> | Description$ You may cast CARDNAME from your graveyard by paying {3}{R} and exiling four other cards from your graveyard rather than paying its mana cost. DeckHas:Ability$Token|Graveyard & Type$Goblin SVar:HasAttackEffect:TRUE Oracle:Haste\nWhenever Squee, Dubious Monarch attacks, create a 1/1 red Goblin creature token that's tapped and attacking.\nYou may cast Squee, Dubious Monarch from your graveyard by paying {3}{R} and exiling four other cards from your graveyard rather than paying its mana cost. diff --git a/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt b/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt index d96aac66b49..4e7ca70ea90 100644 --- a/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt +++ b/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt @@ -3,5 +3,5 @@ ManaCost:3 W Types:Creature Angel Warrior PT:3/2 K:Flying -SVar:AltCost:Cost$ 1 W ExileFromGrave<1/Creature> | Description$ You may pay {1}{W} and exile a creature card from your graveyard rather than pay CARDNAME's mana cost +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 W ExileFromGrave<1/Creature> | Description$ You may pay {1}{W} and exile a creature card from your graveyard rather than pay CARDNAME's mana cost Oracle:You may pay {1}{W} and exile a creature card from your graveyard rather than pay this spell's mana cost.\nFlying diff --git a/forge-gui/res/cardsfolder/s/summoning_trap.txt b/forge-gui/res/cardsfolder/s/summoning_trap.txt index ffcef512beb..84f5384cf32 100644 --- a/forge-gui/res/cardsfolder/s/summoning_trap.txt +++ b/forge-gui/res/cardsfolder/s/summoning_trap.txt @@ -8,6 +8,6 @@ T:Mode$ Phase | Phase$ Cleanup | Execute$ TrigReset | Static$ True SVar:TrigReset:DB$ StoreSVar | SVar$ SetTrap | Type$ Number | Expression$ 0 SVar:SetTrap:Number$0 #Set up main abilities -SVar:AltCost:Cost$ 0 | CheckSVar$ SetTrap | SVarCompare$ GE1 | Description$ If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 0 | CheckSVar$ SetTrap | SVarCompare$ GE1 | Description$ If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay this spell's mana cost. A:SP$ Dig | DigNum$ 7 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Creature | DestinationZone$ Battlefield | SpellDescription$ Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order. Oracle:If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay this spell's mana cost.\nLook at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in any order. diff --git a/forge-gui/res/cardsfolder/s/sunscour.txt b/forge-gui/res/cardsfolder/s/sunscour.txt index 5c1e76c3dfa..a8924aacf30 100644 --- a/forge-gui/res/cardsfolder/s/sunscour.txt +++ b/forge-gui/res/cardsfolder/s/sunscour.txt @@ -1,7 +1,7 @@ Name:Sunscour ManaCost:5 W W Types:Sorcery -SVar:AltCost:Cost$ ExileFromHand<2/Card.White+Other> | Description$ You may exile two white cards from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<2/Card.White+Other> | Description$ You may exile two white cards from your hand rather than pay this spell's mana cost. A:SP$ DestroyAll | Cost$ 5 W W | ValidCards$ Creature | SpellDescription$ Destroy all creatures. AI:RemoveDeck:Random Oracle:You may exile two white cards from your hand rather than pay this spell's mana cost.\nDestroy all creatures. diff --git a/forge-gui/res/cardsfolder/t/the_lady_of_otaria.txt b/forge-gui/res/cardsfolder/t/the_lady_of_otaria.txt index 3edd4393e93..9b88b9e0871 100644 --- a/forge-gui/res/cardsfolder/t/the_lady_of_otaria.txt +++ b/forge-gui/res/cardsfolder/t/the_lady_of_otaria.txt @@ -2,7 +2,7 @@ Name:The Lady of Otaria ManaCost:3 R G Types:Legendary Creature Avatar PT:5/5 -SVar:AltCost:Cost$ tapXType<3/Dwarf> | Description$ You may tap three untapped Dwarves you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ tapXType<3/Dwarf> | Description$ You may tap three untapped Dwarves you control rather than pay this spell's mana cost. T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigDig | CheckSVar$ X | TriggerDescription$ At the beginning of each end step, if a land you controlled was put into your graveyard from the battlefield this turn, reveal the top four cards of your library. Put any number of Dwarf cards from among them into your hand and the rest on the bottom of your library in a random order. SVar:TrigDig:DB$ Dig | DigNum$ 4 | ChangeValid$ Dwarf | DestinationZone$ Hand | RestRandomOrder$ True | AnyNumber$ True SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Land.YouCtrl+YouOwn diff --git a/forge-gui/res/cardsfolder/t/thunderclap.txt b/forge-gui/res/cardsfolder/t/thunderclap.txt index 6329c754a8d..c166de3f278 100644 --- a/forge-gui/res/cardsfolder/t/thunderclap.txt +++ b/forge-gui/res/cardsfolder/t/thunderclap.txt @@ -1,6 +1,6 @@ Name:Thunderclap ManaCost:2 R Types:Instant -SVar:AltCost:Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Mountain> | Description$ You may sacrifice a Mountain rather than pay this spell's mana cost. A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 3 | SpellDescription$ CARDNAME deals 3 damage to target creature. Oracle:You may sacrifice a Mountain rather than pay this spell's mana cost.\nThunderclap deals 3 damage to target creature. diff --git a/forge-gui/res/cardsfolder/t/thwart.txt b/forge-gui/res/cardsfolder/t/thwart.txt index 7c0e1e81225..bcd5395f2ce 100644 --- a/forge-gui/res/cardsfolder/t/thwart.txt +++ b/forge-gui/res/cardsfolder/t/thwart.txt @@ -1,7 +1,7 @@ Name:Thwart ManaCost:2 U U Types:Instant -SVar:AltCost:Cost$ Return<3/Island> | Description$ You may return three Islands you control to their owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Return<3/Island> | Description$ You may return three Islands you control to their owner's hand rather than pay this spell's mana cost. A:SP$ Counter | Cost$ 2 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | SpellDescription$ Counter target spell. AI:RemoveDeck:All Oracle:You may return three Islands you control to their owner's hand rather than pay this spell's mana cost.\nCounter target spell. diff --git a/forge-gui/res/cardsfolder/t/tidal_bore.txt b/forge-gui/res/cardsfolder/t/tidal_bore.txt index 3c4ec047ab1..f71626b5291 100644 --- a/forge-gui/res/cardsfolder/t/tidal_bore.txt +++ b/forge-gui/res/cardsfolder/t/tidal_bore.txt @@ -1,7 +1,7 @@ Name:Tidal Bore ManaCost:1 U Types:Instant -SVar:AltCost:Cost$ Return<1/Island> | Description$ You may return an Island you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Return<1/Island> | Description$ You may return an Island you control to its owner's hand rather than pay this spell's mana cost. A:SP$ TapOrUntap | Cost$ 1 U | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ You may tap or untap target creature. AI:RemoveDeck:All Oracle:You may return an Island you control to its owner's hand rather than pay this spell's mana cost.\nYou may tap or untap target creature. diff --git a/forge-gui/res/cardsfolder/u/unmask.txt b/forge-gui/res/cardsfolder/u/unmask.txt index 08ddece100f..a2fb35234af 100644 --- a/forge-gui/res/cardsfolder/u/unmask.txt +++ b/forge-gui/res/cardsfolder/u/unmask.txt @@ -1,7 +1,7 @@ Name:Unmask ManaCost:3 B Types:Sorcery -SVar:AltCost:Cost$ ExileFromHand<1/Card.Black+Other> | Description$ You may exile one black card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Black+Other> | Description$ You may exile one black card from your hand rather than pay this spell's mana cost. A:SP$ Discard | Cost$ 3 B | ValidTgts$ Player | Mode$ RevealYouChoose | DiscardValid$ Card.nonLand | NumCards$ 1 | SpellDescription$ Target player reveals their hand. You choose a nonland card from it. That player discards that card. AI:RemoveDeck:All Oracle:You may exile a black card from your hand rather than pay this spell's mana cost.\nTarget player reveals their hand. You choose a nonland card from it. That player discards that card. diff --git a/forge-gui/res/cardsfolder/upcoming/flare_of_cultivation.txt b/forge-gui/res/cardsfolder/upcoming/flare_of_cultivation.txt index 1128c76f2ba..1c81487e496 100644 --- a/forge-gui/res/cardsfolder/upcoming/flare_of_cultivation.txt +++ b/forge-gui/res/cardsfolder/upcoming/flare_of_cultivation.txt @@ -1,7 +1,7 @@ Name:Flare of Cultivation ManaCost:1 G G Types:Sorcery -SVar:AltCost:Cost$ Sac<1/Creature.Green+nonToken/a nontoken green creature> | Description$ You may sacrifice a nontoken green creature rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ Sac<1/Creature.Green+nonToken/a nontoken green creature> | Description$ You may sacrifice a nontoken green creature rather than pay this spell's mana cost. A:SP$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Land.Basic | ChangeNum$ 2 | RememberChanged$ True | Reveal$ True | Shuffle$ False | StackDescription$ SpellDescription | SubAbility$ DBChangeZone1 | SpellDescription$ Search your library for up to two basic land cards, reveal those cards, put one onto the battlefield tapped and the other into your hand, then shuffle. SVar:DBChangeZone1:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.IsRemembered | ChangeNum$ 1 | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card for the battlefield | Tapped$ True | Shuffle$ False | SubAbility$ DBChangeZone2 | StackDescription$ None SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.IsRemembered | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card for your hand | StackDescription$ None | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/v/veinfire_borderpost.txt b/forge-gui/res/cardsfolder/v/veinfire_borderpost.txt index cd4175bbe15..399a5e9f1ea 100644 --- a/forge-gui/res/cardsfolder/v/veinfire_borderpost.txt +++ b/forge-gui/res/cardsfolder/v/veinfire_borderpost.txt @@ -1,7 +1,7 @@ Name:Veinfire Borderpost ManaCost:1 B R Types:Artifact -SVar:AltCost:Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ Combo B R | SpellDescription$ Add {B} or {R}. Oracle:You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost.\nVeinfire Borderpost enters the battlefield tapped.\n{T}: Add {B} or {R}. diff --git a/forge-gui/res/cardsfolder/v/verdant_mastery.txt b/forge-gui/res/cardsfolder/v/verdant_mastery.txt index 0da5e2bf5a5..9a0394f842d 100644 --- a/forge-gui/res/cardsfolder/v/verdant_mastery.txt +++ b/forge-gui/res/cardsfolder/v/verdant_mastery.txt @@ -1,7 +1,7 @@ Name:Verdant Mastery ManaCost:5 G Types:Sorcery -SVar:AltCost:Cost$ 3 G | Description$ You may pay {3}{G} rather than pay this spell's mana cost. | StackDescription$ Search your library for up to four basic land cards and reveal them. Put one of them onto the battlefield tapped under an opponent's control if the {3}{G} cost was paid. Put two of them onto the battlefield tapped under your control and the rest into your hand. Then shuffle. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 3 G | Description$ You may pay {3}{G} rather than pay this spell's mana cost. | StackDescription$ Search your library for up to four basic land cards and reveal them. Put one of them onto the battlefield tapped under an opponent's control if the {3}{G} cost was paid. Put two of them onto the battlefield tapped under your control and the rest into your hand. Then shuffle. A:SP$ ChangeZone | Origin$ Library | Hidden$ True | ChangeNum$ 4 | ChangeType$ Land.Basic | Destination$ Library | RememberChanged$ True | Reveal$ True | Shuffle$ False | SubAbility$ DBBranch | StackDescription$ Search your library for up to four basic land cards and reveal them. Put two of them onto the battlefield tapped under your control and the rest into your hand. Then shuffle. | SpellDescription$ Search your library for up to four basic land cards and reveal them. Put one of them onto the battlefield tapped under an opponent's control if the {3}{G} cost was paid. Put two of them onto the battlefield tapped under your control and the rest into your hand. Then shuffle. SVar:DBBranch:DB$ Branch | BranchConditionSVar$ AltCostPaid | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ OppShare | FalseSubAbility$ DBChangeZone2 SVar:OppShare:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBChangeZone diff --git a/forge-gui/res/cardsfolder/v/vine_dryad.txt b/forge-gui/res/cardsfolder/v/vine_dryad.txt index ff1249508b6..d1d66067f48 100644 --- a/forge-gui/res/cardsfolder/v/vine_dryad.txt +++ b/forge-gui/res/cardsfolder/v/vine_dryad.txt @@ -4,5 +4,5 @@ Types:Creature Dryad PT:1/3 K:Flash K:Landwalk:Forest -SVar:AltCost:Cost$ ExileFromHand<1/Card.Green+Other> | Description$ You may exile one green card from your hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ ExileFromHand<1/Card.Green+Other> | Description$ You may exile one green card from your hand rather than pay this spell's mana cost. Oracle:You may exile a green card from your hand rather than pay this spell's mana cost.\nFlash\nForestwalk (This creature can't be blocked as long as defending player controls a Forest.) diff --git a/forge-gui/res/cardsfolder/w/whiplash_trap.txt b/forge-gui/res/cardsfolder/w/whiplash_trap.txt index 8469a4dd8f6..634158d65fc 100644 --- a/forge-gui/res/cardsfolder/w/whiplash_trap.txt +++ b/forge-gui/res/cardsfolder/w/whiplash_trap.txt @@ -1,7 +1,7 @@ Name:Whiplash Trap ManaCost:3 U U Types:Instant Trap -SVar:AltCost:Cost$ U | CheckSVar$ CreaturesEntered | Description$ If an opponent had two or more creatures enter the battlefield under their control this turn, you may pay {U} rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ U | CheckSVar$ CreaturesEntered | Description$ If an opponent had two or more creatures enter the battlefield under their control this turn, you may pay {U} rather than pay this spell's mana cost. A:SP$ ChangeZone | Cost$ 3 U U | Origin$ Battlefield | Destination$ Hand | TgtPrompt$ Choose two target creatures | ValidTgts$ Creature | TargetMin$ 2 | TargetMax$ 2 | SpellDescription$ Return two target creatures to their owners' hands. SVar:CreaturesEntered:PlayerCountOpponents$ConditionGE2 ThisTurnEntered_Battlefield_Creature.YouCtrl Oracle:If an opponent had two or more creatures enter the battlefield under their control this turn, you may pay {U} rather than pay this spell's mana cost.\nReturn two target creatures to their owners' hands. diff --git a/forge-gui/res/cardsfolder/w/wildfield_borderpost.txt b/forge-gui/res/cardsfolder/w/wildfield_borderpost.txt index 8e56f54b70e..82030990df9 100644 --- a/forge-gui/res/cardsfolder/w/wildfield_borderpost.txt +++ b/forge-gui/res/cardsfolder/w/wildfield_borderpost.txt @@ -1,7 +1,7 @@ Name:Wildfield Borderpost ManaCost:1 G W Types:Artifact -SVar:AltCost:Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 Return<1/Land.Basic> | Description$ You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost. K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ Combo G W | SpellDescription$ Add {G} or {W}. Oracle:You may pay {1} and return a basic land you control to its owner's hand rather than pay this spell's mana cost.\nWildfield Borderpost enters the battlefield tapped.\n{T}: Add {G} or {W}. diff --git a/forge-gui/res/cardsfolder/w/worldheart_phoenix.txt b/forge-gui/res/cardsfolder/w/worldheart_phoenix.txt index 7cafa979b3d..4b41be81ba4 100644 --- a/forge-gui/res/cardsfolder/w/worldheart_phoenix.txt +++ b/forge-gui/res/cardsfolder/w/worldheart_phoenix.txt @@ -3,7 +3,7 @@ ManaCost:3 R Types:Creature Phoenix PT:2/2 K:Flying -SVar:AltCost:Cost$ W U B R G | ActivationZone$ Graveyard | Description$ You may cast CARDNAME from graveyard by paying {W}{U}{B}{R}{G} rather than paying its mana cost. If you do, it enters the battlefield with two +1/+1 counters on it. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ Graveyard | Cost$ W U B R G | Description$ You may cast CARDNAME from graveyard by paying {W}{U}{B}{R}{G} rather than paying its mana cost. If you do, it enters the battlefield with two +1/+1 counters on it. K:etbCounter:P1P1:2:CheckSVar$AltCostPaid:no desc SVar:AltCostPaid:Count$AltCost.1.0 Oracle:Flying\nYou may cast Worldheart Phoenix from your graveyard by paying {W}{U}{B}{R}{G} rather than paying its mana cost. If you do, it enters the battlefield with two +1/+1 counters on it. diff --git a/forge-gui/res/cardsfolder/z/zahid_djinn_of_the_lamp.txt b/forge-gui/res/cardsfolder/z/zahid_djinn_of_the_lamp.txt index c8a36925f44..16359958869 100644 --- a/forge-gui/res/cardsfolder/z/zahid_djinn_of_the_lamp.txt +++ b/forge-gui/res/cardsfolder/z/zahid_djinn_of_the_lamp.txt @@ -3,7 +3,7 @@ ManaCost:4 U U Types:Legendary Creature Djinn PT:5/6 K:Flying -SVar:AltCost:Cost$ 3 U tapXType<1/Artifact> | Description$ You may pay {3}{U} and tap an untapped artifact you control rather than pay this spell's mana cost. +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 3 U tapXType<1/Artifact> | Description$ You may pay {3}{U} and tap an untapped artifact you control rather than pay this spell's mana cost. # TODO: Currently the AI may cheat without the following flag by tapping the same artifact for mana and for the tap cost, e.g. # 2 Islands + Sol Ring. Remove this flag once the AI is smart enough not to do that. SVar:AIPaymentPreference:DontPayTapCostWithManaSources