diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java index 7202c3410ad..6043bfd27f0 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCard.java @@ -944,7 +944,7 @@ public class ComputerUtilCard { List chosen = new ArrayList<>(); Player ai = sa.getActivatingPlayer(); final Game game = ai.getGame(); - Player opp = ai.getWeakestOpponent(); + Player opp = ai.getStrongestOpponent(); if (sa.hasParam("AILogic")) { final String logic = sa.getParam("AILogic"); diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index b8641ef9c23..1406126a762 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -1200,7 +1200,7 @@ public class PlayerControllerAi extends PlayerController { public String chooseCardName(SpellAbility sa, Predicate cpp, String valid, String message) { if (sa.hasParam("AILogic")) { CardCollectionView aiLibrary = player.getCardsIn(ZoneType.Library); - CardCollectionView oppLibrary = player.getWeakestOpponent().getCardsIn(ZoneType.Library); + CardCollectionView oppLibrary = player.getStrongestOpponent().getCardsIn(ZoneType.Library); final Card source = sa.getHostCard(); final String logic = sa.getParam("AILogic"); diff --git a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java index 2132afde0aa..d5ab0e8a690 100644 --- a/forge-game/src/main/java/forge/game/cost/CostAdjustment.java +++ b/forge-game/src/main/java/forge/game/cost/CostAdjustment.java @@ -470,38 +470,10 @@ public class CostAdjustment { if (!sa.isActivatedAbility() || sa.isManaAbility() || sa.isReplacementAbility()) { return false; } - } else if (type.equals("Buyback")) { - if (!sa.isBuyBackAbility()) { - return false; - } - } else if (type.equals("Cycling")) { - if (!sa.isCycling()) { - return false; - } - } else if (type.equals("Dash")) { - if (!sa.isDash()) { - return false; - } - } else if (type.equals("Equip")) { - if (!sa.isActivatedAbility() || !sa.hasParam("Equip")) { - return false; - } - } else if (type.equals("Flashback")) { - if (!sa.isFlashBackAbility()) { - return false; - } - } else if (type.equals("MorphUp")) { - if (!sa.isMorphUp()) { - return false; - } } else if (type.equals("MorphDown")) { if (!sa.isSpell() || !sa.isCastFaceDown()) { return false; } - } else if (type.equals("Loyalty")) { - if (!sa.isPwAbility()) { - return false; - } } else if (type.equals("Foretell")) { if (!sa.isForetelling()) { return false; @@ -513,8 +485,8 @@ public class CostAdjustment { } if (st.hasParam("AffectedZone")) { List zones = ZoneType.listValueOf(st.getParam("AffectedZone")); - if (sa.isSpell()) { - if (!zones.contains(card.getCastFrom())) { + if (sa.isSpell() && sa.getHostCard().wasCast()) { + if (!zones.contains(card.getCastFrom().getZoneType())) { return false; } } else { diff --git a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java index c544cdd1bc8..91dac565a77 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplaceBeginPhase.java @@ -36,11 +36,6 @@ public class ReplaceBeginPhase extends ReplacementEffect { return false; } } - if (hasParam("Condition")) { - if (getParam("Condition").equals("Hellbent") && !affected.hasHellbent()) { - return false; - } - } return true; } diff --git a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java index c23c44cf0a5..ef6f9cbfd19 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java @@ -95,7 +95,7 @@ public class AbilityManaPart implements java.io.Serializable { this.addsKeywordsUntil = params.get("AddsKeywordsUntil"); this.addsCounters = params.get("AddsCounters"); this.triggersWhenSpent = params.get("TriggersWhenSpent"); - this.persistentMana = (null != params.get("PersistentMana")) && "True".equalsIgnoreCase(params.get("PersistentMana")); + this.persistentMana = null != params.get("PersistentMana") && "True".equalsIgnoreCase(params.get("PersistentMana")); } /** @@ -334,28 +334,13 @@ public class AbilityManaPart implements java.io.Serializable { continue; } - if (sa.isValid(restriction, this.getSourceCard().getController(), this.getSourceCard(), null)) { - return true; - } - if (restriction.equals("CantPayGenericCosts")) { return true; } - if (sa.isAbility()) { - if (restriction.startsWith("Activated")) { - restriction = TextUtil.fastReplace(restriction, "Activated", "Card"); - } else { - continue; - } + if (sa.isValid(restriction, this.getSourceCard().getController(), this.getSourceCard(), null)) { + return true; } - - if (sa.getHostCard() != null) { - if (sa.getHostCard().isValid(restriction, this.getSourceCard().getController(), this.getSourceCard(), null)) { - return true; - } - } - } return false; diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java index 159bd40f8e8..c21ae7a8832 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java @@ -77,7 +77,6 @@ public class StaticAbilityCantTarget { */ public static boolean applyCantTargetAbility(final StaticAbility stAb, final Card card, final SpellAbility spellAbility) { - if (stAb.hasParam("ValidPlayer")) { return false; } @@ -108,7 +107,6 @@ public class StaticAbilityCantTarget { } public static boolean applyCantTargetAbility(final StaticAbility stAb, final Player player, final SpellAbility spellAbility) { - if (stAb.hasParam("ValidCard") || stAb.hasParam("AffectedZone")) { return false; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java index fa9ec293228..e80d92c2259 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackerBlocked.java @@ -73,7 +73,7 @@ public class TriggerAttackerBlocked extends Trigger { getHostCard().getController(), getHostCard(), this ); - if ( count == 0 ) { + if (count == 0) { return false; } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java index dac1d3d5d90..15682ca3451 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerAttackersDeclared.java @@ -72,7 +72,7 @@ public class TriggerAttackersDeclared extends Trigger { public final void setTriggeringObjects(final SpellAbility sa, Map runParams) { Iterable attackedTarget = (Iterable) runParams.get(AbilityKey.AttackedTarget); - CardCollection attackers = (CardCollection)(runParams.get(AbilityKey.Attackers)); + CardCollection attackers = (CardCollection) runParams.get(AbilityKey.Attackers); if (hasParam("ValidAttackers")) { attackers = CardLists.getValidCards(attackers, getParam("ValidAttackers").split(","), getHostCard().getController(), getHostCard(), this); FCollection defenders = new FCollection<>(); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java index 52bdb7d4058..1db1420eb9d 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerBecomesTargetOnce.java @@ -55,7 +55,6 @@ public class TriggerBecomesTargetOnce extends Trigger { * @param runParams*/ @Override public final boolean performTest(final Map runParams) { - if (!matchesValidParam("ValidSource", ((SpellAbility) runParams.get(AbilityKey.SourceSA)).getHostCard())) { return false; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java index 1adc634d3a2..2440dd83b9c 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDie.java @@ -21,11 +21,8 @@ public class TriggerRolledDie extends Trigger { */ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } if (hasParam("ValidResult")) { String[] params = getParam("ValidResult").split(","); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDieOnce.java b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDieOnce.java index d7eb65bd34f..cfe0d94db6a 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerRolledDieOnce.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerRolledDieOnce.java @@ -18,11 +18,8 @@ public class TriggerRolledDieOnce extends Trigger { */ @Override public final boolean performTest(final Map runParams) { - if (hasParam("ValidPlayer")) { - if (!matchesValid(runParams.get(AbilityKey.Player), getParam("ValidPlayer").split(","), - this.getHostCard())) { - return false; - } + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; } return true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java index fb28ab0f843..51304ef3d5f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java @@ -81,12 +81,6 @@ public class TriggerSpellAbilityCastOrCopy extends Trigger { final Game game = cast.getGame(); final SpellAbilityStackInstance si = game.getStack().getInstanceFromSpellAbility(spellAbility); - if (hasParam("ActivatedOnly")) { - if (spellAbility.isTrigger()) { - return false; - } - } - if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { return false; } @@ -95,12 +89,6 @@ public class TriggerSpellAbilityCastOrCopy extends Trigger { return false; } - if (hasParam("ValidControllingPlayer")) { - if (!matchesValid(cast.getController(), getParam("ValidControllingPlayer").split(","))) { - return false; - } - } - if (hasParam("ValidActivatingPlayer")) { if (si == null || !matchesValid(si.getSpellAbility(true).getActivatingPlayer(), getParam("ValidActivatingPlayer").split(","))) { return false; diff --git a/forge-gui/res/cardsfolder/a/ally_encampment.txt b/forge-gui/res/cardsfolder/a/ally_encampment.txt index fea390ef308..7a2fabbd2ce 100644 --- a/forge-gui/res/cardsfolder/a/ally_encampment.txt +++ b/forge-gui/res/cardsfolder/a/ally_encampment.txt @@ -2,7 +2,7 @@ Name:Ally Encampment ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Ally | SpellDescription$ Add one mana of any color. Spend this mana only to cast an Ally spell. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Ally | SpellDescription$ Add one mana of any color. Spend this mana only to cast an Ally spell. A:AB$ ChangeZone | Cost$ 1 T Sac<1/CARDNAME> | ValidTgts$ Ally.YouCtrl | TgtPrompt$ Select target Ally you control | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target Ally you control to its owner's hand. AI:RemoveDeck:Random DeckHas:Ability$Mana.Colorless diff --git a/forge-gui/res/cardsfolder/a/altar_of_the_lost.txt b/forge-gui/res/cardsfolder/a/altar_of_the_lost.txt index 1082a1569e4..ea6370647c0 100644 --- a/forge-gui/res/cardsfolder/a/altar_of_the_lost.txt +++ b/forge-gui/res/cardsfolder/a/altar_of_the_lost.txt @@ -2,6 +2,6 @@ Name:Altar of the Lost ManaCost:3 Types:Artifact K:CARDNAME enters the battlefield tapped. -A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Card.wasCastFromGraveyard+withFlashback | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast spells with flashback from a graveyard. +A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.wasCastFromGraveyard+withFlashback | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast spells with flashback from a graveyard. AI:RemoveDeck:Random Oracle:Altar of the Lost enters the battlefield tapped.\n{T}: Add two mana in any combination of colors. Spend this mana only to cast spells with flashback from a graveyard. diff --git a/forge-gui/res/cardsfolder/a/ancient_ziggurat.txt b/forge-gui/res/cardsfolder/a/ancient_ziggurat.txt index 57290ecf497..fda56fa850b 100644 --- a/forge-gui/res/cardsfolder/a/ancient_ziggurat.txt +++ b/forge-gui/res/cardsfolder/a/ancient_ziggurat.txt @@ -1,5 +1,5 @@ Name:Ancient Ziggurat ManaCost:no cost Types:Land -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. Oracle:{T}: Add one mana of any color. Spend this mana only to cast a creature spell. diff --git a/forge-gui/res/cardsfolder/b/base_camp.txt b/forge-gui/res/cardsfolder/b/base_camp.txt index eb9095b3225..ed400d4a03e 100644 --- a/forge-gui/res/cardsfolder/b/base_camp.txt +++ b/forge-gui/res/cardsfolder/b/base_camp.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Cleric,Rogue,Warrior,Wizard,Activated.Cleric,Activated.Rogue,Activated.Warrior,Activated.Wizard | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Cleric, Rogue, Warrior, or Wizard spell or to activate an ability of a Cleric, Rogue, Warrior, or Wizard. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Cleric,Spell.Rogue,Spell.Warrior,Spell.Wizard,Activated.Cleric,Activated.Rogue,Activated.Warrior,Activated.Wizard | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Cleric, Rogue, Warrior, or Wizard spell or to activate an ability of a Cleric, Rogue, Warrior, or Wizard. DeckHas:Ability$Party DeckHints:Type$Cleric|Rogue|Warrior|Wizard Oracle:Base Camp enters the battlefield tapped.\n{T}: Add {C}.\n{T}: Add one mana of any color. Spend this mana only to cast a Cleric, Rogue, Warrior, or Wizard spell or to activate an ability of a Cleric, Rogue, Warrior, or Wizard. diff --git a/forge-gui/res/cardsfolder/b/beastcaller_savant.txt b/forge-gui/res/cardsfolder/b/beastcaller_savant.txt index 5d51727a7d9..32d0ada6d67 100644 --- a/forge-gui/res/cardsfolder/b/beastcaller_savant.txt +++ b/forge-gui/res/cardsfolder/b/beastcaller_savant.txt @@ -3,5 +3,5 @@ ManaCost:1 G Types:Creature Elf Shaman Ally PT:1/1 K:Haste -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Card.Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. Oracle:Haste\n{T}: Add one mana of any color. Spend this mana only to cast a creature spell. diff --git a/forge-gui/res/cardsfolder/c/carth_the_lion.txt b/forge-gui/res/cardsfolder/c/carth_the_lion.txt index 98864070182..248ce8bb6b3 100644 --- a/forge-gui/res/cardsfolder/c/carth_the_lion.txt +++ b/forge-gui/res/cardsfolder/c/carth_the_lion.txt @@ -5,6 +5,6 @@ PT:3/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ Whenever CARDNAME enters the battlefield or a planeswalker you control dies, look at the top seven cards of your library. You may reveal a planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDig | Secondary$ True | TriggerDescription$ Whenever CARDNAME enters the battlefield or a planeswalker you control dies, look at the top seven cards of your library. You may reveal a planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. SVar:TrigDig:DB$ Dig | DigNum$ 7 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Planeswalker | RestRandomOrder$ True | ForceRevealToController$ True -S:Mode$ RaiseCost | ValidCard$ Planeswalker.YouCtrl | Type$ Loyalty | Cost$ AddCounter<1/LOYALTY> | Description$ Planeswalkers' loyalty abilities you activate cost an additional [+1] to activate. +S:Mode$ RaiseCost | ValidCard$ Planeswalker.YouCtrl | ValidSpell$ Activated.Loyalty | Cost$ AddCounter<1/LOYALTY> | Description$ Planeswalkers' loyalty abilities you activate cost an additional [+1] to activate. DeckNeeds:Type$Planeswalker Oracle:Whenever Carth the Lion enters the battlefield or a planeswalker you control dies, look at the top seven cards of your library. You may reveal a planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.\nPlaneswalkers' loyalty abilities you activate cost an additional [+1] to activate. diff --git a/forge-gui/res/cardsfolder/c/cavern_of_souls.txt b/forge-gui/res/cardsfolder/c/cavern_of_souls.txt index e61c96476c4..34774696cd6 100644 --- a/forge-gui/res/cardsfolder/c/cavern_of_souls.txt +++ b/forge-gui/res/cardsfolder/c/cavern_of_souls.txt @@ -4,5 +4,5 @@ Types:Land K:ETBReplacement:Other:ChooseCT SVar:ChooseCT:DB$ ChooseType | Defined$ You | Type$ Creature | SpellDescription$ As CARDNAME enters the battlefield, choose a creature type. | AILogic$ MostProminentInComputerDeck A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature.ChosenType | AddsNoCounter$ True | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature+ChosenType | AddsNoCounter$ True | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered. Oracle:As Cavern of Souls enters the battlefield, choose a creature type.\n{T}: Add {C}.\n{T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered. diff --git a/forge-gui/res/cardsfolder/c/ceaseless_searblades.txt b/forge-gui/res/cardsfolder/c/ceaseless_searblades.txt index b38513ff061..85d59e99c8c 100644 --- a/forge-gui/res/cardsfolder/c/ceaseless_searblades.txt +++ b/forge-gui/res/cardsfolder/c/ceaseless_searblades.txt @@ -2,7 +2,7 @@ Name:Ceaseless Searblades ManaCost:3 R Types:Creature Elemental Warrior PT:2/4 -T:Mode$ AbilityCast | ValidCard$ Elemental | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an Elemental, CARDNAME gets +1/+0 until end of turn. -T:Mode$ TapsForMana | ValidCard$ Elemental | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an Elemental, CARDNAME gets +1/+0 until end of turn. +T:Mode$ AbilityCast | ValidCard$ Elemental.inZoneBattlefield | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an Elemental, CARDNAME gets +1/+0 until end of turn. +T:Mode$ TapsForMana | ValidCard$ Elemental.inZoneBattlefield | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an Elemental, CARDNAME gets +1/+0 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1 | NumDef$ +0 Oracle:Whenever you activate an ability of an Elemental, Ceaseless Searblades gets +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/c/collector_ouphe.txt b/forge-gui/res/cardsfolder/c/collector_ouphe.txt index 958f0620be1..a8d89891e3d 100644 --- a/forge-gui/res/cardsfolder/c/collector_ouphe.txt +++ b/forge-gui/res/cardsfolder/c/collector_ouphe.txt @@ -2,6 +2,6 @@ Name:Collector Ouphe ManaCost:1 G Types:Creature Ouphe PT:2/2 -S:Mode$ Continuous | Affected$ Artifact | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of artifacts can't be activated. +S:Mode$ CantBeActivated | Activator$ Player | ValidCard$ Artifact | ValidSA$ Activated | Description$ Activated abilities of artifacts can't be activated. AI:RemoveDeck:Random Oracle:Activated abilities of artifacts can't be activated. diff --git a/forge-gui/res/cardsfolder/c/corrupted_crossroads.txt b/forge-gui/res/cardsfolder/c/corrupted_crossroads.txt index 54e150ad1ca..a22ea41c291 100644 --- a/forge-gui/res/cardsfolder/c/corrupted_crossroads.txt +++ b/forge-gui/res/cardsfolder/c/corrupted_crossroads.txt @@ -2,7 +2,7 @@ Name:Corrupted Crossroads ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. ({C} represents colorless mana.) -A:AB$ Mana | Cost$ T PayLife<1> | Produced$ Any | Amount$ 1 | RestrictValid$ Card.withDevoid | SpellDescription$ Add one mana of any color. Spend this mana only to cast a spell with devoid. +A:AB$ Mana | Cost$ T PayLife<1> | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.withDevoid | SpellDescription$ Add one mana of any color. Spend this mana only to cast a spell with devoid. AI:RemoveDeck:Random DeckHas:Ability$Mana.Colorless DeckNeeds:Keyword$Devoid diff --git a/forge-gui/res/cardsfolder/c/crackdown_construct.txt b/forge-gui/res/cardsfolder/c/crackdown_construct.txt index 16d25a87cfd..dafa398ffef 100644 --- a/forge-gui/res/cardsfolder/c/crackdown_construct.txt +++ b/forge-gui/res/cardsfolder/c/crackdown_construct.txt @@ -2,6 +2,6 @@ Name:Crackdown Construct ManaCost:4 Types:Artifact Creature Construct PT:2/2 -T:Mode$ AbilityCast | ValidCard$ Artifact,Creature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an artifact or creature that isn't a mana ability, Crackdown Construct gets +1/+1 until end of turn. +T:Mode$ AbilityCast | ValidCard$ Artifact.inZoneBattlefield,Creature.inZoneBattlefield | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you activate an ability of an artifact or creature that isn't a mana ability, Crackdown Construct gets +1/+1 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +1 | NumDef$ +1 Oracle:Whenever you activate an ability of an artifact or creature that isn't a mana ability, Crackdown Construct gets +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/c/crucible_of_the_spirit_dragon.txt b/forge-gui/res/cardsfolder/c/crucible_of_the_spirit_dragon.txt index 96a6fc2d52e..668939bcd8c 100644 --- a/forge-gui/res/cardsfolder/c/crucible_of_the_spirit_dragon.txt +++ b/forge-gui/res/cardsfolder/c/crucible_of_the_spirit_dragon.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. A:AB$ PutCounter | Cost$ 1 T | CounterType$ STORAGE | CounterNum$ 1 | SpellDescription$ Put a storage counter on CARDNAME. -A:AB$ Mana | Cost$ T SubCounter | Produced$ Combo Any | Amount$ X | RestrictValid$ Card.Dragon,Activated.Dragon | CostDesc$ {T}, Remove X storage counters from CARDNAME: | SpellDescription$ Add X mana in any combination of colors. Spend this mana only to cast Dragon spells or activate abilities of Dragons. +A:AB$ Mana | Cost$ T SubCounter | Produced$ Combo Any | Amount$ X | RestrictValid$ Spell.Dragon,Activated.Dragon | CostDesc$ {T}, Remove X storage counters from CARDNAME: | SpellDescription$ Add X mana in any combination of colors. Spend this mana only to cast Dragon spells or activate abilities of Dragons. SVar:X:Count$xPaid AI:RemoveDeck:All Oracle:{T}: Add {C}.\n{1}, {T}: Put a storage counter on Crucible of the Spirit Dragon.\n{T}, Remove X storage counters from Crucible of the Spirit Dragon: Add X mana in any combination of colors. Spend this mana only to cast Dragon spells or activate abilities of Dragons. diff --git a/forge-gui/res/cardsfolder/c/cultivator_drone.txt b/forge-gui/res/cardsfolder/c/cultivator_drone.txt index f658795e09d..5f87c39ef94 100644 --- a/forge-gui/res/cardsfolder/c/cultivator_drone.txt +++ b/forge-gui/res/cardsfolder/c/cultivator_drone.txt @@ -3,6 +3,6 @@ ManaCost:2 U Types:Creature Eldrazi Drone PT:2/3 K:Devoid -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 1 | RestrictValid$ Card.Colorless,Activated.Permanent+Colorless,CostContainsC | SpellDescription$ Add {C}. Spend this mana only to cast a colorless spell, activate an ability of a colorless permanent, or pay a cost that contains {C}. ({C} represents colorless mana.) +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 1 | RestrictValid$ Spell.Colorless,Activated.Permanent+Colorless,CostContainsC | SpellDescription$ Add {C}. Spend this mana only to cast a colorless spell, activate an ability of a colorless permanent, or pay a cost that contains {C}. ({C} represents colorless mana.) DeckHas:Ability$Mana.Colorless Oracle:Devoid (This card has no color.)\n{T}: Add {C}. Spend this mana only to cast a colorless spell, activate an ability of a colorless permanent, or pay a cost that contains {C}. ({C} represents colorless mana.) diff --git a/forge-gui/res/cardsfolder/c/cursed_totem.txt b/forge-gui/res/cardsfolder/c/cursed_totem.txt index a1a4155c27e..cab19853543 100644 --- a/forge-gui/res/cardsfolder/c/cursed_totem.txt +++ b/forge-gui/res/cardsfolder/c/cursed_totem.txt @@ -1,7 +1,7 @@ Name:Cursed Totem ManaCost:2 Types:Artifact -S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of creatures can't be activated. +S:Mode$ CantBeActivated | Activator$ Player | ValidCard$ Creature | ValidSA$ Activated | Description$ Activated abilities of creatures can't be activated. SVar:NonStackingEffect:True AI:RemoveDeck:Random Oracle:Activated abilities of creatures can't be activated. diff --git a/forge-gui/res/cardsfolder/d/dalakos_crafter_of_wonders.txt b/forge-gui/res/cardsfolder/d/dalakos_crafter_of_wonders.txt index 29c5e363475..829aca5285c 100644 --- a/forge-gui/res/cardsfolder/d/dalakos_crafter_of_wonders.txt +++ b/forge-gui/res/cardsfolder/d/dalakos_crafter_of_wonders.txt @@ -2,7 +2,7 @@ Name:Dalakos, Crafter of Wonders ManaCost:1 U R Types:Legendary Creature Merfolk Artificer PT:2/4 -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Card.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. S:Mode$ Continuous | Affected$ Creature.YouCtrl+equipped | AddKeyword$ Flying & Haste | Description$ Equipped creatures you control have flying and haste. SVar:NonStackingEffect:True SVar:PlayMain1:TRUE diff --git a/forge-gui/res/cardsfolder/d/detainment_spell.txt b/forge-gui/res/cardsfolder/d/detainment_spell.txt index fa14711933f..59a27e019a9 100644 --- a/forge-gui/res/cardsfolder/d/detainment_spell.txt +++ b/forge-gui/res/cardsfolder/d/detainment_spell.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ W | ValidTgts$ Creature | AILogic$ Curse -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Enchanted creature's activated abilities can't be activated. +S:Mode$ CantBeActivated | ValidCard$ Creature.EnchantedBy | ValidSA$ Activated | Description$ Enchanted creature's activated abilities can't be activated. A:AB$ Attach | Cost$ 1 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | AILogic$ Curse | SpellDescription$ Attach CARDNAME to target creature. AI:RemoveDeck:All Oracle:Enchant creature\nEnchanted creature's activated abilities can't be activated.\n{1}{W}: Attach Detainment Spell to target creature. diff --git a/forge-gui/res/cardsfolder/d/dustin_gadget_genius.txt b/forge-gui/res/cardsfolder/d/dustin_gadget_genius.txt index 2a99d00188d..48250151cce 100644 --- a/forge-gui/res/cardsfolder/d/dustin_gadget_genius.txt +++ b/forge-gui/res/cardsfolder/d/dustin_gadget_genius.txt @@ -2,7 +2,7 @@ Name:Dustin, Gadget Genius ManaCost:2 W U Types:Legendary Creature Human PT:2/3 -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Card.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. K:Friends forever DeckNeeds:Type$Artifact Oracle:{T}: Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts.\nFriends forever (You can have two commanders if both have friends forever.) diff --git a/forge-gui/res/cardsfolder/e/eidolon_of_obstruction.txt b/forge-gui/res/cardsfolder/e/eidolon_of_obstruction.txt index b7ba22dcbdd..24f88d66cf0 100644 --- a/forge-gui/res/cardsfolder/e/eidolon_of_obstruction.txt +++ b/forge-gui/res/cardsfolder/e/eidolon_of_obstruction.txt @@ -3,5 +3,5 @@ ManaCost:1 W Types:Enchantment Creature Spirit PT:2/1 K:First Strike -S:Mode$ RaiseCost | ValidCard$ Planeswalker.OppCtrl | Type$ Loyalty | Amount$ 1 | Description$ Loyalty abilities of planeswalkers your opponents control cost {1} more to activate. +S:Mode$ RaiseCost | ValidCard$ Planeswalker.OppCtrl | ValidSpell$ Activated.Loyalty | Amount$ 1 | Description$ Loyalty abilities of planeswalkers your opponents control cost {1} more to activate. Oracle:First strike\nLoyalty abilities of planeswalkers your opponents control cost {1} more to activate. diff --git a/forge-gui/res/cardsfolder/e/eldrazi_temple.txt b/forge-gui/res/cardsfolder/e/eldrazi_temple.txt index 134db22fba8..ec493089e24 100644 --- a/forge-gui/res/cardsfolder/e/eldrazi_temple.txt +++ b/forge-gui/res/cardsfolder/e/eldrazi_temple.txt @@ -2,6 +2,6 @@ Name:Eldrazi Temple ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Card.Eldrazi+Colorless,Activated.Eldrazi+Colorless | SpellDescription$ Add {C}{C}. Spend this mana only to cast colorless Eldrazi spells or activate abilities of colorless Eldrazi. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Eldrazi,Activated.Eldrazi+Colorless | SpellDescription$ Add {C}{C}. Spend this mana only to cast colorless Eldrazi spells or activate abilities of colorless Eldrazi. AI:RemoveDeck:Random Oracle:{T}: Add {C}.\n{T}: Add {C}{C}. Spend this mana only to cast colorless Eldrazi spells or activate abilities of colorless Eldrazi. diff --git a/forge-gui/res/cardsfolder/e/exiled_doomsayer.txt b/forge-gui/res/cardsfolder/e/exiled_doomsayer.txt index 81b9c9929d7..3ab84d9f5a4 100644 --- a/forge-gui/res/cardsfolder/e/exiled_doomsayer.txt +++ b/forge-gui/res/cardsfolder/e/exiled_doomsayer.txt @@ -2,6 +2,6 @@ Name:Exiled Doomsayer ManaCost:1 W Types:Creature Human Cleric PT:1/2 -S:Mode$ RaiseCost | ValidCard$ Creature.faceDown | Type$ MorphUp | Amount$ 2 | Description$ All morph costs cost {2} more. (This doesn't affect the cost to cast creature spells face down.) +S:Mode$ RaiseCost | ValidCard$ Creature.faceDown | ValidSpell$ Static.MorphUp | Amount$ 2 | Description$ All morph costs cost {2} more. (This doesn't affect the cost to cast creature spells face down.) AI:RemoveDeck:Random Oracle:All morph costs cost {2} more. (This doesn't affect the cost to cast creature spells face down.) diff --git a/forge-gui/res/cardsfolder/f/food_chain.txt b/forge-gui/res/cardsfolder/f/food_chain.txt index 3d04c15aea1..3014010cacb 100644 --- a/forge-gui/res/cardsfolder/f/food_chain.txt +++ b/forge-gui/res/cardsfolder/f/food_chain.txt @@ -1,7 +1,7 @@ Name:Food Chain ManaCost:2 G Types:Enchantment -A:AB$ Mana | Cost$ Exile<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Card.Creature | SpellDescription$ Add X mana of any one color, where X is 1 plus the exiled creature's mana value. Spend this mana only to cast creature spells. +A:AB$ Mana | Cost$ Exile<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Spell.Creature | SpellDescription$ Add X mana of any one color, where X is 1 plus the exiled creature's mana value. Spend this mana only to cast creature spells. SVar:X:Exiled$CardManaCost/Plus.1 SVar:NonStackingEffect:True AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/g/geosurge.txt b/forge-gui/res/cardsfolder/g/geosurge.txt index d70c43a21f5..660641a673d 100644 --- a/forge-gui/res/cardsfolder/g/geosurge.txt +++ b/forge-gui/res/cardsfolder/g/geosurge.txt @@ -1,5 +1,5 @@ Name:Geosurge ManaCost:R R R R Types:Sorcery -A:SP$ Mana | Cost$ R R R R | Produced$ R | Amount$ 7 | RestrictValid$ Card.Artifact,Card.Creature | AILogic$ ManaRitual | AINoRecursiveCheck$ True | SpellDescription$ Add {R}{R}{R}{R}{R}{R}{R}. Spend this mana only to cast artifact or creature spells. +A:SP$ Mana | Cost$ R R R R | Produced$ R | Amount$ 7 | RestrictValid$ Spell.Artifact,Spell.Creature | AILogic$ ManaRitual | AINoRecursiveCheck$ True | SpellDescription$ Add {R}{R}{R}{R}{R}{R}{R}. Spend this mana only to cast artifact or creature spells. Oracle:Add {R}{R}{R}{R}{R}{R}{R}. Spend this mana only to cast artifact or creature spells. diff --git a/forge-gui/res/cardsfolder/g/gibbering_descent.txt b/forge-gui/res/cardsfolder/g/gibbering_descent.txt index a540f080de1..589baef578a 100644 --- a/forge-gui/res/cardsfolder/g/gibbering_descent.txt +++ b/forge-gui/res/cardsfolder/g/gibbering_descent.txt @@ -2,7 +2,7 @@ Name:Gibbering Descent ManaCost:4 B B Types:Enchantment K:Madness:2 B B -R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Upkeep | Skip$ True | Condition$ Hellbent | Description$ Hellbent — Skip your upkeep step if you have no cards in hand. +R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Upkeep | Skip$ True | Hellbent$ True | Description$ Hellbent — Skip your upkeep step if you have no cards in hand. T:Mode$ Phase | Phase$ Upkeep | Execute$ TrigLoseLifeDiscard | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, that player loses 1 life and discards a card. SVar:TrigLoseLifeDiscard:DB$ LoseLife | Defined$ TriggeredPlayer | LifeAmount$ 1 | SubAbility$ DBDiscard SVar:DBDiscard:DB$ Discard | Defined$ TriggeredPlayer | NumCards$ 1 | Mode$ TgtChoose diff --git a/forge-gui/res/cardsfolder/g/gnarlroot_trapper.txt b/forge-gui/res/cardsfolder/g/gnarlroot_trapper.txt index 24576171c38..c824fd8ff32 100644 --- a/forge-gui/res/cardsfolder/g/gnarlroot_trapper.txt +++ b/forge-gui/res/cardsfolder/g/gnarlroot_trapper.txt @@ -2,6 +2,6 @@ Name:Gnarlroot Trapper ManaCost:B Types:Creature Elf Druid PT:1/1 -A:AB$ Mana | Cost$ T PayLife<1> | Produced$ G | RestrictValid$ Creature.Elf | SpellDescription$ Add {G}. Spend this mana only to cast an Elf creature spell. +A:AB$ Mana | Cost$ T PayLife<1> | Produced$ G | RestrictValid$ Spell.Creature+Elf | SpellDescription$ Add {G}. Spend this mana only to cast an Elf creature spell. A:AB$ Pump | Cost$ T | ValidTgts$ Creature.YouCtrl+Elf+attacking | TgtPrompt$ Select target attacking Elf you control | KW$ Deathtouch | SpellDescription$ Target attacking Elf you control gains deathtouch until end of turn. Oracle:{T}, Pay 1 life: Add {G}. Spend this mana only to cast an Elf creature spell.\n{T}: Target attacking Elf you control gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.) diff --git a/forge-gui/res/cardsfolder/g/grand_architect.txt b/forge-gui/res/cardsfolder/g/grand_architect.txt index bf659b94f22..639d643865f 100644 --- a/forge-gui/res/cardsfolder/g/grand_architect.txt +++ b/forge-gui/res/cardsfolder/g/grand_architect.txt @@ -4,6 +4,6 @@ Types:Creature Vedalken Artificer PT:1/3 S:Mode$ Continuous | Affected$ Creature.Blue+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other blue creatures you control get +1/+1. A:AB$ Animate | Cost$ U | ValidTgts$ Creature.Artifact | TgtPrompt$ Select target artifact creature | Colors$ Blue | OverwriteColors$ True | SpellDescription$ Target artifact creature becomes blue until end of turn. -A:AB$ Mana | Cost$ tapXType<1/Creature.Blue> | Produced$ C | Amount$ 2 | RestrictValid$ Card.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. +A:AB$ Mana | Cost$ tapXType<1/Creature.Blue> | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. AI:RemoveDeck:Random Oracle:Other blue creatures you control get +1/+1.\n{U}: Target artifact creature becomes blue until end of turn.\nTap an untapped blue creature you control: Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. diff --git a/forge-gui/res/cardsfolder/h/haven_of_the_spirit_dragon.txt b/forge-gui/res/cardsfolder/h/haven_of_the_spirit_dragon.txt index dbd27192241..99027c28796 100644 --- a/forge-gui/res/cardsfolder/h/haven_of_the_spirit_dragon.txt +++ b/forge-gui/res/cardsfolder/h/haven_of_the_spirit_dragon.txt @@ -2,7 +2,7 @@ Name:Haven of the Spirit Dragon ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Creature.Dragon | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Dragon creature spell. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Creature+Dragon | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Dragon creature spell. A:AB$ ChangeZone | Cost$ 2 T Sac<1/CARDNAME> | TgtPrompt$ Select target Dragon creature card or Ugin planeswalker card in your graveyard | ValidTgts$ Creature.Dragon+YouCtrl,Planeswalker.Ugin+YouCtrl | Origin$ Graveyard | Destination$ Hand | SpellDescription$ Return target Dragon creature card or Ugin planeswalker card from your graveyard to your hand. AI:RemoveDeck:Random Oracle:{T}: Add {C}.\n{T}: Add one mana of any color. Spend this mana only to cast a Dragon creature spell.\n{2}, {T}, Sacrifice Haven of the Spirit Dragon: Return target Dragon creature card or Ugin planeswalker card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/h/humble_naturalist.txt b/forge-gui/res/cardsfolder/h/humble_naturalist.txt index 131ee853760..1b25854071e 100644 --- a/forge-gui/res/cardsfolder/h/humble_naturalist.txt +++ b/forge-gui/res/cardsfolder/h/humble_naturalist.txt @@ -2,5 +2,5 @@ Name:Humble Naturalist ManaCost:1 G Types:Creature Human Druid PT:1/3 -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell. Oracle:{T}: Add one mana of any color. Spend this mana only to cast a creature spell. diff --git a/forge-gui/res/cardsfolder/i/ice_cauldron.txt b/forge-gui/res/cardsfolder/i/ice_cauldron.txt index 3f0f0c2240d..e706d43f962 100644 --- a/forge-gui/res/cardsfolder/i/ice_cauldron.txt +++ b/forge-gui/res/cardsfolder/i/ice_cauldron.txt @@ -11,6 +11,6 @@ T:Mode$ ChangesZone | ValidCard$ Card.IsRemembered+ExiledWithSource | Origin$ Ex SVar:ForgetCard:DB$ Cleanup | ForgetDefined$ TriggeredCard T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -A:AB$ Mana | Cost$ T SubCounter<1/CHARGE> | Produced$ Special LastNotedType | RestrictValid$ Card.IsRemembered | SpellDescription$ Add CARDNAME's last noted type and amount of mana. Spend this mana only to cast the last card exiled with CARDNAME. +A:AB$ Mana | Cost$ T SubCounter<1/CHARGE> | Produced$ Special LastNotedType | RestrictValid$ Spell.IsRemembered | SpellDescription$ Add CARDNAME's last noted type and amount of mana. Spend this mana only to cast the last card exiled with CARDNAME. AI:RemoveDeck:All Oracle:{X}, {T}: You may exile a nonland card from your hand. You may cast that card for as long as it remains exiled. Put a charge counter on Ice Cauldron and note the type and amount of mana spent to pay this activation cost. Activate only if there are no charge counters on Ice Cauldron.\n{T}, Remove a charge counter from Ice Cauldron: Add Ice Cauldron's last noted type and amount of mana. Spend this mana only to cast the last card exiled with Ice Cauldron. diff --git a/forge-gui/res/cardsfolder/k/karfell_harbinger.txt b/forge-gui/res/cardsfolder/k/karfell_harbinger.txt index 6bc8c9006f9..9070bdc8bc1 100644 --- a/forge-gui/res/cardsfolder/k/karfell_harbinger.txt +++ b/forge-gui/res/cardsfolder/k/karfell_harbinger.txt @@ -2,6 +2,6 @@ Name:Karfell Harbinger ManaCost:1 U Types:Creature Zombie Wizard PT:1/3 -A:AB$ Mana | Cost$ T | Produced$ U | RestrictValid$ Static.Foretelling,Spell.Instant,Spell.Sorcery | SpellDescription$ Add {U}. Spend this mana only to foretell a card from your hand or cast an instant or sorcery spell. +A:AB$ Mana | Cost$ T | Produced$ U | RestrictValid$ Static.Foretelling,Instant,Sorcery | SpellDescription$ Add {U}. Spend this mana only to foretell a card from your hand or cast an instant or sorcery spell. DeckHints:Type$Instant|Sorcery Oracle:{T}: Add {U}. Spend this mana only to foretell a card from your hand or cast an instant or sorcery spell. diff --git a/forge-gui/res/cardsfolder/k/karn_the_great_creator.txt b/forge-gui/res/cardsfolder/k/karn_the_great_creator.txt index 33a771b2646..6be542c8516 100644 --- a/forge-gui/res/cardsfolder/k/karn_the_great_creator.txt +++ b/forge-gui/res/cardsfolder/k/karn_the_great_creator.txt @@ -2,7 +2,7 @@ Name:Karn, the Great Creator ManaCost:4 Types:Legendary Planeswalker Karn Loyalty:5 -S:Mode$ Continuous | Affected$ Artifact.OppCtrl | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of artifacts your opponents control can't be activated. +S:Mode$ CantBeActivated | Activator$ Opponent | ValidCard$ Artifact | ValidSA$ Activated | Description$ Activated abilities of artifacts your opponents control can't be activated. SVar:NonStackingEffect:True A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | TargetMin$ 0 | TargetMax$ 1 | Planeswalker$ True | ValidTgts$ Artifact.nonCreature | TgtPrompt$ Select target noncreature artifact | Power$ X | Toughness$ X | Types$ Artifact,Creature | Duration$ UntilYourNextTurn | AILogic$ PTByCMC | SpellDescription$ Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness each equal to its mana value. SVar:X:Targeted$CardManaCost diff --git a/forge-gui/res/cardsfolder/k/klauth_unrivaled_ancient.txt b/forge-gui/res/cardsfolder/k/klauth_unrivaled_ancient.txt index 0715d37adab..4de844dbb42 100644 --- a/forge-gui/res/cardsfolder/k/klauth_unrivaled_ancient.txt +++ b/forge-gui/res/cardsfolder/k/klauth_unrivaled_ancient.txt @@ -5,7 +5,7 @@ PT:4/4 K:Flying K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ Whenever CARDNAME attacks, add X mana in any combination of colors, where X is the total power of attacking creatures. Spend this mana only to cast spells. Until end of turn, you don't lose this mana as steps and phases end. -SVar:TrigMana:DB$ Mana | Produced$ Combo Any | Amount$ X | PersistentMana$ True | RestrictValid$ Card +SVar:TrigMana:DB$ Mana | Produced$ Combo Any | Amount$ X | PersistentMana$ True | RestrictValid$ Spell SVar:X:Count$SumPower_Creature.attacking SVar:HasAttackEffect:TRUE Oracle:Flying, haste\nWhenever Klauth, Unrivaled Ancient attacks, add X mana in any combination of colors, where X is the total power of attacking creatures. Spend this mana only to cast spells. Until end of turn, you don't lose this mana as steps and phases end. diff --git a/forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt b/forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt index 87ad40e4b44..a6a06b166ef 100644 --- a/forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt +++ b/forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt @@ -14,5 +14,5 @@ ManaCost:1 G Types:Legendary Artifact K:ETBReplacement:Other:ChooseCT SVar:ChooseCT:DB$ ChooseType | Defined$ You | Type$ Creature | AILogic$ MostProminentInComputerDeck | SpellDescription$ As CARDNAME enters the battlefield, choose a creature type. -A:AB$ Mana | Cost$ T | Produced$ G | RestrictValid$ Creature.ChosenType,Creature.Legendary | SpellDescription$ Add {G}. Spend this mana only to cast a creature spell of the chosen type or a legendary creature spell. +A:AB$ Mana | Cost$ T | Produced$ G | RestrictValid$ Spell.Creature+ChosenType,Spell.Creature+Legendary | SpellDescription$ Add {G}. Spend this mana only to cast a creature spell of the chosen type or a legendary creature spell. Oracle:As The Ringhart Crest enters the battlefield, choose a creature type.\n{T}: Add {G}. Spend this mana only to cast a creature spell of the chosen type or a legendary creature spell. diff --git a/forge-gui/res/cardsfolder/l/linvala_keeper_of_silence.txt b/forge-gui/res/cardsfolder/l/linvala_keeper_of_silence.txt index 86c973042dc..71e37949af6 100644 --- a/forge-gui/res/cardsfolder/l/linvala_keeper_of_silence.txt +++ b/forge-gui/res/cardsfolder/l/linvala_keeper_of_silence.txt @@ -3,6 +3,6 @@ ManaCost:2 W W Types:Legendary Creature Angel PT:3/4 K:Flying -S:Mode$ Continuous | Affected$ Creature.OppCtrl | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of creatures your opponents control can't be activated. +S:Mode$ CantBeActivated | Activator$ Opponent | ValidCard$ Creature | ValidSA$ Activated | Description$ Activated abilities of creatures your opponents control can't be activated. SVar:PlayMain1:TRUE Oracle:Flying\nActivated abilities of creatures your opponents control can't be activated. diff --git a/forge-gui/res/cardsfolder/l/lord_of_the_forsaken.txt b/forge-gui/res/cardsfolder/l/lord_of_the_forsaken.txt index 0e217c2f7f5..4674327db8d 100644 --- a/forge-gui/res/cardsfolder/l/lord_of_the_forsaken.txt +++ b/forge-gui/res/cardsfolder/l/lord_of_the_forsaken.txt @@ -5,7 +5,7 @@ PT:6/6 K:Flying K:Trample A:AB$ Mill | Cost$ B Sac<1/Creature.Other/another creature> | ValidTgts$ Player | TgtPrompt$ Select target player | NumCards$ 3 | SpellDescription$ Target player mills three cards. -A:AB$ Mana | Cost$ PayLife<1> | Produced$ C | RestrictValid$ Card.wasCastFromYourGraveyard | SpellDescription$ Add {C}. Spend this mana only to cast a spell from your graveyard. +A:AB$ Mana | Cost$ PayLife<1> | Produced$ C | RestrictValid$ Spell.wasCastFromYourGraveyard | SpellDescription$ Add {C}. Spend this mana only to cast a spell from your graveyard. DeckHas:Ability$Sacrifice|Mill DeckHints:Ability$Graveyard Oracle:Flying, trample\n{B}, Sacrifice another creature: Target player mills three cards.\nPay 1 life: Add {C}. Spend this mana only to cast a spell from your graveyard. diff --git a/forge-gui/res/cardsfolder/m/metamorphosis.txt b/forge-gui/res/cardsfolder/m/metamorphosis.txt index c1549c28f3e..d9cd6b6f61b 100644 --- a/forge-gui/res/cardsfolder/m/metamorphosis.txt +++ b/forge-gui/res/cardsfolder/m/metamorphosis.txt @@ -1,7 +1,7 @@ Name:Metamorphosis ManaCost:G Types:Sorcery -A:SP$ Mana | Cost$ G Sac<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Card.Creature | SpellDescription$ Add X mana of any one color, where X is 1 plus the sacrificed creature's mana value. Spend this mana only to cast creature spells. +A:SP$ Mana | Cost$ G Sac<1/Creature> | Produced$ Any | Amount$ X | RestrictValid$ Spell.Creature | SpellDescription$ Add X mana of any one color, where X is 1 plus the sacrificed creature's mana value. Spend this mana only to cast creature spells. SVar:X:Sacrificed$CardManaCost/Plus.1 AI:RemoveDeck:All Oracle:As an additional cost to cast this spell, sacrifice a creature.\nAdd X mana of any one color, where X is 1 plus the sacrificed creature's mana value. Spend this mana only to cast creature spells. diff --git a/forge-gui/res/cardsfolder/m/mishras_workshop.txt b/forge-gui/res/cardsfolder/m/mishras_workshop.txt index c9865f729f7..33127af8cc1 100644 --- a/forge-gui/res/cardsfolder/m/mishras_workshop.txt +++ b/forge-gui/res/cardsfolder/m/mishras_workshop.txt @@ -1,6 +1,6 @@ Name:Mishra's Workshop ManaCost:no cost Types:Land -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 3 | RestrictValid$ Artifact | SpellDescription$ Add {C}{C}{C}. Spend this mana only to cast artifact spells. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 3 | RestrictValid$ Spell.Artifact | SpellDescription$ Add {C}{C}{C}. Spend this mana only to cast artifact spells. AI:RemoveDeck:Random Oracle:{T}: Add {C}{C}{C}. Spend this mana only to cast artifact spells. diff --git a/forge-gui/res/cardsfolder/m/myr_reservoir.txt b/forge-gui/res/cardsfolder/m/myr_reservoir.txt index 322a332a106..4d62c9b1ef5 100644 --- a/forge-gui/res/cardsfolder/m/myr_reservoir.txt +++ b/forge-gui/res/cardsfolder/m/myr_reservoir.txt @@ -1,7 +1,7 @@ Name:Myr Reservoir ManaCost:3 Types:Artifact -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Myr,Activated.Myr | SpellDescription$ Add {C}{C}. Spend this mana only to cast Myr spells or activate abilities of Myr. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Myr,Activated.Myr | SpellDescription$ Add {C}{C}. Spend this mana only to cast Myr spells or activate abilities of Myr. A:AB$ ChangeZone | Cost$ 3 T | TgtPrompt$ Choose target Myr card in your graveyard | ValidTgts$ Card.Myr+YouCtrl | Origin$ Graveyard | Destination$ Hand | SpellDescription$ Return target Myr card from your graveyard to your hand. AI:RemoveDeck:Random Oracle:{T}: Add {C}{C}. Spend this mana only to cast Myr spells or activate abilities of Myr.\n{3}, {T}: Return target Myr card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/n/narset_of_the_ancient_way.txt b/forge-gui/res/cardsfolder/n/narset_of_the_ancient_way.txt index 79282f3d687..ccb875b58d7 100644 --- a/forge-gui/res/cardsfolder/n/narset_of_the_ancient_way.txt +++ b/forge-gui/res/cardsfolder/n/narset_of_the_ancient_way.txt @@ -3,7 +3,7 @@ ManaCost:1 U R W Types:Legendary Planeswalker Narset Loyalty:4 A:AB$ GainLife | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | LifeAmount$ 2 | Defined$ You | SubAbility$ DBMana | StackDescription$ SpellDescription | SpellDescription$ You gain 2 life. Add {U}, {R}, or {W}. Spend this mana only to cast a noncreature spell. -SVar:DBMana:DB$ Mana | Produced$ Combo U R W | Amount$ 1 | RestrictValid$ Card.nonCreature | StackDescription$ None +SVar:DBMana:DB$ Mana | Produced$ Combo U R W | Amount$ 1 | RestrictValid$ Spell.nonCreature | StackDescription$ None A:AB$ Draw | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | NumCards$ 1 | SpellDescription$ Draw a card, then discard a card. | SubAbility$ DBDiscard | StackDescription$ SpellDescription | SpellDescription$ Draw a card, then you may discard a card. When you discard a nonland card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker. SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | Optional$ True | NumCards$ 1 | RememberDiscarded$ True | SubAbility$ DBDamage | StackDescription$ None SVar:DBDamage:DB$ DealDamage | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | ConditionCompare$ EQ1 | NumDmg$ X | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | SubAbility$ DBCleanup | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt b/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt index df5de4641f8..6dda005f7dd 100644 --- a/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt +++ b/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt @@ -4,7 +4,7 @@ Types:Enchantment Saga K:Saga:3:DBGainLife,DBMana,DBChangeZone SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | SpellDescription$ You gain 2 life for each foretold card you own in exile. SVar:X:Count$ValidExile Card.foretold+YouOwn/Times.2 -SVar:DBMana:DB$ Mana | Produced$ W U | RestrictValid$ Static.Foretelling,Card.withForetell | SpellDescription$ Add {W}{U}. Spend this mana only to foretell cards or cast spells that have foretell. +SVar:DBMana:DB$ Mana | Produced$ W U | RestrictValid$ Static.Foretelling,Spell.withForetell | SpellDescription$ Add {W}{U}. Spend this mana only to foretell cards or cast spells that have foretell. SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.YouOwn+withForetell | SpellDescription$ Return target card with foretell from your graveyard to your hand. DeckHas:Ability$Graveyard|GainLife Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — You gain 2 life for each foretold card you own in exile.\nII — Add {W}{U}. Spend this mana only to foretell cards or cast spells that have foretell.\nIII — Return target card with foretell from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/n/null_rod.txt b/forge-gui/res/cardsfolder/n/null_rod.txt index a8709fbb74e..3b09d8ab759 100644 --- a/forge-gui/res/cardsfolder/n/null_rod.txt +++ b/forge-gui/res/cardsfolder/n/null_rod.txt @@ -1,7 +1,7 @@ Name:Null Rod ManaCost:2 Types:Artifact -S:Mode$ Continuous | Affected$ Artifact | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of artifacts can't be activated. +S:Mode$ CantBeActivated | ValidCard$ Artifact | ValidSA$ Activated | Description$ Activated abilities of artifacts can't be activated. SVar:NonStackingEffect:True AI:RemoveDeck:Random Oracle:Activated abilities of artifacts can't be activated. diff --git a/forge-gui/res/cardsfolder/o/open_the_omenpaths.txt b/forge-gui/res/cardsfolder/o/open_the_omenpaths.txt index 8f96f7d66f7..16fa20d2ccf 100644 --- a/forge-gui/res/cardsfolder/o/open_the_omenpaths.txt +++ b/forge-gui/res/cardsfolder/o/open_the_omenpaths.txt @@ -2,7 +2,7 @@ Name:Open the Omenpaths ManaCost:2 R Types:Instant A:SP$ Charm | CharmNum$ 1 | Choices$ Mana,Pump -SVar:Mana:DB$ Mana | Amount$ 2 | TwoEach$ True | Produced$ Combo AnyDifferent | RestrictValid$ Creature,Enchantment | SpellDescription$ Add two mana of any one color and two mana of any other color. Spend this mana only to cast creature or enchantment spells. +SVar:Mana:DB$ Mana | Amount$ 2 | TwoEach$ True | Produced$ Combo AnyDifferent | RestrictValid$ Spell.Creature,Spell.Enchantment | SpellDescription$ Add two mana of any one color and two mana of any other color. Spend this mana only to cast creature or enchantment spells. SVar:Pump:DB$ PumpAll | NumAtt$ 1 | ValidCards$ Creature.YouCtrl | SpellDescription$ Creatures you control get +1/+0 until end of turn. DeckHints:Type$Enchantment|Creature Oracle:Choose one —\n• Add two mana of any one color and two mana of any other color. Spend this mana only to cast creature or enchantment spells.\n• Creatures you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/o/orb_of_dragonkind.txt b/forge-gui/res/cardsfolder/o/orb_of_dragonkind.txt index 1311c626e34..2e43a7666e6 100644 --- a/forge-gui/res/cardsfolder/o/orb_of_dragonkind.txt +++ b/forge-gui/res/cardsfolder/o/orb_of_dragonkind.txt @@ -1,7 +1,7 @@ Name:Orb of Dragonkind ManaCost:1 R Types:Artifact -A:AB$ Mana | Cost$ 1 T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Card.Dragon,Activated.Dragon | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Dragon spells or activate abilities of Dragons. +A:AB$ Mana | Cost$ 1 T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Dragon,Activated.Dragon | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Dragon spells or activate abilities of Dragons. A:AB$ Dig | Cost$ R T Sac<1/CARDNAME> | DigNum$ 7 | ChangeNum$ 1 | Optional$ True | ForceRevealToController$ True | ChangeValid$ Dragon | RestRandomOrder$ True | SpellDescription$ Look at the top seven cards of your library. You may reveal a Dragon card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. SVar:BuffedBy:Dragon DeckHints:Type$Dragon diff --git a/forge-gui/res/cardsfolder/p/pillar_of_origins.txt b/forge-gui/res/cardsfolder/p/pillar_of_origins.txt index 5b2d33c01fd..f676197b286 100644 --- a/forge-gui/res/cardsfolder/p/pillar_of_origins.txt +++ b/forge-gui/res/cardsfolder/p/pillar_of_origins.txt @@ -3,5 +3,5 @@ ManaCost:2 Types:Artifact K:ETBReplacement:Other:ChooseCT SVar:ChooseCT:DB$ ChooseType | Type$ Creature | AILogic$ MostProminentInComputerDeck | SpellDescription$ As CARDNAME enters the battlefield, choose a creature type. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature.ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature+ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. Oracle:As Pillar of Origins enters the battlefield, choose a creature type.\n{T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. diff --git a/forge-gui/res/cardsfolder/p/pillar_of_the_paruns.txt b/forge-gui/res/cardsfolder/p/pillar_of_the_paruns.txt index 5529feff63a..d53c6a4769d 100644 --- a/forge-gui/res/cardsfolder/p/pillar_of_the_paruns.txt +++ b/forge-gui/res/cardsfolder/p/pillar_of_the_paruns.txt @@ -1,6 +1,6 @@ Name:Pillar of the Paruns ManaCost:no cost Types:Land -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Card.MultiColor | SpellDescription$ Add one mana of any color. Spend this mana only to cast a multicolored spell. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.MultiColor | SpellDescription$ Add one mana of any color. Spend this mana only to cast a multicolored spell. AI:RemoveDeck:Random Oracle:{T}: Add one mana of any color. Spend this mana only to cast a multicolored spell. diff --git a/forge-gui/res/cardsfolder/p/primal_beyond.txt b/forge-gui/res/cardsfolder/p/primal_beyond.txt index 9f5cdd3219b..ed3c35f25c1 100644 --- a/forge-gui/res/cardsfolder/p/primal_beyond.txt +++ b/forge-gui/res/cardsfolder/p/primal_beyond.txt @@ -2,7 +2,7 @@ Name:Primal Beyond ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Card.Elemental,Activated.Elemental | SpellDescription$ Add one mana of any color. Spend this mana only to cast an Elemental spell or activate an ability of an Elemental. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Elemental,Activated.Elemental | SpellDescription$ Add one mana of any color. Spend this mana only to cast an Elemental spell or activate an ability of an Elemental. K:ETBReplacement:Other:DBTap SVar:DBTap:DB$ Tap | ETB$ True | Defined$ Self | UnlessCost$ Reveal<1/Elemental> | UnlessPayer$ You | StackDescription$ enters the battlefield tapped. | SpellDescription$ As CARDNAME enters the battlefield, you may reveal an Elemental card from your hand. If you don't, CARDNAME enters the battlefield tapped. AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/r/renowned_weaponsmith.txt b/forge-gui/res/cardsfolder/r/renowned_weaponsmith.txt index c3f372c20e0..87467164dcc 100644 --- a/forge-gui/res/cardsfolder/r/renowned_weaponsmith.txt +++ b/forge-gui/res/cardsfolder/r/renowned_weaponsmith.txt @@ -2,7 +2,7 @@ Name:Renowned Weaponsmith ManaCost:1 U Types:Creature Human Artificer PT:1/3 -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Card.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Artifact,Activated.Artifact | SpellDescription$ Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. A:AB$ ChangeZone | Cost$ U T | Origin$ Library | Destination$ Hand | ChangeType$ Card.namedHeart-Piercer Bow,Card.namedVial of Dragonfire | ChangeNum$ 1 | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card named Heart-Piercer Bow or Vial of Dragonfire, put it into your hand, then shuffle. DeckHints:Name$Heart-Piercer Bow|Vial of Dragonfire AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/r/rootcoil_creeper.txt b/forge-gui/res/cardsfolder/r/rootcoil_creeper.txt index feb770a0e32..14c2f9dbd74 100644 --- a/forge-gui/res/cardsfolder/r/rootcoil_creeper.txt +++ b/forge-gui/res/cardsfolder/r/rootcoil_creeper.txt @@ -3,7 +3,7 @@ ManaCost:G U Types:Creature Plant Horror PT:2/2 A:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 2 | RestrictValid$ Card.wasCastFromYourGraveyard | SpellDescription$ Add two mana of any one color. Spend this mana only to cast spells from your graveyard. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 2 | RestrictValid$ Spell.wasCastFromYourGraveyard | SpellDescription$ Add two mana of any one color. Spend this mana only to cast spells from your graveyard. A:AB$ ChangeZone | Cost$ G U T Exile<1/CARDNAME> | Origin$ Exile | Destination$ Hand | ValidTgts$ Card.withFlashback+YouOwn | TgtPrompt$ Select target card with flashback you own in exile | SpellDescription$ Return target card with flashback you own in exile to your hand. DeckHints:Ability$Graveyard & Keyword$Flashback Oracle:{T}: Add one mana of any color.\n{T}: Add two mana of any one color. Spend this mana only to cast spells from your graveyard.\n{G}{U}, {T}, Exile Rootcoil Creeper: Return target card with flashback you own in exile to your hand. diff --git a/forge-gui/res/cardsfolder/r/rootwater_shaman.txt b/forge-gui/res/cardsfolder/r/rootwater_shaman.txt index 10c43865e0b..8679d3589cc 100644 --- a/forge-gui/res/cardsfolder/r/rootwater_shaman.txt +++ b/forge-gui/res/cardsfolder/r/rootwater_shaman.txt @@ -2,5 +2,5 @@ Name:Rootwater Shaman ManaCost:2 U Types:Creature Merfolk Shaman PT:2/2 -S:Mode$ CastWithFlash | ValidCard$ Card.Aura+withEnchant creature | ValidSA$ Spell | Caster$ You | Description$ You may cast Aura spells with enchant creature as though they had flash. +S:Mode$ CastWithFlash | ValidCard$ Card.Aura+hasKeywordEnchant creature | ValidSA$ Spell | Caster$ You | Description$ You may cast Aura spells with enchant creature as though they had flash. Oracle:You may cast Aura spells with enchant creature as though they had flash. diff --git a/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt b/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt index dd814c2d602..0238e2e194b 100644 --- a/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt +++ b/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt @@ -3,7 +3,7 @@ ManaCost:1 R R Types:Legendary Planeswalker Sarkhan Loyalty:3 A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You | SpellDescription$ You may discard a card. If you do, draw a card. -A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Card.Dragon | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Dragon spells. +A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Dragon | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Dragon spells. A:AB$ Token | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ 4 | TokenScript$ r_5_5_dragon_flying | LegacyImage$ r 5 5 dragon flying m19 | SpellDescription$ Create four 5/5 red Dragon creature tokens with flying. DeckHas:Ability$Token Oracle:[+1]: You may discard a card. If you do, draw a card.\n[+1]: Add two mana in any combination of colors. Spend this mana only to cast Dragon spells.\n[-7]: Create four 5/5 red Dragon creature tokens with flying. diff --git a/forge-gui/res/cardsfolder/s/secrets_of_paradise.txt b/forge-gui/res/cardsfolder/s/secrets_of_paradise.txt index 1425a78d045..da397dba749 100644 --- a/forge-gui/res/cardsfolder/s/secrets_of_paradise.txt +++ b/forge-gui/res/cardsfolder/s/secrets_of_paradise.txt @@ -3,6 +3,6 @@ ManaCost:no cost Types:Conspiracy K:Hidden agenda S:Mode$ Continuous | Affected$ Creature.YouCtrl+NamedCard | EffectZone$ Command | AddAbility$ AnyMana | Description$ Creatures of the named card you control have "{T}: Add one mana of any color." -SVar:AnyMana:AB$Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. +SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | SpellDescription$ Add one mana of any color. SVar:AgendaLogic:MostProminentCreatureInComputerDeck Oracle:Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly choose a card name. You may turn this conspiracy face up any time and reveal that name.)\nCreatures you control with the chosen name have "{T}: Add one mana of any color." diff --git a/forge-gui/res/cardsfolder/s/shaman_of_forgotten_ways.txt b/forge-gui/res/cardsfolder/s/shaman_of_forgotten_ways.txt index 6aa11269a72..9d683f7ef4f 100644 --- a/forge-gui/res/cardsfolder/s/shaman_of_forgotten_ways.txt +++ b/forge-gui/res/cardsfolder/s/shaman_of_forgotten_ways.txt @@ -2,7 +2,7 @@ Name:Shaman of Forgotten Ways ManaCost:2 G Types:Creature Human Shaman PT:2/3 -A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Card.Creature | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast creature spells. +A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Creature | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast creature spells. A:AB$ RepeatEach | Cost$ 9 G G T | PrecostDesc$ Formidable — | CheckSVar$ FormidableTest | SVarCompare$ GE8 | RepeatPlayers$ Player | RepeatSubAbility$ DBSetLife | SpellDescription$ Each player's life total becomes the number of creatures they control. Activate only if creatures you control have total power 8 or greater. SVar:FormidableTest:Count$SumPower_Creature.YouCtrl SVar:DBSetLife:DB$ SetLife | Defined$ Player.IsRemembered | LifeAmount$ X diff --git a/forge-gui/res/cardsfolder/s/shrine_of_the_forsaken_gods.txt b/forge-gui/res/cardsfolder/s/shrine_of_the_forsaken_gods.txt index d24ac3fa3cc..75777880f7c 100644 --- a/forge-gui/res/cardsfolder/s/shrine_of_the_forsaken_gods.txt +++ b/forge-gui/res/cardsfolder/s/shrine_of_the_forsaken_gods.txt @@ -2,7 +2,7 @@ Name:Shrine of the Forsaken Gods ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | IsPresent$ Land.YouCtrl | PresentCompare$ GE7 | RestrictValid$ Card.Colorless | SpellDescription$ Add {C}{C}. Spend this mana only to cast colorless spells. Activate only if you control seven or more lands. +A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 2 | IsPresent$ Land.YouCtrl | PresentCompare$ GE7 | RestrictValid$ Spell.Colorless | SpellDescription$ Add {C}{C}. Spend this mana only to cast colorless spells. Activate only if you control seven or more lands. AI:RemoveDeck:Random DeckHas:Ability$Mana.Colorless DeckHints:Color$Colorless & Keyword$Devoid diff --git a/forge-gui/res/cardsfolder/s/sliver_hive.txt b/forge-gui/res/cardsfolder/s/sliver_hive.txt index 6ea001db3a7..4ceadfabc62 100644 --- a/forge-gui/res/cardsfolder/s/sliver_hive.txt +++ b/forge-gui/res/cardsfolder/s/sliver_hive.txt @@ -2,7 +2,7 @@ Name:Sliver Hive ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Card.Sliver | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Sliver spell. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Sliver | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Sliver spell. A:AB$ Token | Cost$ 5 T | IsPresent$ Sliver.YouCtrl | TokenAmount$ 1 | TokenScript$ c_1_1_sliver | TokenOwner$ You | LegacyImage$ c 1 1 sliver m15 | SpellDescription$ Create a 1/1 colorless Sliver creature token. Activate only if you control a Sliver. SVar:BuffedBy:Sliver DeckHints:Type$Sliver diff --git a/forge-gui/res/cardsfolder/s/smokebraider.txt b/forge-gui/res/cardsfolder/s/smokebraider.txt index 77b8bd091b3..353683743ae 100644 --- a/forge-gui/res/cardsfolder/s/smokebraider.txt +++ b/forge-gui/res/cardsfolder/s/smokebraider.txt @@ -2,6 +2,6 @@ Name:Smokebraider ManaCost:1 R Types:Creature Elemental Shaman PT:1/1 -A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Card.Elemental,Activated.Elemental | AILogic$ MostProminentInComputerHand | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals. +A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Elemental,Activated.Elemental | AILogic$ MostProminentInComputerHand | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals. AI:RemoveDeck:Random Oracle:{T}: Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals. diff --git a/forge-gui/res/cardsfolder/s/somberwald_sage.txt b/forge-gui/res/cardsfolder/s/somberwald_sage.txt index e0767dc0255..582a973c514 100644 --- a/forge-gui/res/cardsfolder/s/somberwald_sage.txt +++ b/forge-gui/res/cardsfolder/s/somberwald_sage.txt @@ -2,5 +2,5 @@ Name:Somberwald Sage ManaCost:2 G Types:Creature Human Druid PT:0/1 -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 3 | RestrictValid$ Card.Creature | SpellDescription$ Add three mana of any one color. Spend this mana only to cast creature spells. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 3 | RestrictValid$ Spell.Creature | SpellDescription$ Add three mana of any one color. Spend this mana only to cast creature spells. Oracle:{T}: Add three mana of any one color. Spend this mana only to cast creature spells. diff --git a/forge-gui/res/cardsfolder/s/stony_silence.txt b/forge-gui/res/cardsfolder/s/stony_silence.txt index 4ce20e7a2c7..a757e1e9986 100644 --- a/forge-gui/res/cardsfolder/s/stony_silence.txt +++ b/forge-gui/res/cardsfolder/s/stony_silence.txt @@ -1,7 +1,7 @@ Name:Stony Silence ManaCost:1 W Types:Enchantment -S:Mode$ Continuous | Affected$ Artifact | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of artifacts can't be activated. +S:Mode$ CantBeActivated | ValidCard$ Artifact | ValidSA$ Activated | Description$ Activated abilities of artifacts can't be activated. SVar:NonStackingEffect:True AI:RemoveDeck:Random Oracle:Activated abilities of artifacts can't be activated. diff --git a/forge-gui/res/cardsfolder/s/stupefying_touch.txt b/forge-gui/res/cardsfolder/s/stupefying_touch.txt index 337235074f9..c670759245c 100644 --- a/forge-gui/res/cardsfolder/s/stupefying_touch.txt +++ b/forge-gui/res/cardsfolder/s/stupefying_touch.txt @@ -5,5 +5,5 @@ K:Enchant creature A:SP$ Attach | Cost$ 1 U | ValidTgts$ Creature | AITgts$ Card.hasActivatedAbility | AILogic$ Curse T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card. SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Enchanted creature's activated abilities can't be activated. +S:Mode$ CantBeActivated | ValidCard$ Creature.EnchantedBy | ValidSA$ Activated | Description$ Enchanted creature's activated abilities can't be activated. Oracle:Enchant creature\nWhen Stupefying Touch enters the battlefield, draw a card.\nEnchanted creature's activated abilities can't be activated. diff --git a/forge-gui/res/cardsfolder/t/tallowisp.txt b/forge-gui/res/cardsfolder/t/tallowisp.txt index 7f00e665777..3e4ca96407a 100644 --- a/forge-gui/res/cardsfolder/t/tallowisp.txt +++ b/forge-gui/res/cardsfolder/t/tallowisp.txt @@ -3,6 +3,6 @@ ManaCost:1 W Types:Creature Spirit PT:1/3 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigSearch | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may search your library for an Aura card with enchant creature, reveal it, put it into your hand, then shuffle. -SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Aura.withEnchant creature | ChangeNum$ 1 | Shuffle$ True | ShuffleNonMandatory$ True +SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Aura.hasKeywordEnchant creature | ChangeNum$ 1 | Shuffle$ True | ShuffleNonMandatory$ True SVar:BuffedBy:Arcane,Spirit Oracle:Whenever you cast a Spirit or Arcane spell, you may search your library for an Aura card with enchant creature, reveal it, put it into your hand, then shuffle. diff --git a/forge-gui/res/cardsfolder/t/titans_nest.txt b/forge-gui/res/cardsfolder/t/titans_nest.txt index 87504390514..a6262bc1600 100644 --- a/forge-gui/res/cardsfolder/t/titans_nest.txt +++ b/forge-gui/res/cardsfolder/t/titans_nest.txt @@ -3,6 +3,6 @@ ManaCost:1 B G U Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. SVar:TrigDig:DB$ Dig | DigNum$ 1 | ChangeNum$ 1 | DestinationZone$ Graveyard | Optional$ True | LibraryPosition2$ 0 -A:AB$ Mana | Cost$ ExileFromGrave<1/Card> | Produced$ C | RestrictValid$ Card.nonColorless+withoutXCost | SpellDescription$ Add {C}. Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost. +A:AB$ Mana | Cost$ ExileFromGrave<1/Card> | Produced$ C | RestrictValid$ Spell.nonColorless+withoutXCost | SpellDescription$ Add {C}. Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost. AI:RemoveDeck:All Oracle:At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard.\nExile a card from your graveyard: Add {C}. Spend this mana only to cast a spell that's one or more colors without {X} in its mana cost. diff --git a/forge-gui/res/cardsfolder/u/unclaimed_territory.txt b/forge-gui/res/cardsfolder/u/unclaimed_territory.txt index 187d9cdd349..4cd2e8cc124 100644 --- a/forge-gui/res/cardsfolder/u/unclaimed_territory.txt +++ b/forge-gui/res/cardsfolder/u/unclaimed_territory.txt @@ -4,5 +4,5 @@ Types:Land K:ETBReplacement:Other:ChooseCT SVar:ChooseCT:DB$ ChooseType | Defined$ You | Type$ Creature | SpellDescription$ As CARDNAME enters the battlefield, choose a creature type. | AILogic$ MostProminentInComputerDeck A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature.ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature+ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. Oracle:As Unclaimed Territory enters the battlefield, choose a creature type.\n{T}: Add {C}.\n{T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type. diff --git a/forge-gui/res/cardsfolder/u/untaidake_the_cloud_keeper.txt b/forge-gui/res/cardsfolder/u/untaidake_the_cloud_keeper.txt index 5cd8dacf8e7..ab5e8693437 100644 --- a/forge-gui/res/cardsfolder/u/untaidake_the_cloud_keeper.txt +++ b/forge-gui/res/cardsfolder/u/untaidake_the_cloud_keeper.txt @@ -2,7 +2,7 @@ Name:Untaidake, the Cloud Keeper ManaCost:no cost Types:Legendary Land K:CARDNAME enters the battlefield tapped. -A:AB$ Mana | Cost$ T PayLife<2> | Produced$ C | Amount$ 2 | RestrictValid$ Card.Legendary | SpellDescription$ Add {C}{C}. Spend this mana only to cast legendary spells. +A:AB$ Mana | Cost$ T PayLife<2> | Produced$ C | Amount$ 2 | RestrictValid$ Spell.Legendary | SpellDescription$ Add {C}{C}. Spend this mana only to cast legendary spells. AI:RemoveDeck:Random DeckHints:Type$Legendary Oracle:Untaidake, the Cloud Keeper enters the battlefield tapped.\n{T}, Pay 2 life: Add {C}{C}. Spend this mana only to cast legendary spells. diff --git a/forge-gui/res/cardsfolder/upcoming/hinata_dawn_crowned.txt b/forge-gui/res/cardsfolder/upcoming/hinata_dawn_crowned.txt index 2b0eac75c3c..801d6642e25 100644 --- a/forge-gui/res/cardsfolder/upcoming/hinata_dawn_crowned.txt +++ b/forge-gui/res/cardsfolder/upcoming/hinata_dawn_crowned.txt @@ -6,5 +6,5 @@ K:Flying K:Trample S:Mode$ ReduceCost | Activator$ You | Type$ Spell | Amount$ X | Relative$ True | Description$ Spells you cast cost {1} less to cast for each target they have. S:Mode$ RaiseCost | Activator$ Opponent | Type$ Spell | Amount$ X | Relative$ True | Description$ Spells your opponents cast cost {1} more to cast for each target they have. -SVar:X:TargetedObjects$Amount +SVar:X:TargetedObjectsDistinct$Amount Oracle:Flying, trample\nSpells you cast cost {1} less to cast for each target they have.\nSpells your opponents cast cost {1} more to cast for each target they have. diff --git a/forge-gui/res/cardsfolder/upcoming/mech_hangar.txt b/forge-gui/res/cardsfolder/upcoming/mech_hangar.txt index 572e9d5196e..fdddff50cae 100644 --- a/forge-gui/res/cardsfolder/upcoming/mech_hangar.txt +++ b/forge-gui/res/cardsfolder/upcoming/mech_hangar.txt @@ -2,7 +2,7 @@ Name:Mech Hangar ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Vehicle,Pilot | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Pilot or Vehicle spell. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Vehicle,Spell.Pilot | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Pilot or Vehicle spell. A:AB$ Animate | Cost$ 3 T | ValidTgts$ Vehicle | TgtPrompt$ Choose target Vehicle | Types$ Artifact,Creature | SpellDescription$ Target Vehicle becomes an artifact creature until end of turn. | StackDescription$ {c:Targeted} becomes an artifact creature until end of turn. DeckHints:Type$Pilot DeckNeeds:Type$Vehicle diff --git a/forge-gui/res/cardsfolder/upcoming/secluded_courtyard.txt b/forge-gui/res/cardsfolder/upcoming/secluded_courtyard.txt index fbd6065fce0..ba4492e94d9 100644 --- a/forge-gui/res/cardsfolder/upcoming/secluded_courtyard.txt +++ b/forge-gui/res/cardsfolder/upcoming/secluded_courtyard.txt @@ -4,5 +4,5 @@ Types:Land K:ETBReplacement:Other:ChooseCT SVar:ChooseCT:DB$ ChooseType | Defined$ You | Type$ Creature | SpellDescription$ As CARDNAME enters the battlefield, choose a creature type. | AILogic$ MostProminentInComputerDeck A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Creature.ChosenType,Activated.Creature+ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type or activate an ability of a creature or creature card of the chosen type. +A:AB$ Mana | Cost$ T | Produced$ Any | RestrictValid$ Spell.Creature+ChosenType,Activated.Creature+ChosenType | SpellDescription$ Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type or activate an ability of a creature or creature card of the chosen type. Oracle:As Secluded Courtyard enters the battlefield, choose a creature type.\n{T}: Add {C}.\n{T}: Add one mana of any color. Spend this mana only to cast a creature spell of the chosen type or activate an ability of a creature or creature card of the chosen type. diff --git a/forge-gui/res/cardsfolder/v/vedalken_engineer.txt b/forge-gui/res/cardsfolder/v/vedalken_engineer.txt index 8bfaa748e37..d6f6a13ee2c 100644 --- a/forge-gui/res/cardsfolder/v/vedalken_engineer.txt +++ b/forge-gui/res/cardsfolder/v/vedalken_engineer.txt @@ -2,5 +2,5 @@ Name:Vedalken Engineer ManaCost:1 U Types:Creature Vedalken Artificer PT:1/1 -A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 2 | RestrictValid$ Card.Artifact,Activated.Artifact | SpellDescription$ Add two mana of any one color. Spend this mana only to cast artifact spells or activate abilities of artifacts. +A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 2 | RestrictValid$ Spell.Artifact,Activated.Artifact | SpellDescription$ Add two mana of any one color. Spend this mana only to cast artifact spells or activate abilities of artifacts. Oracle:{T}: Add two mana of any one color. Spend this mana only to cast artifact spells or activate abilities of artifacts. diff --git a/forge-gui/res/cardsfolder/v/voldaren_estate.txt b/forge-gui/res/cardsfolder/v/voldaren_estate.txt index 84d8b3fd594..8f54cfd23ed 100644 --- a/forge-gui/res/cardsfolder/v/voldaren_estate.txt +++ b/forge-gui/res/cardsfolder/v/voldaren_estate.txt @@ -2,7 +2,7 @@ Name:Voldaren Estate ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Mana | Cost$ T PayLife<1> | Produced$ Any | Amount$ 1 | RestrictValid$ Vampire | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Vampire spell. +A:AB$ Mana | Cost$ T PayLife<1> | Produced$ Any | Amount$ 1 | RestrictValid$ Spell.Vampire | SpellDescription$ Add one mana of any color. Spend this mana only to cast a Vampire spell. A:AB$ Token | Cost$ 5 T | TokenScript$ c_a_blood_draw | ReduceCost$ X | SpellDescription$ Create a Blood token. This ability costs {1} less to activate for each Vampire you control. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") SVar:X:Count$TypeYouCtrl.Vampire DeckNeeds:Type$Vampire