From 69a723d45174f37497e58de05ebeb53d6d5f318a Mon Sep 17 00:00:00 2001 From: tool4ever Date: Tue, 11 Apr 2023 16:06:07 +0200 Subject: [PATCH] Clean up (#2893) --- .../java/forge/ai/ComputerUtilCombat.java | 26 +++-------- .../java/forge/ai/ability/DamageAllAi.java | 2 +- .../src/main/java/forge/card/CardType.java | 16 +++---- .../java/forge/game/ability/AbilityUtils.java | 4 +- .../game/ability/effects/IncubateEffect.java | 1 - .../game/ability/effects/PlayEffect.java | 45 +++++++++---------- .../src/main/java/forge/game/card/Card.java | 6 +-- .../java/forge/game/card/CardFactoryUtil.java | 8 ++-- .../res/cardsfolder/a/ahn_crop_champion.txt | 2 +- .../archangel_avacyn_avacyn_the_purifier.txt | 2 +- .../a/ashcoat_of_the_shadow_swarm.txt | 2 +- .../res/cardsfolder/b/baloth_packhunter.txt | 2 +- .../res/cardsfolder/b/belle_of_the_brawl.txt | 2 +- forge-gui/res/cardsfolder/b/bellowing_elk.txt | 2 +- forge-gui/res/cardsfolder/b/bolt_hound.txt | 2 +- forge-gui/res/cardsfolder/c/chaos_maw.txt | 2 +- forge-gui/res/cardsfolder/c/cinder_giant.txt | 2 +- .../res/cardsfolder/c/combat_celebrant.txt | 2 +- .../cardsfolder/c/conductor_of_cacophony.txt | 2 +- .../res/cardsfolder/c/crater_hellion.txt | 2 +- forge-gui/res/cardsfolder/d/dark_apostle.txt | 2 +- .../res/cardsfolder/d/deathbringer_regent.txt | 2 +- .../cardsfolder/d/demon_of_dark_schemes.txt | 2 +- .../res/cardsfolder/d/desolation_giant.txt | 4 +- .../cardsfolder/d/dragon_throne_of_tarkir.txt | 2 +- .../res/cardsfolder/d/dread_cacodemon.txt | 2 +- .../res/cardsfolder/d/drogskol_shieldmate.txt | 2 +- .../res/cardsfolder/e/earthshaker_giant.txt | 2 +- forge-gui/res/cardsfolder/e/elspeth_tirel.txt | 2 +- .../cardsfolder/e/end_raze_forerunners.txt | 2 +- forge-gui/res/cardsfolder/e/exocrine.txt | 2 +- forge-gui/res/cardsfolder/f/faerie_noble.txt | 2 +- .../cardsfolder/f/fathom_fleet_boarder.txt | 4 +- forge-gui/res/cardsfolder/f/festercreep.txt | 2 +- forge-gui/res/cardsfolder/f/fire_ants.txt | 2 +- .../res/cardsfolder/f/furystoke_giant.txt | 2 +- forge-gui/res/cardsfolder/g/glimmer_lens.txt | 2 +- .../res/cardsfolder/g/god_eternal_rhonas.txt | 2 +- .../res/cardsfolder/g/goring_ceratops.txt | 2 +- .../g/graf_rats_chittering_host.txt | 2 +- .../res/cardsfolder/g/graven_dominator.txt | 2 +- .../res/cardsfolder/g/guul_draz_overseer.txt | 2 +- .../res/cardsfolder/h/hamlet_captain.txt | 2 +- .../cardsfolder/h/harbin_vanguard_aviator.txt | 3 +- .../cardsfolder/h/harbinger_of_the_hunt.txt | 2 +- .../res/cardsfolder/h/hellcarver_demon.txt | 2 +- .../cardsfolder/h/herons_grace_champion.txt | 2 +- .../res/cardsfolder/h/homing_lightning.txt | 5 ++- .../res/cardsfolder/h/huntmaster_liger.txt | 2 +- .../cardsfolder/i/inniaz_the_gale_force.txt | 3 +- .../res/cardsfolder/i/izzet_staticaster.txt | 5 ++- .../res/cardsfolder/j/junkyard_genius.txt | 2 +- .../res/cardsfolder/k/kederekt_leviathan.txt | 2 +- forge-gui/res/cardsfolder/k/kill_switch.txt | 2 +- .../cardsfolder/k/knight_of_old_benalia.txt | 2 +- .../k/kodama_of_the_south_tree.txt | 2 +- .../res/cardsfolder/l/loxodon_sergeant.txt | 2 +- .../res/cardsfolder/m/mageta_the_lion.txt | 2 +- forge-gui/res/cardsfolder/m/massacre_girl.txt | 2 +- .../m/myojin_of_cleansing_fire.txt | 2 +- .../res/cardsfolder/m/myr_galvanizer.txt | 2 +- .../res/cardsfolder/n/nimble_trapfinder.txt | 2 +- .../res/cardsfolder/n/novablast_wurm.txt | 2 +- forge-gui/res/cardsfolder/o/orc_general.txt | 2 +- .../cardsfolder/o/orcus_prince_of_undeath.txt | 2 +- .../cardsfolder/o/overwhelming_instinct.txt | 3 +- .../res/cardsfolder/p/paired_tactician.txt | 2 +- .../res/cardsfolder/p/perimeter_sergeant.txt | 2 +- forge-gui/res/cardsfolder/p/phoenix_chick.txt | 3 +- .../res/cardsfolder/p/phyrexian_driver.txt | 2 +- forge-gui/res/cardsfolder/p/plague_nurse.txt | 2 +- .../res/cardsfolder/r/raging_swordtooth.txt | 2 +- .../cardsfolder/r/reckless_bushwhacker.txt | 2 +- forge-gui/res/cardsfolder/r/regal_leosaur.txt | 2 +- .../res/cardsfolder/r/resplendent_marshal.txt | 2 +- .../res/cardsfolder/s/saddled_rimestag.txt | 2 +- .../cardsfolder/s/scourge_of_kher_ridges.txt | 2 +- .../res/cardsfolder/s/shrieking_mogg.txt | 2 +- forge-gui/res/cardsfolder/s/sky_swallower.txt | 2 +- .../res/cardsfolder/s/sloppity_bilepiper.txt | 2 +- .../res/cardsfolder/s/soltari_champion.txt | 2 +- .../res/cardsfolder/s/spirit_of_the_hunt.txt | 2 +- forge-gui/res/cardsfolder/s/sprite_noble.txt | 4 +- .../cardsfolder/s/syr_alin_the_lions_claw.txt | 2 +- .../cardsfolder/t/the_elder_dragon_war.txt | 6 +-- .../res/cardsfolder/t/thousand_winds.txt | 2 +- .../cardsfolder/t/thundercloud_elemental.txt | 2 +- .../res/cardsfolder/t/thundering_ceratok.txt | 2 +- forge-gui/res/cardsfolder/t/thundermare.txt | 2 +- forge-gui/res/cardsfolder/t/timbermare.txt | 3 +- .../res/cardsfolder/t/tranquil_grove.txt | 2 +- .../upcoming/corruption_of_towashi.txt | 4 +- ...c_natures_warden_doric_owlbear_avenger.txt | 2 +- .../elesh_norn_the_argent_etchings.txt | 2 +- forge-gui/res/cardsfolder/w/war_screecher.txt | 2 +- .../res/cardsfolder/w/warcry_phoenix.txt | 3 +- .../cardsfolder/w/waterspout_elemental.txt | 2 +- .../res/cardsfolder/w/wild_beastmaster.txt | 2 +- .../res/cardsfolder/w/worldgorger_dragon.txt | 2 +- .../cardsfolder/z/zhang_he_wei_general.txt | 2 +- .../rw_3_2_warrior_symbiotic_attack.txt | 2 +- 101 files changed, 148 insertions(+), 170 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java index ffbc38f8640..be35a09c363 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilCombat.java @@ -2150,24 +2150,15 @@ public class ComputerUtilCombat { * a boolean. * @return a int. */ - public static final int getEnoughDamageToKill(final Card c, final int maxDamage, final Card source, final boolean isCombat, - final boolean noPrevention) { - final int killDamage = getDamageToKill(c, false); + public static final int getEnoughDamageToKill(final Card c, final int maxDamage, final Card source, final boolean isCombat, final boolean noPrevention) { + int killDamage = getDamageToKill(c, false); if (c.hasKeyword(Keyword.INDESTRUCTIBLE) || c.getCounters(CounterEnumType.SHIELD) > 0 || (c.getShieldCount() > 0 && c.canBeShielded())) { if (!(source.hasKeyword(Keyword.WITHER) || source.hasKeyword(Keyword.INFECT))) { return maxDamage + 1; } - } else if (source.hasKeyword(Keyword.DEATHTOUCH) && !c.isPlaneswalker()) { - for (int i = 1; i <= maxDamage; i++) { - if (noPrevention) { - if (c.staticReplaceDamage(i, source, isCombat) > 0) { - return i; - } - } else if (predictDamageTo(c, i, source, isCombat) > 0) { - return i; - } - } + } else if (source.hasKeyword(Keyword.DEATHTOUCH) && c.isCreature()) { + killDamage = 1; } for (int i = 1; i <= maxDamage; i++) { @@ -2195,14 +2186,7 @@ public class ComputerUtilCombat { */ public final static int getDamageToKill(final Card c, boolean withShields) { int damageShield = withShields ? c.getPreventNextDamageTotalShields() : 0; - int killDamage = 0; - if (c.isCreature()) { - killDamage = Math.max(0, c.getLethalDamage()); - } - if (c.isPlaneswalker()) { - int killDamagePW = c.getCurrentLoyalty(); - killDamage = c.isCreature() ? Math.min(killDamage, killDamagePW) : killDamagePW; - } + int killDamage = c.getExcessDamageValue(false); if (killDamage > damageShield && c.hasSVar("DestroyWhenDamaged")) { diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java index 1396fc3a5d3..a813ce8f182 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageAllAi.java @@ -256,7 +256,7 @@ public class DamageAllAi extends SpellAbilityAi { final Predicate filterKillable = new Predicate() { @Override public boolean apply(final Card c) { - return (ComputerUtilCombat.predictDamageTo(c, dmg, source, false) >= ComputerUtilCombat.getDamageToKill(c, false)); + return ComputerUtilCombat.predictDamageTo(c, dmg, source, false) >= ComputerUtilCombat.getDamageToKill(c, false); } }; diff --git a/forge-core/src/main/java/forge/card/CardType.java b/forge-core/src/main/java/forge/card/CardType.java index e7cef7d06b2..c08a35d02af 100644 --- a/forge-core/src/main/java/forge/card/CardType.java +++ b/forge-core/src/main/java/forge/card/CardType.java @@ -928,11 +928,11 @@ public final class CardType implements Comparable, CardTypeView { } public static boolean isAnArtifactType(final String cardType) { - return (Constant.ARTIFACT_TYPES.contains(cardType)); + return Constant.ARTIFACT_TYPES.contains(cardType); } public static boolean isACreatureType(final String cardType) { - return (Constant.CREATURE_TYPES.contains(cardType)); + return Constant.CREATURE_TYPES.contains(cardType); } public static boolean isALandType(final String cardType) { @@ -940,26 +940,26 @@ public final class CardType implements Comparable, CardTypeView { } public static boolean isAPlaneswalkerType(final String cardType) { - return (Constant.WALKER_TYPES.contains(cardType)); + return Constant.WALKER_TYPES.contains(cardType); } public static boolean isABasicLandType(final String cardType) { - return (Constant.BASIC_TYPES.contains(cardType)); + return Constant.BASIC_TYPES.contains(cardType); } public static boolean isAnEnchantmentType(final String cardType) { - return (Constant.ENCHANTMENT_TYPES.contains(cardType)); + return Constant.ENCHANTMENT_TYPES.contains(cardType); } public static boolean isASpellType(final String cardType) { - return (Constant.SPELL_TYPES.contains(cardType)); + return Constant.SPELL_TYPES.contains(cardType); } public static boolean isADungeonType(final String cardType) { - return (Constant.DUNGEON_TYPES.contains(cardType)); + return Constant.DUNGEON_TYPES.contains(cardType); } public static boolean isABattleType(final String cardType) { - return (Constant.BATTLE_TYPES.contains(cardType)); + return Constant.BATTLE_TYPES.contains(cardType); } /** * If the input is a plural type, return the corresponding singular form. diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index fe1d0b147eb..b0d06e5cd44 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2937,7 +2937,7 @@ public class AbilityUtils { CardState original = tgtCard.getState(state); if (tgtCard.isFaceDown()) { - list.addAll(Lists.newArrayList(tgtCard.getBasicSpells(original))); + Iterables.addAll(list, tgtCard.getBasicSpells(original)); } else { if (tgtCard.isLand()) { LandAbility la = new LandAbility(tgtCard, controller, null); @@ -2946,7 +2946,7 @@ public class AbilityUtils { } if (tgtCard.isModal()) { CardState modal = tgtCard.getState(CardStateName.Modal); - list.addAll(Lists.newArrayList(tgtCard.getBasicSpells(modal))); + Iterables.addAll(list, tgtCard.getBasicSpells(modal)); if (modal.getType().isLand()) { LandAbility la = new LandAbility(tgtCard, controller, null); la.setCardState(modal); diff --git a/forge-game/src/main/java/forge/game/ability/effects/IncubateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/IncubateEffect.java index 5dc50c32c44..f65d5d0837e 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/IncubateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/IncubateEffect.java @@ -48,7 +48,6 @@ public class IncubateEffect extends TokenEffectBase { sa.putParam("WithCountersAmount", sa.getParamOrDefault("Amount", "1")); for (final Player p : getTargetPlayers(sa)) { - for (int i = 0; i < times; i++) { CardZoneTable triggerList = new CardZoneTable(); MutableBoolean combatChanged = new MutableBoolean(false); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index f2e7ce9ba85..0b7d9f440b0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -83,10 +83,7 @@ public class PlayEffect extends SpellAbilityEffect { @Override public void resolve(final SpellAbility sa) { final Card source = sa.getHostCard(); - Player activator = sa.getActivatingPlayer(); - Player controlledByPlayer = null; - long controlledByTimeStamp = -1; - final Game game = activator.getGame(); + final Game game = source.getGame(); boolean optional = sa.hasParam("Optional"); final boolean remember = sa.hasParam("RememberPlayed"); final boolean imprint = sa.hasParam("ImprintPlayed"); @@ -97,25 +94,26 @@ public class PlayEffect extends SpellAbilityEffect { if (sa.hasParam("Amount") && !sa.getParam("Amount").equals("All")) { amount = AbilityUtils.calculateAmount(source, sa.getParam("Amount"), sa); } - + final Player controller; if (sa.hasParam("Controller")) { - activator = AbilityUtils.getDefinedPlayers(source, sa.getParam("Controller"), sa).get(0); + controller = AbilityUtils.getDefinedPlayers(source, sa.getParam("Controller"), sa).get(0); + } else { + controller = sa.getActivatingPlayer(); } + long controlledByTimeStamp = -1; + Player controlledByPlayer = null; if (sa.hasParam("ControlledByPlayer")) { controlledByTimeStamp = game.getNextTimestamp(); controlledByPlayer = AbilityUtils.getDefinedPlayers(source, sa.getParam("ControlledByPlayer"), sa).get(0); } - final Player controller = activator; CardCollection tgtCards; CardCollection showCards = new CardCollection(); if (sa.hasParam("Valid")) { List zones = sa.hasParam("ValidZone") ? ZoneType.listValueOf(sa.getParam("ValidZone")) : ImmutableList.of(ZoneType.Hand); - tgtCards = new CardCollection( - AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("Valid"), sa) - ); + tgtCards = new CardCollection(AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("Valid"), sa)); if (sa.hasParam("ShowCards")) { showCards = new CardCollection(AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("ShowCards"), sa)); } @@ -153,7 +151,7 @@ public class PlayEffect extends SpellAbilityEffect { System.err.println("Offering random spells to copy: " + choice.toString()); final int choicenum = AbilityUtils.calculateAmount(source, sa.getParam("ChoiceNum"), sa); tgtCards = new CardCollection( - activator.getController().chooseCardsForEffect(choice, sa, + controller.getController().chooseCardsForEffect(choice, sa, source + " - " + Localizer.getInstance().getMessage("lblChooseUpTo") + " " + Lang.nounWithNumeral(choicenum, "card"), 0, choicenum, true, null ) ); @@ -214,7 +212,7 @@ public class PlayEffect extends SpellAbilityEffect { } if (controlledByPlayer != null) { - activator.addController(controlledByTimeStamp, controlledByPlayer); + controller.addController(controlledByTimeStamp, controlledByPlayer); } boolean singleOption = tgtCards.size() == 1 && amount == 1 && optional; @@ -228,7 +226,7 @@ public class PlayEffect extends SpellAbilityEffect { if (hasTotalCMCLimit) { // filter out cards with mana value greater than limit Iterator it = tgtCards.iterator(); - final String [] valid = {"Spell.cmcLE"+totalCMCLimit}; + final String [] valid = {"Spell.cmcLE" + totalCMCLimit}; while (it.hasNext()) { Card c = it.next(); if (!Iterables.any(AbilityUtils.getBasicSpellsFromPlayEffect(c, controller), SpellAbilityPredicates.isValid(valid, controller , c, sa))) { @@ -242,9 +240,9 @@ public class PlayEffect extends SpellAbilityEffect { params.put("CMCLimit", totalCMCLimit); } - activator.getController().tempShowCards(showCards); + controller.getController().tempShowCards(showCards); Card tgtCard = controller.getController().chooseSingleEntityForEffect(tgtCards, sa, Localizer.getInstance().getMessage("lblSelectCardToPlay"), !singleOption && optional, params); - activator.getController().endTempShowCards(); + controller.getController().endTempShowCards(); if (tgtCard == null) { break; } @@ -256,7 +254,7 @@ public class PlayEffect extends SpellAbilityEffect { } if (sa.hasParam("ShowCardToActivator")) { - game.getAction().revealTo(tgtCard, activator); + game.getAction().revealTo(tgtCard, controller); } if (singleOption && sa.getTargetCard() == null) sa.setPlayEffectCard(tgtCard);// show card to play rather than showing the source card @@ -302,8 +300,9 @@ public class PlayEffect extends SpellAbilityEffect { List sas = AbilityUtils.getBasicSpellsFromPlayEffect(tgtCard, controller, state); if (sa.hasParam("ValidSA")) { final String valid[] = sa.getParam("ValidSA").split(","); - sas = Lists.newArrayList(Iterables.filter(sas, SpellAbilityPredicates.isValid(valid, controller , source, sa))); + sas.removeIf(sp -> !sp.isValid(valid, controller , source, sa)); } + if (hasTotalCMCLimit) { Iterator it = sas.iterator(); while (it.hasNext()) { @@ -323,7 +322,7 @@ public class PlayEffect extends SpellAbilityEffect { // For Illusionary Mask effect tgtSA = CardFactoryUtil.abilityMorphDown(tgtCard.getCurrentState(), false); } else { - tgtSA = sa.getActivatingPlayer().getController().getAbilityToPlay(tgtCard, sas); + tgtSA = controller.getController().getAbilityToPlay(tgtCard, sas); } // in case player canceled from choice dialog @@ -424,7 +423,7 @@ public class PlayEffect extends SpellAbilityEffect { // can't be done later if (sa.hasParam("ReplaceGraveyard")) { if (!sa.hasParam("ReplaceGraveyardValid") - || tgtSA.isValid(sa.getParam("ReplaceGraveyardValid").split(","), activator, source, sa)) { + || tgtSA.isValid(sa.getParam("ReplaceGraveyardValid").split(","), controller, source, sa)) { addReplaceGraveyardEffect(tgtCard, sa, tgtSA, sa.getParam("ReplaceGraveyard"), moveParams); } } @@ -439,7 +438,7 @@ public class PlayEffect extends SpellAbilityEffect { // Add controlled by player to target SA so when the spell is resolving, the controller would be changed again if (controlledByPlayer != null) { tgtSA.setControlledByPlayer(controlledByTimeStamp, controlledByPlayer); - activator.pushPaidForSA(tgtSA); + controller.pushPaidForSA(tgtSA); tgtSA.setManaCostBeingPaid(new ManaCostBeingPaid(tgtSA.getPayCosts().getCostMana().getManaCostFor(tgtSA), tgtSA.getPayCosts().getCostMana().getRestriction())); } @@ -473,10 +472,10 @@ public class PlayEffect extends SpellAbilityEffect { // Remove controlled by player if any if (controlledByPlayer != null) { - activator.removeController(controlledByTimeStamp); - activator.popPaidForSA(); + controller.removeController(controlledByTimeStamp); + controller.popPaidForSA(); } - } // end resolve + } protected void addReplaceGraveyardEffect(Card c, SpellAbility sa, SpellAbility tgtSA, String zone, Map moveParams) { final Card hostCard = sa.getHostCard(); diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 4b4520089ea..5cf807fed1f 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -5566,7 +5566,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } public final int getExcessDamageValue(boolean withDeathtouch) { - ArrayList excessCharacteristics = new ArrayList(); + ArrayList excessCharacteristics = new ArrayList<>(); // CR 120.10 if (this.isCreature()) { @@ -5574,7 +5574,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { if (withDeathtouch && lethal > 0) { excessCharacteristics.add(1); } else { - excessCharacteristics.add(Math.max(0, this.getLethalDamage())); + excessCharacteristics.add(Math.max(0, lethal)); } } if (this.isPlaneswalker()) { @@ -5584,7 +5584,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { excessCharacteristics.add(this.getCurrentDefense()); } - if (excessCharacteristics.size() == 0) { + if (excessCharacteristics.isEmpty()) { return 0; } 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 6e9dfdce067..38d8c517545 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -3773,7 +3773,7 @@ public class CardFactoryUtil { "| Trigger$ TrigEnlist | Description$ Enlist ( " + inst.getReminderText() + ")"; StaticAbility st = StaticAbility.create(effect, state.getCard(), state, intrinsic); st.setSVar("TrigEnlist", "DB$ Pump | NumAtt$ TriggerRemembered$CardPower" + - " | SpellDescription$ When you do, add its power to this creature’s until end of turn."); + " | SpellDescription$ When you do, add its power to this creature's until end of turn."); inst.addStaticAbility(st); } else if (keyword.equals("Fear")) { String effect = "Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.nonArtifact+nonBlack | Secondary$ True" + @@ -3851,7 +3851,7 @@ public class CardFactoryUtil { inst.addStaticAbility(StaticAbility.create(effect, state.getCard(), state, intrinsic)); } else if (keyword.startsWith("Read ahead")) { String effect = "Mode$ DisableTriggers | ValidCard$ Card.Self+ThisTurnEntered | ValidTrigger$ Triggered.ChapterNotLore | Secondary$ True" + - " | Description$ Chapter abilities of this Saga can’t trigger the turn it entered the battlefield unless it has exactly the number of lore counters on it specified in the chapter symbol of that ability."; + " | Description$ Chapter abilities of this Saga can't trigger the turn it entered the battlefield unless it has exactly the number of lore counters on it specified in the chapter symbol of that ability."; inst.addStaticAbility(StaticAbility.create(effect, state.getCard(), state, intrinsic)); } else if (keyword.equals("Shroud")) { String effect = "Mode$ CantTarget | Shroud$ True | ValidCard$ Card.Self | Secondary$ True" @@ -3931,7 +3931,7 @@ public class CardFactoryUtil { public static void setupSiegeAbilities(Card card) { StringBuilder chooseSB = new StringBuilder(); chooseSB.append("Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplacementResult$ Updated"); - chooseSB.append(" | Description$ (As a Siege enters the battlefield, choose an opponent to protect it. You and others can attack it. When it’s defeated, exile it, then cast it transformed.)"); + chooseSB.append(" | Description$ (As a Siege enters the battlefield, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)"); String chooseProtector = "DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | Protect$ True | ChoiceTitle$ Choose an opponent to protect this battle | AILogic$ Curse"; ReplacementEffect re = ReplacementHandler.parseReplacement(chooseSB.toString(), card, true); @@ -3940,7 +3940,7 @@ public class CardFactoryUtil { // Defeated trigger StringBuilder triggerDefeated = new StringBuilder(); - triggerDefeated.append("Mode$ CounterRemovedOnce | ValidCard$ Card.Self | Secondary$ True | CounterType$ DEFENSE | Remaining$ 0 | TriggerZones$ Battlefield | "); + triggerDefeated.append("Mode$ CounterRemovedOnce | ValidCard$ Card.Self | Secondary$ True | CounterType$ DEFENSE | Remaining$ 0 | TriggerZones$ Battlefield | "); triggerDefeated.append(" TriggerDescription$ When CARDNAME is defeated, exile it, then cast it transformed."); String castExileBattle = "DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True"; diff --git a/forge-gui/res/cardsfolder/a/ahn_crop_champion.txt b/forge-gui/res/cardsfolder/a/ahn_crop_champion.txt index 79d8471020c..8e0044be464 100644 --- a/forge-gui/res/cardsfolder/a/ahn_crop_champion.txt +++ b/forge-gui/res/cardsfolder/a/ahn_crop_champion.txt @@ -3,7 +3,7 @@ ManaCost:2 G W Types:Creature Human Warrior PT:4/4 S:Mode$ OptionalAttackCost | ValidCard$ Card.Self | Trigger$ TrigUntapAll | Cost$ Exert<1/CARDNAME> | Description$ You may exert CARDNAME as it attacks. When you do, untap all other creatures you control. -SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl+Other | SpellDescription$ When you do, untap all other creatures you control. +SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl+StrictlyOther | SpellDescription$ When you do, untap all other creatures you control. SVar:AIExertCondition:NumCreats GE3 SVar:NumCreats:Count$Valid Creature.YouCtrl+tapped Oracle:You may exert Ahn-Crop Champion as it attacks. When you do, untap all other creatures you control. (An exerted creature won't untap during your next untap step.) diff --git a/forge-gui/res/cardsfolder/a/archangel_avacyn_avacyn_the_purifier.txt b/forge-gui/res/cardsfolder/a/archangel_avacyn_avacyn_the_purifier.txt index 0325197033e..dc564a1c20c 100644 --- a/forge-gui/res/cardsfolder/a/archangel_avacyn_avacyn_the_purifier.txt +++ b/forge-gui/res/cardsfolder/a/archangel_avacyn_avacyn_the_purifier.txt @@ -22,5 +22,5 @@ Types:Legendary Creature Angel PT:6/5 K:Flying T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ Whenever this creature transforms into CARDNAME, it deals 3 damage to each other creature and each opponent. -SVar:TrigDamageAll:DB$ DamageAll | NumDmg$ 3 | ValidCards$ Creature.Other | ValidPlayers$ Player.Opponent | ValidDescription$ each other creature and each opponent. +SVar:TrigDamageAll:DB$ DamageAll | NumDmg$ 3 | ValidCards$ Creature.StrictlyOther | ValidPlayers$ Player.Opponent | ValidDescription$ each other creature and each opponent. Oracle:Flying\nWhen this creature transforms into Avacyn, the Purifier, it deals 3 damage to each other creature and each opponent. diff --git a/forge-gui/res/cardsfolder/a/ashcoat_of_the_shadow_swarm.txt b/forge-gui/res/cardsfolder/a/ashcoat_of_the_shadow_swarm.txt index af54e6306ac..aaf3d7c1ccc 100644 --- a/forge-gui/res/cardsfolder/a/ashcoat_of_the_shadow_swarm.txt +++ b/forge-gui/res/cardsfolder/a/ashcoat_of_the_shadow_swarm.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Rat Warlock PT:3/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks or blocks, other Rats you control get +X/+X where X is the number of Rats you control. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigPump | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or blocks, other Rats you control get +X/+X where X is the number of Rats you control. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Rat.Other+YouCtrl | NumAtt$ +X | NumDef$ +X +SVar:TrigPump:DB$ PumpAll | ValidCards$ Rat.StrictlyOther+YouCtrl | NumAtt$ +X | NumDef$ +X SVar:X:Count$Valid Rat.YouCtrl T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChange | TriggerDescription$ At the beginning of your end step, you may mill four cards. If you do, return up to two Rat creature cards from your graveyard to your hand. (To mill a card, put the top card of your library into your graveyard.) SVar:TrigChange:AB$ ChangeZone | Cost$ Mill<4> | Origin$ Graveyard | Destination$ Hand | ChangeType$ Rat.Creature+YouOwn | ChangeNum$ 2 | Hidden$ True | SelectPrompt$ Select up to two Rat creature cards diff --git a/forge-gui/res/cardsfolder/b/baloth_packhunter.txt b/forge-gui/res/cardsfolder/b/baloth_packhunter.txt index 8b97e6cedc7..a87cbb4bf2e 100644 --- a/forge-gui/res/cardsfolder/b/baloth_packhunter.txt +++ b/forge-gui/res/cardsfolder/b/baloth_packhunter.txt @@ -4,7 +4,7 @@ Types:Creature Beast PT:3/3 K:Trample T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigPutCounters | TriggerDescription$ When CARDNAME enters the battlefield, put two +1/+1 counters on each other creature you control named Baloth Packhunter. -SVar:TrigPutCounters:DB$ PutCounterAll | ValidCards$ Creature.Other+namedBaloth Packhunter | CounterType$ P1P1 | CounterNum$ 2 +SVar:TrigPutCounters:DB$ PutCounterAll | ValidCards$ Creature.StrictlyOther+namedBaloth Packhunter | CounterType$ P1P1 | CounterNum$ 2 DeckHints:Name$Baloth Packhunter DeckHas:Ability$Counters Oracle:Trample\nWhen Baloth Packhunter enters the battlefield, put two +1/+1 counters on each other creature you control named Baloth Packhunter. diff --git a/forge-gui/res/cardsfolder/b/belle_of_the_brawl.txt b/forge-gui/res/cardsfolder/b/belle_of_the_brawl.txt index c0d441fdc64..cf936751188 100644 --- a/forge-gui/res/cardsfolder/b/belle_of_the_brawl.txt +++ b/forge-gui/res/cardsfolder/b/belle_of_the_brawl.txt @@ -4,6 +4,6 @@ Types:Creature Human Knight PT:3/2 K:Menace T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, other Knights you control get +1/+0 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Knight.YouCtrl+Other | NumAtt$ 1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Knight.YouCtrl+StrictlyOther | NumAtt$ 1 DeckHints:Type$Knight Oracle:Menace (This creature can't be blocked except by two or more creatures.)\nWhenever Belle of the Brawl attacks, other Knights you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/b/bellowing_elk.txt b/forge-gui/res/cardsfolder/b/bellowing_elk.txt index 88e054d47d0..eed8cdcd393 100644 --- a/forge-gui/res/cardsfolder/b/bellowing_elk.txt +++ b/forge-gui/res/cardsfolder/b/bellowing_elk.txt @@ -3,5 +3,5 @@ ManaCost:3 G Types:Creature Elk PT:4/2 S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Trample & Indestructible | CheckSVar$ X | SVarCompare$ GE1 | Description$ As long as you had another creature enter the battlefield under your control this turn, CARDNAME has trample and indestructible. -SVar:X:Count$ThisTurnEntered_Battlefield_Creature.YouCtrl+Other +SVar:X:Count$ThisTurnEntered_Battlefield_Creature.YouCtrl+StrictlyOther Oracle:As long as you had another creature enter the battlefield under your control this turn, Bellowing Elk has trample and indestructible. diff --git a/forge-gui/res/cardsfolder/b/bolt_hound.txt b/forge-gui/res/cardsfolder/b/bolt_hound.txt index 18a4b9ea825..3bc6e165ebd 100644 --- a/forge-gui/res/cardsfolder/b/bolt_hound.txt +++ b/forge-gui/res/cardsfolder/b/bolt_hound.txt @@ -4,5 +4,5 @@ Types:Creature Elemental Dog PT:2/2 K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, other creatures you control get +1/+0 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 Oracle:Haste (This creature can attack and {T} as soon as it comes under your control.)\nWhenever Bolt Hound attacks, other creatures you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/c/chaos_maw.txt b/forge-gui/res/cardsfolder/c/chaos_maw.txt index ea6bca01027..dcfab94fbb4 100644 --- a/forge-gui/res/cardsfolder/c/chaos_maw.txt +++ b/forge-gui/res/cardsfolder/c/chaos_maw.txt @@ -3,5 +3,5 @@ ManaCost:5 R R Types:Creature Hellion PT:6/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME enters the battlefield, it deals 3 damage to each other creature. -SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.Other | NumDmg$ 3 | ValidDescription$ each other creature. +SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.StrictlyOther | NumDmg$ 3 | ValidDescription$ each other creature. Oracle:When Chaos Maw enters the battlefield, it deals 3 damage to each other creature. diff --git a/forge-gui/res/cardsfolder/c/cinder_giant.txt b/forge-gui/res/cardsfolder/c/cinder_giant.txt index 52ec11b5aa5..5c6573263b9 100644 --- a/forge-gui/res/cardsfolder/c/cinder_giant.txt +++ b/forge-gui/res/cardsfolder/c/cinder_giant.txt @@ -3,5 +3,5 @@ ManaCost:3 R Types:Creature Giant PT:5/3 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, CARDNAME deals 2 damage to each other creature you control. -SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature.YouCtrl+Other | NumDmg$ 2 +SVar:TrigDamage:DB$ DamageAll | ValidCards$ Creature.YouCtrl+StrictlyOther | NumDmg$ 2 Oracle:At the beginning of your upkeep, Cinder Giant deals 2 damage to each other creature you control. diff --git a/forge-gui/res/cardsfolder/c/combat_celebrant.txt b/forge-gui/res/cardsfolder/c/combat_celebrant.txt index c776b3c635b..98a31ecb7d0 100644 --- a/forge-gui/res/cardsfolder/c/combat_celebrant.txt +++ b/forge-gui/res/cardsfolder/c/combat_celebrant.txt @@ -3,6 +3,6 @@ ManaCost:2 R Types:Creature Human Warrior PT:4/1 S:Mode$ OptionalAttackCost | ValidCard$ Card.Self | IsPresent$ Creature.Self+notExertedThisTurn | Trigger$ TrigUntapAll | Cost$ Exert<1/CARDNAME> | Description$ If Combat Celebrant hasn't been exerted this turn, you may exert it as it attacks. When you do, untap all other creatures you control and after this phase, there is an additional combat phase. (An exerted creature won't untap during your next untap step.) -SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl+Other | SubAbility$ DBAddCombat | SpellDescription$ When you do, untap all other creatures you control and after this phase, there is an additional combat phase. +SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.YouCtrl+StrictlyOther | SubAbility$ DBAddCombat | SpellDescription$ When you do, untap all other creatures you control and after this phase, there is an additional combat phase. SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ Combat | AfterPhase$ EndCombat Oracle:If Combat Celebrant hasn't been exerted this turn, you may exert it as it attacks. When you do, untap all other creatures you control and after this phase, there is an additional combat phase. (An exerted creature won't untap during your next untap step.) diff --git a/forge-gui/res/cardsfolder/c/conductor_of_cacophony.txt b/forge-gui/res/cardsfolder/c/conductor_of_cacophony.txt index 0eeb4044ecf..a5ab627969d 100644 --- a/forge-gui/res/cardsfolder/c/conductor_of_cacophony.txt +++ b/forge-gui/res/cardsfolder/c/conductor_of_cacophony.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Demon PT:2/1 K:etbCounter:P1P1:2 -A:AB$ DamageAll | Cost$ B SubCounter<1/P1P1> | ValidCards$ Creature.Other | ValidPlayers$ Player | NumDmg$ 1 | ValidDescription$ each other creature and each player. | SpellDescription$ It deals 1 damage to each other creature and each player. +A:AB$ DamageAll | Cost$ B SubCounter<1/P1P1> | ValidCards$ Creature.StrictlyOther | ValidPlayers$ Player | NumDmg$ 1 | ValidDescription$ each other creature and each player. | SpellDescription$ It deals 1 damage to each other creature and each player. DeckHas:Ability$Counters DeckHints:Ability$Counters Oracle:Conductor of Cacophony enters the battlefield with two +1/+1 counters on it.\n{B}, Remove a +1/+1 counter from Conductor of Cacophony: It deals 1 damage to each other creature and each player. diff --git a/forge-gui/res/cardsfolder/c/crater_hellion.txt b/forge-gui/res/cardsfolder/c/crater_hellion.txt index 9cd6a9a9db3..214e94f2243 100644 --- a/forge-gui/res/cardsfolder/c/crater_hellion.txt +++ b/forge-gui/res/cardsfolder/c/crater_hellion.txt @@ -4,5 +4,5 @@ Types:Creature Hellion Beast PT:6/6 K:Echo:4 R R T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME enters the battlefield, it deals 4 damage to each other creature. -SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.Other | NumDmg$ 4 | ValidDescription$ each other creature. +SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.StrictlyOther | NumDmg$ 4 | ValidDescription$ each other creature. Oracle:Echo {4}{R}{R} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)\nWhen Crater Hellion enters the battlefield, it deals 4 damage to each other creature. diff --git a/forge-gui/res/cardsfolder/d/dark_apostle.txt b/forge-gui/res/cardsfolder/d/dark_apostle.txt index f5c133c6c1b..144c17c2525 100644 --- a/forge-gui/res/cardsfolder/d/dark_apostle.txt +++ b/forge-gui/res/cardsfolder/d/dark_apostle.txt @@ -4,7 +4,7 @@ Types:Creature Astartes Warlock PT:3/3 A:AB$ Effect | PrecostDesc$ Gift of Chaos — | Cost$ 3 T | StaticAbilities$ GrantCascade | Triggers$ ExileEffect | SpellDescription$ The next noncreature spell you cast this turn has cascade. (When you cast that spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) SVar:GrantCascade:Mode$ Continuous | EffectZone$ Command | Affected$ Card.nonCreature+YouCtrl | AffectedZone$ Stack | AddKeyword$ Cascade | Description$ The next noncreature spell you cast this turn has cascade. -SVar:ExileEffect:Mode$ SpellCast | EffectZone$ Command | ValidCard$ Card.nonCreature+YouCtrl | AffectedZone$ Stack | Execute$ RemoveEffect | Static$ True +SVar:ExileEffect:Mode$ SpellCast | EffectZone$ Command | ValidCard$ Card.nonCreature+YouCtrl | Execute$ RemoveEffect | Static$ True SVar:RemoveEffect:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self DeckHas:Keyword$Cascade Oracle:Gift of Chaos — {3}, {T}: The next noncreature spell you cast this turn has cascade. (When you cast that spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) diff --git a/forge-gui/res/cardsfolder/d/deathbringer_regent.txt b/forge-gui/res/cardsfolder/d/deathbringer_regent.txt index eda86a8d817..31f08d28128 100644 --- a/forge-gui/res/cardsfolder/d/deathbringer_regent.txt +++ b/forge-gui/res/cardsfolder/d/deathbringer_regent.txt @@ -4,6 +4,6 @@ Types:Creature Dragon PT:5/6 K:Flying T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromYourHandByYou+Self | IsPresent$ Creature.Other | PresentCompare$ GE5 | Destination$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand and there are five or more other creatures on the battlefield, destroy all other creatures. -SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.Other +SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.StrictlyOther AI:RemoveDeck:Random Oracle:Flying\nWhen Deathbringer Regent enters the battlefield, if you cast it from your hand and there are five or more other creatures on the battlefield, destroy all other creatures. diff --git a/forge-gui/res/cardsfolder/d/demon_of_dark_schemes.txt b/forge-gui/res/cardsfolder/d/demon_of_dark_schemes.txt index 2883f917337..54aa0ed3b69 100644 --- a/forge-gui/res/cardsfolder/d/demon_of_dark_schemes.txt +++ b/forge-gui/res/cardsfolder/d/demon_of_dark_schemes.txt @@ -4,7 +4,7 @@ Types:Creature Demon PT:5/5 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, all other creatures get -2/-2 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | NumAtt$ -2 | NumDef$ -2 | ValidCards$ Creature.Other | IsCurse$ True +SVar:TrigPumpAll:DB$ PumpAll | NumAtt$ -2 | NumDef$ -2 | ValidCards$ Creature.StrictlyOther | IsCurse$ True T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigEnergy | TriggerDescription$ Whenever another creature dies, you get {E} (an energy counter). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 1 A:AB$ ChangeZone | Cost$ 2 B PayEnergy<4> | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | TgtPrompt$ Select target creature card in a graveyard | ValidTgts$ Creature | ChangeNum$ 1 | Tapped$ True | SpellDescription$ Put target creature card from a graveyard onto the battlefield under your control tapped. diff --git a/forge-gui/res/cardsfolder/d/desolation_giant.txt b/forge-gui/res/cardsfolder/d/desolation_giant.txt index 616d8f9a79f..f961e243b47 100644 --- a/forge-gui/res/cardsfolder/d/desolation_giant.txt +++ b/forge-gui/res/cardsfolder/d/desolation_giant.txt @@ -4,8 +4,8 @@ Types:Creature Giant PT:3/3 K:Kicker:W W T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, destroy all other creatures you control. If it was kicked, destroy all other creatures instead. -SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.Other+YouCtrl | ConditionDefined$ Self | ConditionPresent$ Card.!kicked | SubAbility$ TrigKicker -SVar:TrigKicker:DB$ DestroyAll | ValidCards$ Creature.Other | Condition$ Kicked +SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.StrictlyOther+YouCtrl | ConditionDefined$ Self | ConditionPresent$ Card.!kicked | SubAbility$ TrigKicker +SVar:TrigKicker:DB$ DestroyAll | ValidCards$ Creature.StrictlyOther | Condition$ Kicked AI:RemoveDeck:All AI:RemoveDeck:Random DeckNeeds:Color$White diff --git a/forge-gui/res/cardsfolder/d/dragon_throne_of_tarkir.txt b/forge-gui/res/cardsfolder/d/dragon_throne_of_tarkir.txt index 072bdd44a89..4d7f992b068 100644 --- a/forge-gui/res/cardsfolder/d/dragon_throne_of_tarkir.txt +++ b/forge-gui/res/cardsfolder/d/dragon_throne_of_tarkir.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Legendary Artifact Equipment K:Equip:3 S:Mode$ Continuous | Affected$ Card.EquippedBy | AddKeyword$ Defender | AddAbility$ ThroneTarkir | AddSVar$ ThroneTarkirX | Description$ Equipped creature has defender and "{2}, {T}: Other creatures you control gain trample and get +X/+X until end of turn, where X is this creature's power." -SVar:ThroneTarkir:AB$ PumpAll | Cost$ 2 T | ValidCards$ Creature.Other+YouCtrl | NumAtt$ ThroneTarkirX | NumDef$ ThroneTarkirX | KW$ Trample | SpellDescription$ Other creatures you control gain trample and get +X/+X until end of turn, where X is CARDNAME's power. +SVar:ThroneTarkir:AB$ PumpAll | Cost$ 2 T | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ ThroneTarkirX | NumDef$ ThroneTarkirX | KW$ Trample | SpellDescription$ Other creatures you control gain trample and get +X/+X until end of turn, where X is CARDNAME's power. SVar:ThroneTarkirX:Count$CardPower AI:RemoveDeck:All Oracle:Equipped creature has defender and "{2}, {T}: Other creatures you control gain trample and get +X/+X until end of turn, where X is this creature's power."\nEquip {3} diff --git a/forge-gui/res/cardsfolder/d/dread_cacodemon.txt b/forge-gui/res/cardsfolder/d/dread_cacodemon.txt index f3fbe264337..b1f9579d97f 100644 --- a/forge-gui/res/cardsfolder/d/dread_cacodemon.txt +++ b/forge-gui/res/cardsfolder/d/dread_cacodemon.txt @@ -4,5 +4,5 @@ Types:Creature Demon PT:8/8 T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromYourHandByYou+Self | Destination$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control. SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.OppCtrl | SubAbility$ DBTapAll -SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.YouCtrl+Other +SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.YouCtrl+StrictlyOther Oracle:When Dread Cacodemon enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control. diff --git a/forge-gui/res/cardsfolder/d/drogskol_shieldmate.txt b/forge-gui/res/cardsfolder/d/drogskol_shieldmate.txt index 6e53d5986be..572eeae91f4 100644 --- a/forge-gui/res/cardsfolder/d/drogskol_shieldmate.txt +++ b/forge-gui/res/cardsfolder/d/drogskol_shieldmate.txt @@ -4,5 +4,5 @@ Types:Creature Spirit Soldier PT:2/3 K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control get +0/+1 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumDef$ +1 Oracle:Flash (You may cast this spell any time you could cast an instant.)\nWhen Drogskol Shieldmate enters the battlefield, other creatures you control get +0/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/e/earthshaker_giant.txt b/forge-gui/res/cardsfolder/e/earthshaker_giant.txt index 38fe210b714..2b9f6c4317a 100644 --- a/forge-gui/res/cardsfolder/e/earthshaker_giant.txt +++ b/forge-gui/res/cardsfolder/e/earthshaker_giant.txt @@ -4,6 +4,6 @@ Types:Creature Giant Druid PT:6/6 K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control get +3/+3 and gain trample until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +3 | NumDef$ +3 | KW$ Trample +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +3 | NumDef$ +3 | KW$ Trample SVar:PlayMain1:TRUE Oracle:Trample\nWhen Earthshaker Giant enters the battlefield, other creatures you control get +3/+3 and gain trample until end of turn. diff --git a/forge-gui/res/cardsfolder/e/elspeth_tirel.txt b/forge-gui/res/cardsfolder/e/elspeth_tirel.txt index 1c7743b9813..435df07bf0f 100644 --- a/forge-gui/res/cardsfolder/e/elspeth_tirel.txt +++ b/forge-gui/res/cardsfolder/e/elspeth_tirel.txt @@ -4,6 +4,6 @@ Types:Legendary Planeswalker Elspeth Loyalty:4 A:AB$ GainLife | Cost$ AddCounter<2/LOYALTY> | LifeAmount$ XLife | Planeswalker$ True | SpellDescription$ You gain 1 life for each creature you control. A:AB$ Token | Cost$ SubCounter<2/LOYALTY> | TokenAmount$ 3 | TokenScript$ w_1_1_soldier | TokenOwner$ You | Planeswalker$ True | SpellDescription$ Create three 1/1 white Soldier creature tokens. -A:AB$ DestroyAll | Cost$ SubCounter<5/LOYALTY> | ValidCards$ Permanent.nonLand+nonToken+Other | Planeswalker$ True | Ultimate$ True | SpellDescription$ Destroy all other permanents except for lands and tokens. +A:AB$ DestroyAll | Cost$ SubCounter<5/LOYALTY> | ValidCards$ Permanent.nonLand+nonToken+StrictlyOther | Planeswalker$ True | Ultimate$ True | SpellDescription$ Destroy all other permanents except for lands and tokens. SVar:XLife:Count$TypeYouCtrl.Creature Oracle:[+2]: You gain 1 life for each creature you control.\n[-2]: Create three 1/1 white Soldier creature tokens.\n[-5]: Destroy all other permanents except for lands and tokens. diff --git a/forge-gui/res/cardsfolder/e/end_raze_forerunners.txt b/forge-gui/res/cardsfolder/e/end_raze_forerunners.txt index 5d9a5af3865..c1e667d2d0b 100644 --- a/forge-gui/res/cardsfolder/e/end_raze_forerunners.txt +++ b/forge-gui/res/cardsfolder/e/end_raze_forerunners.txt @@ -6,6 +6,6 @@ K:Vigilance K:Trample K:Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control get +2/+2 and gain vigilance and trample until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +2 | NumDef$ +2 | KW$ Vigilance & Trample +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +2 | NumDef$ +2 | KW$ Vigilance & Trample SVar:PlayMain1:TRUE Oracle:Vigilance, trample, haste\nWhen End-Raze Forerunners enters the battlefield, other creatures you control get +2/+2 and gain vigilance and trample until end of turn. diff --git a/forge-gui/res/cardsfolder/e/exocrine.txt b/forge-gui/res/cardsfolder/e/exocrine.txt index 4a8f83fe68c..6a82f164209 100644 --- a/forge-gui/res/cardsfolder/e/exocrine.txt +++ b/forge-gui/res/cardsfolder/e/exocrine.txt @@ -4,7 +4,7 @@ Types:Creature Tyranid PT:2/2 K:Ravenous T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ Bio-plasmic Barrage — When CARDNAME enters the battlefield, it deals X damage to each player and each other creature. -SVar:TrigDamageAll:DB$ DamageAll | ValidPlayers$ Player | ValidCards$ Creature.Other | NumDmg$ X +SVar:TrigDamageAll:DB$ DamageAll | ValidPlayers$ Player | ValidCards$ Creature.StrictlyOther | NumDmg$ X SVar:X:Count$xPaid DeckHas:Ability$Counters Oracle:Ravenous (This creature enters the battlefield with X +1/+1 counters on it. If X is 5 or more, draw a card when it enters.)\nBio-plasmic Barrage — When Exocrine enters the battlefield, it deals X damage to each player and each other creature. diff --git a/forge-gui/res/cardsfolder/f/faerie_noble.txt b/forge-gui/res/cardsfolder/f/faerie_noble.txt index 5761ae4e521..ffdedaa3b91 100644 --- a/forge-gui/res/cardsfolder/f/faerie_noble.txt +++ b/forge-gui/res/cardsfolder/f/faerie_noble.txt @@ -4,6 +4,6 @@ Types:Creature Faerie Noble PT:1/2 K:Flying S:Mode$ Continuous | Affected$ Creature.Faerie+Other+YouCtrl | AddToughness$ 1 | Description$ Other Faerie creatures you control get +0/+1. -A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.Faerie+Other+YouCtrl | NumAtt$ +1 | SpellDescription$ Other Faerie creatures you control get +1/+0 until end of turn. +A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.Faerie+StrictlyOther+YouCtrl | NumAtt$ +1 | SpellDescription$ Other Faerie creatures you control get +1/+0 until end of turn. AI:RemoveDeck:Random Oracle:Flying\nOther Faerie creatures you control get +0/+1.\n{T}: Other Faerie creatures you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/f/fathom_fleet_boarder.txt b/forge-gui/res/cardsfolder/f/fathom_fleet_boarder.txt index 1de27d3e0e2..13b28c55396 100644 --- a/forge-gui/res/cardsfolder/f/fathom_fleet_boarder.txt +++ b/forge-gui/res/cardsfolder/f/fathom_fleet_boarder.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Orc Pirate PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ When CARDNAME enters the battlefield, you lose 2 life unless you control another Pirate. -SVar:TrigLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 2 | ConditionPresent$ Pirate.Other+YouCtrl | ConditionCompare$ EQ0 -SVar:NeedsToPlay:Pirate.Other+YouCtrl +SVar:TrigLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 2 | ConditionPresent$ Pirate.StrictlyOther+YouCtrl | ConditionCompare$ EQ0 +SVar:NeedsToPlay:Pirate.YouCtrl DeckHints:Type$Pirate Oracle:When Fathom Fleet Boarder enters the battlefield, you lose 2 life unless you control another Pirate. diff --git a/forge-gui/res/cardsfolder/f/festercreep.txt b/forge-gui/res/cardsfolder/f/festercreep.txt index 5d2d3399cf3..fc73cd3cf36 100644 --- a/forge-gui/res/cardsfolder/f/festercreep.txt +++ b/forge-gui/res/cardsfolder/f/festercreep.txt @@ -3,6 +3,6 @@ ManaCost:1 B Types:Creature Elemental PT:0/0 K:etbCounter:P1P1:1 -A:AB$ PumpAll | Cost$ 1 B SubCounter<1/P1P1> | ValidCards$ Creature.Other | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SpellDescription$ All other creatures get -1/-1 until end of turn. +A:AB$ PumpAll | Cost$ 1 B SubCounter<1/P1P1> | ValidCards$ Creature.StrictlyOther | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SpellDescription$ All other creatures get -1/-1 until end of turn. AI:RemoveDeck:Random Oracle:Festercreep enters the battlefield with a +1/+1 counter on it.\n{1}{B}, Remove a +1/+1 counter from Festercreep: All other creatures get -1/-1 until end of turn. diff --git a/forge-gui/res/cardsfolder/f/fire_ants.txt b/forge-gui/res/cardsfolder/f/fire_ants.txt index 57443ec2faa..eb6f69a8cdd 100644 --- a/forge-gui/res/cardsfolder/f/fire_ants.txt +++ b/forge-gui/res/cardsfolder/f/fire_ants.txt @@ -2,5 +2,5 @@ Name:Fire Ants ManaCost:2 R Types:Creature Insect PT:2/1 -A:AB$ DamageAll | Cost$ T | ValidCards$ Creature.withoutFlying+Other | NumDmg$ 1 | ValidDescription$ each other creature without flying. | SpellDescription$ CARDNAME deals 1 damage to each other creature without flying. +A:AB$ DamageAll | Cost$ T | ValidCards$ Creature.withoutFlying+StrictlyOther | NumDmg$ 1 | ValidDescription$ each other creature without flying. | SpellDescription$ CARDNAME deals 1 damage to each other creature without flying. Oracle:{T}: Fire Ants deals 1 damage to each other creature without flying. diff --git a/forge-gui/res/cardsfolder/f/furystoke_giant.txt b/forge-gui/res/cardsfolder/f/furystoke_giant.txt index 4753fa8b386..50f960176e1 100644 --- a/forge-gui/res/cardsfolder/f/furystoke_giant.txt +++ b/forge-gui/res/cardsfolder/f/furystoke_giant.txt @@ -4,6 +4,6 @@ Types:Creature Giant Warrior PT:3/3 K:Persist T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigAnimate | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control gain "{T}: This creature deals 2 damage to any target" until end of turn. -SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.Other+YouCtrl | Abilities$ ABDealDamage | SpellDescription$ Other creatures you control gain "{T}: This creature deals 2 damage to any target" until end of turn. +SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.StrictlyOther+YouCtrl | Abilities$ ABDealDamage | SpellDescription$ Other creatures you control gain "{T}: This creature deals 2 damage to any target" until end of turn. SVar:ABDealDamage:AB$DealDamage | Cost$ T | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to any target. Oracle:When Furystoke Giant enters the battlefield, other creatures you control gain "{T}: This creature deals 2 damage to any target" until end of turn.\nPersist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) diff --git a/forge-gui/res/cardsfolder/g/glimmer_lens.txt b/forge-gui/res/cardsfolder/g/glimmer_lens.txt index 7613cb55fb4..5533407e2fb 100644 --- a/forge-gui/res/cardsfolder/g/glimmer_lens.txt +++ b/forge-gui/res/cardsfolder/g/glimmer_lens.txt @@ -2,7 +2,7 @@ Name:Glimmer Lens ManaCost:1 W Types:Artifact Equipment K:For Mirrodin -T:Mode$ Attacks | ValidCard$ Card.EquippedBy | TriggerZones$ Battlefield | IsPresent$ Creature.attacking+!EquippedBy | Execute$ TrigDraw | TriggerDescription$ Whenever equipped creature and at least one other creature attack, draw a card. +T:Mode$ Attacks | ValidCard$ Card.EquippedBy | TriggerZones$ Battlefield | IsPresent$ Creature.attacking+!EquippedBy | NoResolvingCheck$ True | Execute$ TrigDraw | TriggerDescription$ Whenever equipped creature and at least one other creature attack, draw a card. SVar:TrigDraw:DB$ Draw K:Equip:1 W DeckHas:Ability$Token & Type$Rebel & Color$Red diff --git a/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt b/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt index eeee5f3213c..ac16c57d396 100644 --- a/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt +++ b/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt @@ -6,7 +6,7 @@ K:Deathtouch T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDoublePower | TriggerDescription$ When CARDNAME enters the battlefield, double the power of each other creature you control until end of turn. Those creatures gain vigilance until end of turn. SVar:TrigDoublePower:DB$ RepeatEach | RepeatCards$ Creature.YouCtrl+Other | RepeatSubAbility$ DBPump | SubAbility$ DBPumpAll SVar:DBPump:DB$ Pump | Defined$ Remembered | NumAtt$ X | Double$ True -SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | KW$ Vigilance +SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | KW$ Vigilance SVar:X:Remembered$CardPower T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard,Exile | ValidCard$ Card.Self | Execute$ TriReturn | OptionalDecider$ You | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top. SVar:TriReturn:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Destination$ Library | LibraryPosition$ 2 diff --git a/forge-gui/res/cardsfolder/g/goring_ceratops.txt b/forge-gui/res/cardsfolder/g/goring_ceratops.txt index b35be09e19f..2d0d34da836 100644 --- a/forge-gui/res/cardsfolder/g/goring_ceratops.txt +++ b/forge-gui/res/cardsfolder/g/goring_ceratops.txt @@ -4,5 +4,5 @@ Types:Creature Dinosaur PT:3/3 K:Double Strike T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, other creatures you control gain double strike until end of turn. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | KW$ Double Strike +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | KW$ Double Strike Oracle:Double strike\nWhenever Goring Ceratops attacks, other creatures you control gain double strike until end of turn. diff --git a/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt b/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt index adca460edda..4412275e947 100644 --- a/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt +++ b/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt @@ -18,5 +18,5 @@ PT:5/6 K:Haste K:Menace T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control get +1/+0 and menace until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | NumAtt$ 1 | KW$ Menace +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ 1 | KW$ Menace Oracle:Haste\nMenace (This creature can't be blocked except by two or more creatures.)\nWhen Chittering Host enters the battlefield, other creatures you control get +1/+0 and gain menace until end of turn. diff --git a/forge-gui/res/cardsfolder/g/graven_dominator.txt b/forge-gui/res/cardsfolder/g/graven_dominator.txt index 98098278f5e..dd4bba71ef4 100644 --- a/forge-gui/res/cardsfolder/g/graven_dominator.txt +++ b/forge-gui/res/cardsfolder/g/graven_dominator.txt @@ -4,5 +4,5 @@ Types:Creature Gargoyle PT:4/4 K:Flying K:Haunt:TrigAnimate -SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.Other | Power$ 1 | Toughness$ 1 | SpellDescription$ Each other creature has base power and toughness 1/1 until end of turn. +SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Creature.StrictlyOther | Power$ 1 | Toughness$ 1 | SpellDescription$ Each other creature has base power and toughness 1/1 until end of turn. Oracle:Flying\nHaunt (When this creature dies, exile it haunting target creature.)\nWhen Graven Dominator enters the battlefield or the creature it haunts dies, each other creature has base power and toughness 1/1 until end of turn. diff --git a/forge-gui/res/cardsfolder/g/guul_draz_overseer.txt b/forge-gui/res/cardsfolder/g/guul_draz_overseer.txt index 670ab00ca8b..da62cbadf10 100644 --- a/forge-gui/res/cardsfolder/g/guul_draz_overseer.txt +++ b/forge-gui/res/cardsfolder/g/guul_draz_overseer.txt @@ -4,6 +4,6 @@ Types:Creature Vampire PT:3/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPumpAll | TriggerDescription$ Landfall — Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ X +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ X SVar:X:TriggeredCard$Valid Swamp/Plus.1 Oracle:Flying\nLandfall — Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead. diff --git a/forge-gui/res/cardsfolder/h/hamlet_captain.txt b/forge-gui/res/cardsfolder/h/hamlet_captain.txt index cb400a39cec..c4b41e5d4f0 100644 --- a/forge-gui/res/cardsfolder/h/hamlet_captain.txt +++ b/forge-gui/res/cardsfolder/h/hamlet_captain.txt @@ -4,6 +4,6 @@ Types:Creature Human Warrior PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME attacks or blocks, other Humans you control get +1/+1 until end of turn T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigPumpAll | Secondary$ True | TriggerDescription$ When CARDNAME attacks or blocks, other Human creatures you control get +1/+1 until end of turn -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+Human+YouCtrl | NumAtt$ +1 | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+Human+YouCtrl | NumAtt$ +1 | NumDef$ +1 DeckHints:Type$Human Oracle:Whenever Hamlet Captain attacks or blocks, other Humans you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/h/harbin_vanguard_aviator.txt b/forge-gui/res/cardsfolder/h/harbin_vanguard_aviator.txt index 6ed797634e2..dc77e6a4070 100644 --- a/forge-gui/res/cardsfolder/h/harbin_vanguard_aviator.txt +++ b/forge-gui/res/cardsfolder/h/harbin_vanguard_aviator.txt @@ -3,8 +3,7 @@ ManaCost:W U Types:Legendary Creature Human Soldier PT:3/2 K:Flying -T:Mode$ AttackersDeclared | CheckSVar$ X | SVarCompare$ GE5 | NoResolvingCheck$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack with five or more Soldiers, creatures you control get +1/+1 and gain flying until end of turn. +T:Mode$ AttackersDeclared | IsPresent$ Creature.Soldier+attacking+YouCtrl | PresentCompare$ GE5 | NoResolvingCheck$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack with five or more Soldiers, creatures you control get +1/+1 and gain flying until end of turn. SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ 1 | NumDef$ 1 | KW$ Flying -SVar:X:Count$Valid Creature.Soldier+attacking+YouCtrl DeckHints:Type$Soldier Oracle:Flying\nWhenever you attack with five or more Soldiers, creatures you control get +1/+1 and gain flying until end of turn. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/h/harbinger_of_the_hunt.txt b/forge-gui/res/cardsfolder/h/harbinger_of_the_hunt.txt index 100f02816a2..73fcd315e21 100644 --- a/forge-gui/res/cardsfolder/h/harbinger_of_the_hunt.txt +++ b/forge-gui/res/cardsfolder/h/harbinger_of_the_hunt.txt @@ -4,5 +4,5 @@ Types:Creature Dragon PT:5/3 K:Flying A:AB$ DamageAll | Cost$ 2 R | NumDmg$ 1 | ValidCards$ Creature.withoutFlying | ValidDescription$ each creature without flying. | SpellDescription$ CARDNAME deals 1 damage to each creature without flying. -A:AB$ DamageAll | Cost$ 2 G | NumDmg$ 1 | ValidCards$ Creature.withFlying+Other | ValidDescription$ each other creature with flying. | SpellDescription$ CARDNAME deals 1 damage to each other creature with flying. +A:AB$ DamageAll | Cost$ 2 G | NumDmg$ 1 | ValidCards$ Creature.withFlying+StrictlyOther | ValidDescription$ each other creature with flying. | SpellDescription$ CARDNAME deals 1 damage to each other creature with flying. Oracle:Flying\n{2}{R}: Harbinger of the Hunt deals 1 damage to each creature without flying.\n{2}{G}: Harbinger of the Hunt deals 1 damage to each other creature with flying. diff --git a/forge-gui/res/cardsfolder/h/hellcarver_demon.txt b/forge-gui/res/cardsfolder/h/hellcarver_demon.txt index 4c7d1687077..eadebd9a785 100644 --- a/forge-gui/res/cardsfolder/h/hellcarver_demon.txt +++ b/forge-gui/res/cardsfolder/h/hellcarver_demon.txt @@ -4,7 +4,7 @@ Types:Creature Demon PT:6/6 K:Flying T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, sacrifice all other permanents you control and discard your hand. Exile the top six cards of your library. You may cast any number of spells from among cards exiled this way without paying their mana costs. -SVar:TrigSacrifice:DB$ SacrificeAll | ValidCards$ Permanent.YouCtrl+Other | SubAbility$ DBDiscardHand +SVar:TrigSacrifice:DB$ SacrificeAll | ValidCards$ Permanent.YouCtrl+StrictlyOther | SubAbility$ DBDiscardHand SVar:DBDiscardHand:DB$ Discard | Mode$ Hand | Defined$ You | SubAbility$ DBExileSix SVar:DBExileSix:DB$ Dig | DestinationZone$ Exile | RememberChanged$ True | DigNum$ 6 | ChangeNum$ All | SubAbility$ DBPlayThem SVar:DBPlayThem:DB$ Play | Valid$ Card.IsRemembered+nonLand | ValidZone$ Exile | ValidSA$ Spell | Controller$ You | WithoutManaCost$ True | Amount$ All | Optional$ True | SubAbility$ DBHellCleanup diff --git a/forge-gui/res/cardsfolder/h/herons_grace_champion.txt b/forge-gui/res/cardsfolder/h/herons_grace_champion.txt index 60c9cfb2f6e..21fe729c285 100644 --- a/forge-gui/res/cardsfolder/h/herons_grace_champion.txt +++ b/forge-gui/res/cardsfolder/h/herons_grace_champion.txt @@ -5,6 +5,6 @@ PT:3/3 K:Flash K:Lifelink T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, other Humans you control get +1/+1 and gain lifelink until end of turn. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Human+Other+YouCtrl | NumAtt$ +1 | NumDef$ +1 | KW$ Lifelink +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Human+StrictlyOther+YouCtrl | NumAtt$ +1 | NumDef$ +1 | KW$ Lifelink DeckHints:Type$Human Oracle:Flash\nLifelink\nWhen Heron's Grace Champion enters the battlefield, other Humans you control get +1/+1 and gain lifelink until end of turn. diff --git a/forge-gui/res/cardsfolder/h/homing_lightning.txt b/forge-gui/res/cardsfolder/h/homing_lightning.txt index a2b3cdf5a06..20995689dae 100644 --- a/forge-gui/res/cardsfolder/h/homing_lightning.txt +++ b/forge-gui/res/cardsfolder/h/homing_lightning.txt @@ -1,6 +1,7 @@ Name:Homing Lightning ManaCost:2 R R Types:Instant -A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | SubAbility$ DamageSame | SpellDescription$ CARDNAME deals 4 damage to target creature and to each other creature with the same name as that creature. -SVar:DamageSame:DB$ DamageAll | ValidCards$ Targeted.sameName+Other | ValidDescription$ each other creature with the same name as that creature. | NumDmg$ 4 +A:SP$ DealDamage | Cost$ 2 R R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 | DamageMap$ True | SubAbility$ DamageSame | SpellDescription$ CARDNAME deals 4 damage to target creature and to each other creature with the same name as that creature. +SVar:DamageSame:DB$ DamageAll | ValidCards$ Targeted.sameName+Other | ValidDescription$ each other creature with the same name as that creature. | NumDmg$ 4 | SubAbility$ DBDamageResolve +SVar:DBDamageResolve:DB$ DamageResolve Oracle:Homing Lightning deals 4 damage to target creature and each other creature with the same name as that creature. diff --git a/forge-gui/res/cardsfolder/h/huntmaster_liger.txt b/forge-gui/res/cardsfolder/h/huntmaster_liger.txt index 0f29d53bef0..5891e3c5c18 100644 --- a/forge-gui/res/cardsfolder/h/huntmaster_liger.txt +++ b/forge-gui/res/cardsfolder/h/huntmaster_liger.txt @@ -4,6 +4,6 @@ Types:Creature Cat PT:3/4 K:Mutate:2 W T:Mode$ Mutates | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever this creature mutates, other creatures you control get +X/+X until end of turn, where X is the number of times this creature has mutated. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ X | NumDef$ X +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ X | NumDef$ X SVar:X:Count$TimesMutated Oracle:Mutate {2}{W} (If you cast this spell for its mutate cost, put it over or under target non-Human creature you own. They mutate into the creature on top plus all abilities from under it.)\nWhenever this creature mutates, other creatures you control get +X/+X until end of turn, where X is the number of times this creature has mutated. diff --git a/forge-gui/res/cardsfolder/i/inniaz_the_gale_force.txt b/forge-gui/res/cardsfolder/i/inniaz_the_gale_force.txt index b1ff59e0630..4ae906bb31c 100644 --- a/forge-gui/res/cardsfolder/i/inniaz_the_gale_force.txt +++ b/forge-gui/res/cardsfolder/i/inniaz_the_gale_force.txt @@ -4,8 +4,7 @@ Types:Legendary Creature Djinn PT:4/4 K:Flying A:AB$ PumpAll | Cost$ 2 WU | ValidCards$ Creature.attacking+withFlying | NumAtt$ 1 | NumDef$ 1 | SpellDescription$ Attacking creatures with flying get +1/+1 until end of turn. -T:Mode$ AttackersDeclared | AttackingPlayer$ You | CheckSVar$ CheckAttackers | SVarCompare$ GE3 | NoResolvingCheck$ True | Execute$ TrigGainControl | TriggerZones$ Battlefield | TriggerDescription$ Whenever three or more creatures you control with flying attack, each player gains control of a nonland permanent of your choice controlled by the player to their right. -SVar:CheckAttackers:Count$Valid Creature.withFlying+YouCtrl+attacking +T:Mode$ AttackersDeclared | AttackingPlayer$ You | IsPresent$ Creature.withFlying+YouCtrl+attacking | PresentCompare$ GE3 | NoResolvingCheck$ True | Execute$ TrigGainControl | TriggerZones$ Battlefield | TriggerDescription$ Whenever three or more creatures you control with flying attack, each player gains control of a nonland permanent of your choice controlled by the player to their right. SVar:TrigGainControl:DB$ GainControlVariant | AllValid$ Permanent.nonLand | ChangeController$ ChooseFromPlayerToTheirRight SVar:PlayMain1:TRUE DeckHints:Keyword$Flying diff --git a/forge-gui/res/cardsfolder/i/izzet_staticaster.txt b/forge-gui/res/cardsfolder/i/izzet_staticaster.txt index 0f3fae484c4..9ed1fffe55b 100644 --- a/forge-gui/res/cardsfolder/i/izzet_staticaster.txt +++ b/forge-gui/res/cardsfolder/i/izzet_staticaster.txt @@ -4,6 +4,7 @@ Types:Creature Human Wizard PT:0/3 K:Flash K:Haste -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | SubAbility$ DamageSame | SpellDescription$ CARDNAME deals 1 damage to target creature and each other creature with the same name as that creature. -SVar:DamageSame:DB$ DamageAll | ValidCards$ Targeted.sameName+Other | ValidDescription$ each other creature with the same name as that creature. | NumDmg$ 1 +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | DamageMap$ True | SubAbility$ DamageSame | SpellDescription$ CARDNAME deals 1 damage to target creature and each other creature with the same name as that creature. +SVar:DamageSame:DB$ DamageAll | ValidCards$ Targeted.sameName+Other | ValidDescription$ each other creature with the same name as that creature. | NumDmg$ 1 | SubAbility$ DBDamageResolve +SVar:DBDamageResolve:DB$ DamageResolve Oracle:Flash (You may cast this spell any time you could cast an instant.)\nHaste\n{T}: Izzet Staticaster deals 1 damage to target creature and each other creature with the same name as that creature. diff --git a/forge-gui/res/cardsfolder/j/junkyard_genius.txt b/forge-gui/res/cardsfolder/j/junkyard_genius.txt index dd895a5aacf..28b137725ef 100644 --- a/forge-gui/res/cardsfolder/j/junkyard_genius.txt +++ b/forge-gui/res/cardsfolder/j/junkyard_genius.txt @@ -4,7 +4,7 @@ Types:Creature Human Artificer PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.") SVar:TrigToken:DB$ Token | TokenTapped$ True | TokenScript$ c_a_powerstone -A:AB$ PumpAll | Cost$ 1 B R Sac<1/Creature.Other;Artifact.Other/another creature or artifact> | ValidCards$ Creature.YouCtrl+Other | NumAtt$ 1 | KW$ Menace & Haste | SpellDescription$ Until end of turn, other creatures you control get +1/+0 and gain menace and haste. +A:AB$ PumpAll | Cost$ 1 B R Sac<1/Creature.Other;Artifact.Other/another creature or artifact> | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ 1 | KW$ Menace & Haste | SpellDescription$ Until end of turn, other creatures you control get +1/+0 and gain menace and haste. SVar:PlayMain1:TRUE SVar:AIPreference:SacCost$Artifact.Token,Creature.Other+cmcLE2,Artifact.cmcEQ1 DeckHas:Ability$Token|Sacrifice & Type$Artifact diff --git a/forge-gui/res/cardsfolder/k/kederekt_leviathan.txt b/forge-gui/res/cardsfolder/k/kederekt_leviathan.txt index 8db317be89c..660555f97e2 100644 --- a/forge-gui/res/cardsfolder/k/kederekt_leviathan.txt +++ b/forge-gui/res/cardsfolder/k/kederekt_leviathan.txt @@ -4,6 +4,6 @@ Types:Creature Leviathan PT:5/5 K:Unearth:6 U T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, return all other nonland permanents to their owners' hands. -SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Permanent.nonLand+Other | Origin$ Battlefield | Destination$ Hand +SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Permanent.nonLand+StrictlyOther | Origin$ Battlefield | Destination$ Hand AI:RemoveDeck:Random Oracle:When Kederekt Leviathan enters the battlefield, return all other nonland permanents to their owners' hands.\nUnearth {6}{U} ({6}{U}: Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/k/kill_switch.txt b/forge-gui/res/cardsfolder/k/kill_switch.txt index 07417c13e79..0b0630b1630 100644 --- a/forge-gui/res/cardsfolder/k/kill_switch.txt +++ b/forge-gui/res/cardsfolder/k/kill_switch.txt @@ -1,7 +1,7 @@ Name:Kill Switch ManaCost:3 Types:Artifact -A:AB$ TapAll | Cost$ 2 T | ValidCards$ Artifact.Other | RememberTapped$ True | SpellDescription$ Tap all other artifacts. They don't untap during their controllers' untap steps for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription +A:AB$ TapAll | Cost$ 2 T | ValidCards$ Artifact.StrictlyOther | RememberTapped$ True | SpellDescription$ Tap all other artifacts. They don't untap during their controllers' untap steps for as long as CARDNAME remains tapped. | StackDescription$ SpellDescription S:Mode$ Continuous | Affected$ Card.IsRemembered | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ClearRemembered | Static$ True SVar:ClearRemembered:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/k/knight_of_old_benalia.txt b/forge-gui/res/cardsfolder/k/knight_of_old_benalia.txt index 928c938f8a8..801350b3034 100644 --- a/forge-gui/res/cardsfolder/k/knight_of_old_benalia.txt +++ b/forge-gui/res/cardsfolder/k/knight_of_old_benalia.txt @@ -4,6 +4,6 @@ Types:Creature Human Knight PT:3/3 K:Suspend:5:W T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control get +1/+1 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 | NumDef$ +1 SVar:PlayMain1:TRUE Oracle:Suspend 5—{W} (Rather than cast this card from your hand, you may pay {W} and exile it with five time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.)\nWhen Knight of Old Benalia enters the battlefield, other creatures you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/k/kodama_of_the_south_tree.txt b/forge-gui/res/cardsfolder/k/kodama_of_the_south_tree.txt index 790291ebb21..ae44944cc43 100644 --- a/forge-gui/res/cardsfolder/k/kodama_of_the_south_tree.txt +++ b/forge-gui/res/cardsfolder/k/kodama_of_the_south_tree.txt @@ -3,7 +3,7 @@ ManaCost:2 G G Types:Legendary Creature Spirit PT:4/4 T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, each other creature you control gets +1/+1 and gains trample until end of turn. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | NumAtt$ +1 | NumDef$ +1 | KW$ Trample +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ +1 | NumDef$ +1 | KW$ Trample SVar:BuffedBy:Arcane,Spirit DeckHints:Type$Spirit|Arcane Oracle:Whenever you cast a Spirit or Arcane spell, each other creature you control gets +1/+1 and gains trample until end of turn. diff --git a/forge-gui/res/cardsfolder/l/loxodon_sergeant.txt b/forge-gui/res/cardsfolder/l/loxodon_sergeant.txt index b2fa7fc208c..561c44903f8 100644 --- a/forge-gui/res/cardsfolder/l/loxodon_sergeant.txt +++ b/forge-gui/res/cardsfolder/l/loxodon_sergeant.txt @@ -4,6 +4,6 @@ Types:Creature Elephant Soldier PT:3/3 K:Vigilance T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control gain vigilance until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | KW$ Vigilance +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | KW$ Vigilance SVar:PlayMain1:TRUE Oracle:Vigilance\nWhen Loxodon Sergeant enters the battlefield, other creatures you control gain vigilance until end of turn. diff --git a/forge-gui/res/cardsfolder/m/mageta_the_lion.txt b/forge-gui/res/cardsfolder/m/mageta_the_lion.txt index 89bc4c5f8bc..2d79b795711 100644 --- a/forge-gui/res/cardsfolder/m/mageta_the_lion.txt +++ b/forge-gui/res/cardsfolder/m/mageta_the_lion.txt @@ -2,6 +2,6 @@ Name:Mageta the Lion ManaCost:3 W W Types:Legendary Creature Human Spellshaper PT:3/3 -A:AB$ DestroyAll | Cost$ 2 W W T Discard<2/Card> | ValidCards$ Creature.Other | NoRegen$ True | SpellDescription$ Destroy all creatures except for Mageta the Lion. Those creatures can't be regenerated. +A:AB$ DestroyAll | Cost$ 2 W W T Discard<2/Card> | ValidCards$ Creature.StrictlyOther | NoRegen$ True | SpellDescription$ Destroy all creatures except for CARDNAME. Those creatures can't be regenerated. AI:RemoveDeck:All Oracle:{2}{W}{W}, {T}, Discard two cards: Destroy all creatures except for Mageta the Lion. Those creatures can't be regenerated. diff --git a/forge-gui/res/cardsfolder/m/massacre_girl.txt b/forge-gui/res/cardsfolder/m/massacre_girl.txt index 7fba407e8ec..889672871fb 100644 --- a/forge-gui/res/cardsfolder/m/massacre_girl.txt +++ b/forge-gui/res/cardsfolder/m/massacre_girl.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Assassin PT:4/4 K:Menace T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMassacre | TriggerDescription$ When CARDNAME enters the battlefield, each other creature gets -1/-1 until end of turn. Whenever a creature dies this turn, each creature other than Massacre Girl gets -1/-1 until end of turn. -SVar:TrigMassacre:DB$ PumpAll | NumAtt$ -1 | NumDef$ -1 | ValidCards$ Creature.Other | IsCurse$ True | SubAbility$ DBEffect +SVar:TrigMassacre:DB$ PumpAll | NumAtt$ -1 | NumDef$ -1 | ValidCards$ Creature.StrictlyOther | IsCurse$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | Triggers$ TrigDies | RememberObjects$ Self SVar:TrigDies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | Execute$ TrigMoreMassacre | TriggerDescription$ each creature other than Massacre Girl gets -1/-1 until end of turn. SVar:TrigMoreMassacre:DB$ PumpAll | NumAtt$ -1 | NumDef$ -1 | ValidCards$ Creature.IsNotRemembered | IsCurse$ True diff --git a/forge-gui/res/cardsfolder/m/myojin_of_cleansing_fire.txt b/forge-gui/res/cardsfolder/m/myojin_of_cleansing_fire.txt index 409723b0978..475849d74b8 100644 --- a/forge-gui/res/cardsfolder/m/myojin_of_cleansing_fire.txt +++ b/forge-gui/res/cardsfolder/m/myojin_of_cleansing_fire.txt @@ -5,5 +5,5 @@ PT:4/6 K:etbCounter:DIVINITY:1:CheckSVar$ FromHand:CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. SVar:FromHand:Count$wasCastFromYourHandByYou.1.0 S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME has indestructible as long as it has a divinity counter on it. -A:AB$ DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Creature.Other | SpellDescription$ Destroy all other creatures. +A:AB$ DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Creature.StrictlyOther | SpellDescription$ Destroy all other creatures. Oracle:Myojin of Cleansing Fire enters the battlefield with a divinity counter on it if you cast it from your hand.\nMyojin of Cleansing Fire has indestructible as long as it has a divinity counter on it.\nRemove a divinity counter from Myojin of Cleansing Fire: Destroy all other creatures. diff --git a/forge-gui/res/cardsfolder/m/myr_galvanizer.txt b/forge-gui/res/cardsfolder/m/myr_galvanizer.txt index d273c9aaa38..8aeb6d21653 100644 --- a/forge-gui/res/cardsfolder/m/myr_galvanizer.txt +++ b/forge-gui/res/cardsfolder/m/myr_galvanizer.txt @@ -3,6 +3,6 @@ ManaCost:3 Types:Artifact Creature Myr PT:2/2 S:Mode$ Continuous | Affected$ Creature.Myr+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Myr creatures you control get +1/+1. -A:AB$ UntapAll | Cost$ 1 T | ValidCards$ Myr.Other+YouCtrl | SpellDescription$ Untap each other Myr you control. +A:AB$ UntapAll | Cost$ 1 T | ValidCards$ Myr.StrictlyOther+YouCtrl | SpellDescription$ Untap each other Myr you control. SVar:PlayMain1:TRUE Oracle:Other Myr creatures you control get +1/+1.\n{1}, {T}: Untap each other Myr you control. diff --git a/forge-gui/res/cardsfolder/n/nimble_trapfinder.txt b/forge-gui/res/cardsfolder/n/nimble_trapfinder.txt index b26ade6fd04..ece94a49f56 100644 --- a/forge-gui/res/cardsfolder/n/nimble_trapfinder.txt +++ b/forge-gui/res/cardsfolder/n/nimble_trapfinder.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Creature Human Rogue PT:2/1 S:Mode$ CantBlockBy | ValidAttacker$ Card.Self | CheckSVar$ JoinedParty | SVarCompare$ GE1 | Description$ CARDNAME can't be blocked if you had another Cleric, Rogue, Warrior, or Wizard enter the battlefield under your control this turn. -SVar:JoinedParty:Count$ThisTurnEntered_Battlefield_Cleric.YouCtrl+Other,Rogue.YouCtrl+Other,Warrior.YouCtrl+Other,Wizard.YouCtrl+Other +SVar:JoinedParty:Count$ThisTurnEntered_Battlefield_Cleric.YouCtrl+StrictlyOther,Rogue.YouCtrl+StrictlyOther,Warrior.YouCtrl+StrictlyOther,Wizard.YouCtrl+StrictlyOther T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ EQ4 | Execute$ TrigAnimateAll | TriggerDescription$ At the beginning of combat on your turn, if you have a full party, creatures you control gain "Whenever this creature deals combat damage to a player, draw a card" until end of turn. SVar:TrigAnimateAll:DB$ AnimateAll | ValidCards$ Creature.YouCtrl | Triggers$ TrigCDPlayer SVar:TrigCDPlayer:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDraw | TriggerZones$ Battlefield | TriggerDescription$ Whenever this creature deals combat damage to a player, draw a card. diff --git a/forge-gui/res/cardsfolder/n/novablast_wurm.txt b/forge-gui/res/cardsfolder/n/novablast_wurm.txt index 4b8f563076e..c740d9dd861 100644 --- a/forge-gui/res/cardsfolder/n/novablast_wurm.txt +++ b/forge-gui/res/cardsfolder/n/novablast_wurm.txt @@ -3,5 +3,5 @@ ManaCost:3 G G W W Types:Creature Wurm PT:7/7 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDestroyAll | TriggerDescription$ Whenever CARDNAME attacks, destroy all other creatures. -SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Creature.Other +SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Creature.StrictlyOther Oracle:Whenever Novablast Wurm attacks, destroy all other creatures. diff --git a/forge-gui/res/cardsfolder/o/orc_general.txt b/forge-gui/res/cardsfolder/o/orc_general.txt index b097f588493..82b942cb5d6 100644 --- a/forge-gui/res/cardsfolder/o/orc_general.txt +++ b/forge-gui/res/cardsfolder/o/orc_general.txt @@ -2,7 +2,7 @@ Name:Orc General ManaCost:2 R Types:Creature Orc Warrior PT:2/2 -A:AB$ PumpAll | Cost$ T Sac<1/Goblin.Other;Orc.Other/another Orc or Goblin> | ValidCards$ Creature.Orc+Other | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Other Orc creatures get +1/+1 until end of turn. +A:AB$ PumpAll | Cost$ T Sac<1/Goblin.Other;Orc.Other/another Orc or Goblin> | ValidCards$ Creature.Orc+StrictlyOther | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Other Orc creatures get +1/+1 until end of turn. DeckHints:Type$Goblin DeckNeeds:Type$Orc DeckHas:Ability$Sacrifice diff --git a/forge-gui/res/cardsfolder/o/orcus_prince_of_undeath.txt b/forge-gui/res/cardsfolder/o/orcus_prince_of_undeath.txt index 1465593da94..bb741f2fd3b 100644 --- a/forge-gui/res/cardsfolder/o/orcus_prince_of_undeath.txt +++ b/forge-gui/res/cardsfolder/o/orcus_prince_of_undeath.txt @@ -6,7 +6,7 @@ K:Flying K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ When CARDNAME enters the battlefield, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBPumpAll,DBReturn -SVar:DBPumpAll:DB$ PumpAll | NumAtt$ -X | NumDef$ -X | ValidCards$ Creature.Other | IsCurse$ True | SubAbility$ DBLoseLife | SpellDescription$ Each other creature gets -X/-X until end of turn. You lose X life. +SVar:DBPumpAll:DB$ PumpAll | NumAtt$ -X | NumDef$ -X | ValidCards$ Creature.StrictlyOther | IsCurse$ True | SubAbility$ DBLoseLife | SpellDescription$ Each other creature gets -X/-X until end of turn. You lose X life. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | StackDescription$ None SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TargetMin$ 0 | TargetMax$ X | MaxTotalTargetCMC$ X | ValidTgts$ Creature.YouOwn | SubAbility$ DBPump | TgtPrompt$ Select up to X target creature cards with total mana value X or less | SpellDescription$ Return up to X target creature cards with total mana value X or less from your graveyard to the battlefield. They gain haste until end of turn. SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Haste | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/o/overwhelming_instinct.txt b/forge-gui/res/cardsfolder/o/overwhelming_instinct.txt index 4a932899b05..00af752e4bb 100644 --- a/forge-gui/res/cardsfolder/o/overwhelming_instinct.txt +++ b/forge-gui/res/cardsfolder/o/overwhelming_instinct.txt @@ -1,7 +1,6 @@ Name:Overwhelming Instinct ManaCost:2 G Types:Enchantment -T:Mode$ AttackersDeclared | Execute$ TrigDraw | CheckSVar$ OverwhelmInstinct | SVarCompare$ GE3 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, draw a card. +T:Mode$ AttackersDeclared | Execute$ TrigDraw | IsPresent$ Creature.attacking | PresentCompare$ GE3 | NoResolvingCheck$ True | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, draw a card. SVar:TrigDraw:DB$ Draw | NumCards$ 1 -SVar:OverwhelmInstinct:Count$Valid Creature.attacking Oracle:Whenever you attack with three or more creatures, draw a card. diff --git a/forge-gui/res/cardsfolder/p/paired_tactician.txt b/forge-gui/res/cardsfolder/p/paired_tactician.txt index 97b000713d0..f7db9b4205b 100644 --- a/forge-gui/res/cardsfolder/p/paired_tactician.txt +++ b/forge-gui/res/cardsfolder/p/paired_tactician.txt @@ -2,7 +2,7 @@ Name:Paired Tactician ManaCost:2 W Types:Creature Human Warrior PT:3/2 -T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Warrior.attacking+Other | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME and at least one other Warrior attack, put a +1/+1 counter on CARDNAME. +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Warrior.attacking+Other | NoResolvingCheck$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME and at least one other Warrior attack, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 DeckHas:Ability$Counters DeckHints:Type$Warrior diff --git a/forge-gui/res/cardsfolder/p/perimeter_sergeant.txt b/forge-gui/res/cardsfolder/p/perimeter_sergeant.txt index 9137039fb8c..16cd9328a92 100644 --- a/forge-gui/res/cardsfolder/p/perimeter_sergeant.txt +++ b/forge-gui/res/cardsfolder/p/perimeter_sergeant.txt @@ -3,6 +3,6 @@ ManaCost:2 W Types:Creature Human Soldier PT:3/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME attacks, other Humans you control get +1/+0 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Human.Other+YouCtrl | NumAtt$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Human.StrictlyOther+YouCtrl | NumAtt$ +1 DeckHints:Type$Human Oracle:Whenever Perimeter Sergeant attacks, other Humans you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/p/phoenix_chick.txt b/forge-gui/res/cardsfolder/p/phoenix_chick.txt index 20950b00849..5d4d96a7bf9 100644 --- a/forge-gui/res/cardsfolder/p/phoenix_chick.txt +++ b/forge-gui/res/cardsfolder/p/phoenix_chick.txt @@ -5,9 +5,8 @@ PT:1/1 K:Flying K:Haste K:CARDNAME can't block. -T:Mode$ AttackersDeclared | CheckSVar$ X | SVarCompare$ GE3 | Execute$ TrigReturn | NoResolvingCheck$ True | TriggerZones$ Graveyard | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, you may pay {R}{R}. If you do, return Phoenix Chick from your graveyard to the battlefield tapped and attacking with a +1/+1 counter on it. +T:Mode$ AttackersDeclared | IsPresent$ Creature.attacking | PresentCompare$ GE3 | Execute$ TrigReturn | NoResolvingCheck$ True | TriggerZones$ Graveyard | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, you may pay {R}{R}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking with a +1/+1 counter on it. SVar:TrigReturn:AB$ ChangeZone | Cost$ R R | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | Attacking$ True | WithCountersType$ P1P1 | WithCountersAmount$ 1 -SVar:X:Count$Valid Creature.attacking SVar:DiscardMe:1 SVar:SacMe:1 DeckHas:Ability$Counters|Graveyard diff --git a/forge-gui/res/cardsfolder/p/phyrexian_driver.txt b/forge-gui/res/cardsfolder/p/phyrexian_driver.txt index ed94ff85993..0593daf2d19 100644 --- a/forge-gui/res/cardsfolder/p/phyrexian_driver.txt +++ b/forge-gui/res/cardsfolder/p/phyrexian_driver.txt @@ -3,6 +3,6 @@ ManaCost:2 B Types:Creature Phyrexian Zombie Mercenary PT:1/1 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, other Mercenary creatures get +1/+1 until end of turn. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Mercenary+Other | NumAtt$ +1 | NumDef$ +1 +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Mercenary+StrictlyOther | NumAtt$ +1 | NumDef$ +1 SVar:PlayMain1:TRUE Oracle:When Phyrexian Driver enters the battlefield, other Mercenary creatures get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/p/plague_nurse.txt b/forge-gui/res/cardsfolder/p/plague_nurse.txt index ec781eb9927..98e87d2843d 100644 --- a/forge-gui/res/cardsfolder/p/plague_nurse.txt +++ b/forge-gui/res/cardsfolder/p/plague_nurse.txt @@ -3,6 +3,6 @@ ManaCost:3 G Types:Creature Phyrexian Cleric PT:3/4 K:Toxic:2 -A:AB$ PumpAll | Cost$ 2 G | KW$ Toxic:1 | ValidCards$ Creature.withToxic+Other+YouCtrl | ActivationLimit$ 1 | SpellDescription$ Each other creature you control with toxic gains toxic 1 until end of turn. Activate only once each turn. (A player dealt combat damage by a creature with toxic also gets poison counters equal to that creature's total toxic value.) +A:AB$ PumpAll | Cost$ 2 G | KW$ Toxic:1 | ValidCards$ Creature.withToxic+StrictlyOther+YouCtrl | ActivationLimit$ 1 | SpellDescription$ Each other creature you control with toxic gains toxic 1 until end of turn. Activate only once each turn. (A player dealt combat damage by a creature with toxic also gets poison counters equal to that creature's total toxic value.) DeckHints:Keyword$Toxic Oracle:Toxic 2\n{2}{G}: Each other creature you control with toxic gains toxic 1 until end of turn. Activate only once each turn. (A player dealt combat damage by a creature with toxic also gets poison counters equal to that creature's total toxic value.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/r/raging_swordtooth.txt b/forge-gui/res/cardsfolder/r/raging_swordtooth.txt index 7ce2a6dcac2..17efdc6d579 100644 --- a/forge-gui/res/cardsfolder/r/raging_swordtooth.txt +++ b/forge-gui/res/cardsfolder/r/raging_swordtooth.txt @@ -4,5 +4,5 @@ Types:Creature Dinosaur PT:5/5 K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDamageAll | TriggerDescription$ When CARDNAME enters the battlefield, it deals 1 damage to each other creature. -SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.Other | NumDmg$ 1 | ValidDescription$ each other creature. +SVar:TrigDamageAll:DB$ DamageAll | ValidCards$ Creature.StrictlyOther | NumDmg$ 1 | ValidDescription$ each other creature. Oracle:Trample\nWhen Raging Swordtooth enters the battlefield, it deals 1 damage to each other creature. diff --git a/forge-gui/res/cardsfolder/r/reckless_bushwhacker.txt b/forge-gui/res/cardsfolder/r/reckless_bushwhacker.txt index 47865f47066..e639f78d5b0 100644 --- a/forge-gui/res/cardsfolder/r/reckless_bushwhacker.txt +++ b/forge-gui/res/cardsfolder/r/reckless_bushwhacker.txt @@ -5,6 +5,6 @@ PT:2/1 K:Surge:1 R K:Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+surged | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | NumAtt$ 1 | KW$ Haste +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ 1 | KW$ Haste SVar:PlayMain1:TRUE Oracle:Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)\nHaste\nWhen Reckless Bushwhacker enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn. diff --git a/forge-gui/res/cardsfolder/r/regal_leosaur.txt b/forge-gui/res/cardsfolder/r/regal_leosaur.txt index c9a2da48fc6..91f20c66dd6 100644 --- a/forge-gui/res/cardsfolder/r/regal_leosaur.txt +++ b/forge-gui/res/cardsfolder/r/regal_leosaur.txt @@ -4,5 +4,5 @@ Types:Creature Dinosaur Cat PT:2/2 K:Mutate:1 RW RW T:Mode$ Mutates | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever this creature mutates, other creatures you control get +2/+1 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +2 | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +2 | NumDef$ +1 Oracle:Mutate {1}{R/W}{R/W} (If you cast this spell for its mutate cost, put it over or under target non-Human creature you own. They mutate into the creature on top plus all abilities from under it.)\nWhenever this creature mutates, other creatures you control get +2/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/r/resplendent_marshal.txt b/forge-gui/res/cardsfolder/r/resplendent_marshal.txt index 72f8eb4df31..1fe2c1c9d40 100644 --- a/forge-gui/res/cardsfolder/r/resplendent_marshal.txt +++ b/forge-gui/res/cardsfolder/r/resplendent_marshal.txt @@ -6,7 +6,7 @@ K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield or dies, you may exile another creature card from your graveyard. When you do, put a +1/+1 counter on each creature you control other than CARDNAME that shares a creature type with the exiled card. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | Secondary$ True | TriggerDescription$ When CARDNAME enters the battlefield or dies, you may exile another creature card from your graveyard. When you do, put a +1/+1 counter on each creature you control other than CARDNAME that shares a creature type with the exiled card. SVar:TrigExile:DB$ ChangeZone | ChangeType$ Creature.Other+YouOwn | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | Hidden$ True | Chooser$ You | Optional$ True | SubAbility$ DBPutCounters -SVar:DBPutCounters:DB$ PutCounterAll | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | ConditionCompare$ GE1 | ValidCards$ Creature.Other+YouCtrl+sharesCreatureTypeWith Remembered | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBCleanup +SVar:DBPutCounters:DB$ PutCounterAll | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | ConditionCompare$ GE1 | ValidCards$ Creature.StrictlyOther+YouCtrl+sharesCreatureTypeWith Remembered | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Graveyard|Counters Oracle:Flying\nWhen Resplendent Marshal enters the battlefield or dies, you may exile another creature card from your graveyard. When you do, put a +1/+1 counter on each creature you control other than Resplendent Marshal that shares a creature type with the exiled card. diff --git a/forge-gui/res/cardsfolder/s/saddled_rimestag.txt b/forge-gui/res/cardsfolder/s/saddled_rimestag.txt index 2c7c2280335..0e63f6ec928 100644 --- a/forge-gui/res/cardsfolder/s/saddled_rimestag.txt +++ b/forge-gui/res/cardsfolder/s/saddled_rimestag.txt @@ -3,5 +3,5 @@ ManaCost:1 G Types:Snow Creature Elk PT:2/2 S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | CheckSVar$ X | SVarCompare$ GE1 | Description$ CARDNAME gets +2/+2 as long as you had another creature enter the battlefield under your control this turn. -SVar:X:Count$ThisTurnEntered_Battlefield_Creature.YouCtrl+Other +SVar:X:Count$ThisTurnEntered_Battlefield_Creature.YouCtrl+StrictlyOther Oracle:Saddled Rimestag gets +2/+2 as long as you had another creature enter the battlefield under your control this turn. diff --git a/forge-gui/res/cardsfolder/s/scourge_of_kher_ridges.txt b/forge-gui/res/cardsfolder/s/scourge_of_kher_ridges.txt index c041a996b06..e388d0a2dd2 100644 --- a/forge-gui/res/cardsfolder/s/scourge_of_kher_ridges.txt +++ b/forge-gui/res/cardsfolder/s/scourge_of_kher_ridges.txt @@ -3,6 +3,6 @@ ManaCost:6 R R Types:Creature Dragon PT:6/6 A:AB$ DamageAll | Cost$ 1 R | NumDmg$ 2 | ValidCards$ Creature.withoutFlying | ValidDescription$ each creature and without flying. | SpellDescription$ CARDNAME deals 2 damage to each creature without flying. -A:AB$ DamageAll | Cost$ 5 R | NumDmg$ 6 | ValidCards$ Creature.withFlying+Other | ValidDescription$ each other creature with flying. | SpellDescription$ CARDNAME deals 6 damage to each other creature with flying. +A:AB$ DamageAll | Cost$ 5 R | NumDmg$ 6 | ValidCards$ Creature.withFlying+StrictlyOther | ValidDescription$ each other creature with flying. | SpellDescription$ CARDNAME deals 6 damage to each other creature with flying. K:Flying Oracle:Flying\n{1}{R}: Scourge of Kher Ridges deals 2 damage to each creature without flying.\n{5}{R}: Scourge of Kher Ridges deals 6 damage to each other creature with flying. diff --git a/forge-gui/res/cardsfolder/s/shrieking_mogg.txt b/forge-gui/res/cardsfolder/s/shrieking_mogg.txt index 84078613db0..a3e8d56a89d 100644 --- a/forge-gui/res/cardsfolder/s/shrieking_mogg.txt +++ b/forge-gui/res/cardsfolder/s/shrieking_mogg.txt @@ -4,6 +4,6 @@ Types:Creature Goblin PT:1/1 K:Haste T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigTapAll | TriggerDescription$ When CARDNAME enters the battlefield, tap all other creatures. -SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.Other +SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.StrictlyOther SVar:PlayMain1:TRUE Oracle:Haste\nWhen Shrieking Mogg enters the battlefield, tap all other creatures. diff --git a/forge-gui/res/cardsfolder/s/sky_swallower.txt b/forge-gui/res/cardsfolder/s/sky_swallower.txt index 498f83fea72..f77a509a884 100644 --- a/forge-gui/res/cardsfolder/s/sky_swallower.txt +++ b/forge-gui/res/cardsfolder/s/sky_swallower.txt @@ -4,6 +4,6 @@ Types:Creature Leviathan PT:8/8 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainControl | TriggerDescription$ When CARDNAME enters the battlefield, target opponent gains control of all other permanents you control. -SVar:TrigGainControl:DB$ GainControl | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | AllValid$ Permanent.Other+YouCtrl | NewController$ TargetedPlayer +SVar:TrigGainControl:DB$ GainControl | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | AllValid$ Permanent.StrictlyOther+YouCtrl | NewController$ TargetedPlayer AI:RemoveDeck:Random Oracle:Flying\nWhen Sky Swallower enters the battlefield, target opponent gains control of all other permanents you control. diff --git a/forge-gui/res/cardsfolder/s/sloppity_bilepiper.txt b/forge-gui/res/cardsfolder/s/sloppity_bilepiper.txt index 49590bf287b..bb3c708347b 100644 --- a/forge-gui/res/cardsfolder/s/sloppity_bilepiper.txt +++ b/forge-gui/res/cardsfolder/s/sloppity_bilepiper.txt @@ -4,7 +4,7 @@ Types:Creature Demon PT:3/3 A:AB$ Effect | PrecostDesc$ Jolly Gutpipes — | Cost$ 2 T Sac<1/Creature> | StaticAbilities$ GrantCascade | Triggers$ ExileEffect | SpellDescription$ The next creature spell you cast this turn has cascade. (When you cast your next creature spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) SVar:GrantCascade:Mode$ Continuous | EffectZone$ Command | Affected$ Card.Creature+YouCtrl | AffectedZone$ Stack | Execute$ ExileEff | AddKeyword$ Cascade | Description$ The next noncreature spell you cast this turn has cascade. -SVar:ExileEffect:Mode$ SpellCast | EffectZone$ Command | ValidCard$ Card.Creature+YouCtrl | AffectedZone$ Stack | Execute$ RemoveEffect | Static$ True +SVar:ExileEffect:Mode$ SpellCast | EffectZone$ Command | ValidCard$ Card.Creature+YouCtrl | Execute$ RemoveEffect | Static$ True SVar:RemoveEffect:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self DeckHas:Keyword$Cascade & Ability$Sacrifice Oracle:Jolly Gutpipes — {2}, {T}, Sacrifice a creature: The next creature spell you cast this turn has cascade. (When you cast your next creature spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) diff --git a/forge-gui/res/cardsfolder/s/soltari_champion.txt b/forge-gui/res/cardsfolder/s/soltari_champion.txt index d63d04c9333..7201124a2fb 100644 --- a/forge-gui/res/cardsfolder/s/soltari_champion.txt +++ b/forge-gui/res/cardsfolder/s/soltari_champion.txt @@ -4,5 +4,5 @@ Types:Creature Soltari Soldier PT:2/2 K:Shadow T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, other creatures you control get +1/+1 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 | NumDef$ +1 Oracle:Shadow (This creature can block or be blocked by only creatures with shadow.)\nWhenever Soltari Champion attacks, other creatures you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/s/spirit_of_the_hunt.txt b/forge-gui/res/cardsfolder/s/spirit_of_the_hunt.txt index 387cfa71bd5..33b98b962c5 100644 --- a/forge-gui/res/cardsfolder/s/spirit_of_the_hunt.txt +++ b/forge-gui/res/cardsfolder/s/spirit_of_the_hunt.txt @@ -4,6 +4,6 @@ Types:Creature Wolf Spirit PT:3/3 K:Flash T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigPump | TriggerDescription$ When CARDNAME enters the battlefield, each other creature you control that's a Wolf or a Werewolf gets +0/+3 until end of turn. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Wolf+Other+YouCtrl,Creature.Werewolf+Other+YouCtrl | NumDef$ +3 +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.Wolf+StrictlyOther+YouCtrl,Creature.Werewolf+StrictlyOther+YouCtrl | NumDef$ +3 DeckHints:Type$Wolf|Werewolf Oracle:Flash\nWhen Spirit of the Hunt enters the battlefield, each other creature you control that's a Wolf or a Werewolf gets +0/+3 until end of turn. diff --git a/forge-gui/res/cardsfolder/s/sprite_noble.txt b/forge-gui/res/cardsfolder/s/sprite_noble.txt index 50c8600ded4..97518eeca95 100644 --- a/forge-gui/res/cardsfolder/s/sprite_noble.txt +++ b/forge-gui/res/cardsfolder/s/sprite_noble.txt @@ -3,7 +3,7 @@ ManaCost:1 U U Types:Creature Faerie Noble PT:2/2 K:Flying -S:Mode$ Continuous | Affected$ Creature.withFlying+YouCtrl+Other | AddToughness$ 1 | Description$ Other creatures you control with flying get +0/+1. -A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.withFlying+Other+YouCtrl | NumAtt$ +1 | SpellDescription$ Other creatures you control with flying get +1/+0 until end of turn. +S:Mode$ Continuous | Affected$ Creature.withFlying+YouCtrl+StrictlyOther | AddToughness$ 1 | Description$ Other creatures you control with flying get +0/+1. +A:AB$ PumpAll | Cost$ T | ValidCards$ Creature.withFlying+StrictlyOther+YouCtrl | NumAtt$ +1 | SpellDescription$ Other creatures you control with flying get +1/+0 until end of turn. SVar:PlayMain1:TRUE Oracle:Flying\nOther creatures you control with flying get +0/+1.\n{T}: Other creatures you control with flying get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/s/syr_alin_the_lions_claw.txt b/forge-gui/res/cardsfolder/s/syr_alin_the_lions_claw.txt index 641984a1f42..e7b0ed54880 100644 --- a/forge-gui/res/cardsfolder/s/syr_alin_the_lions_claw.txt +++ b/forge-gui/res/cardsfolder/s/syr_alin_the_lions_claw.txt @@ -4,5 +4,5 @@ Types:Legendary Creature Human Knight PT:4/4 K:First Strike T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, other creatures you control get +1/+1 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 | NumDef$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 | NumDef$ +1 Oracle:First strike\nWhenever Syr Alin, the Lion's Claw attacks, other creatures you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/t/the_elder_dragon_war.txt b/forge-gui/res/cardsfolder/t/the_elder_dragon_war.txt index f28734ab601..073f0cb7d94 100644 --- a/forge-gui/res/cardsfolder/t/the_elder_dragon_war.txt +++ b/forge-gui/res/cardsfolder/t/the_elder_dragon_war.txt @@ -2,9 +2,9 @@ Name:The Elder Dragon War ManaCost:2 R R Types:Enchantment Saga K:Read ahead:3:DBDealDamage,DBDiscard,DBToken -SVar:DBDealDamage:DB$ DamageAll | ValidCards$ Creature | ValidPlayers$ Opponent | NumDmg$ 2 | ValidDescription$ each creature and each opponent. | SpellDescription$ CARDNAME deals 2 damage to each opponent and you gain 2 life. -SVar:DBDiscard:DB$ Discard | AnyNumber$ True | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | StackDescription$ {p:You} discards any number of cards, | SpellDescription$ Discard any number of cards, -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ Y | SubAbility$ DBCleanup | StackDescription$ then draws that many cards. | SpellDescription$ then draw that many cards. +SVar:DBDealDamage:DB$ DamageAll | ValidCards$ Creature | ValidPlayers$ Opponent | NumDmg$ 2 | ValidDescription$ each creature and each opponent. | SpellDescription$ CARDNAME deals 2 damage to each creature and each opponent. +SVar:DBDiscard:DB$ Discard | AnyNumber$ True | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard any number of cards, then draw that many cards. +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ Y | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Y:Count$RememberedSize SVar:DBToken:DB$ Token | TokenScript$ r_4_4_dragon_flying | SpellDescription$ Create a 4/4 red Dragon creature token with flying. diff --git a/forge-gui/res/cardsfolder/t/thousand_winds.txt b/forge-gui/res/cardsfolder/t/thousand_winds.txt index 65ef9d18f35..e158dde843d 100644 --- a/forge-gui/res/cardsfolder/t/thousand_winds.txt +++ b/forge-gui/res/cardsfolder/t/thousand_winds.txt @@ -5,5 +5,5 @@ PT:5/6 K:Flying K:Morph:5 U U T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigChangeZoneAll | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, return all other tapped creatures to their owners' hands. -SVar:TrigChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Creature.Other+tapped | Origin$ Battlefield | Destination$ Hand +SVar:TrigChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Creature.StrictlyOther+tapped | Origin$ Battlefield | Destination$ Hand Oracle:Flying\nMorph {5}{U}{U} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)\nWhen Thousand Winds is turned face up, return all other tapped creatures to their owners' hands. diff --git a/forge-gui/res/cardsfolder/t/thundercloud_elemental.txt b/forge-gui/res/cardsfolder/t/thundercloud_elemental.txt index 25f47b41b1a..e93c2977c99 100644 --- a/forge-gui/res/cardsfolder/t/thundercloud_elemental.txt +++ b/forge-gui/res/cardsfolder/t/thundercloud_elemental.txt @@ -4,5 +4,5 @@ Types:Creature Elemental PT:3/4 K:Flying A:AB$ TapAll | Cost$ 3 U | ValidCards$ Creature.toughnessLE2 | SpellDescription$ Tap all creatures with toughness 2 or less. -A:AB$ AnimateAll | Cost$ 3 U | ValidCards$ Creature.Other | RemoveKeywords$ Flying | SpellDescription$ All other creatures lose flying until end of turn. +A:AB$ AnimateAll | Cost$ 3 U | ValidCards$ Creature.StrictlyOther | RemoveKeywords$ Flying | SpellDescription$ All other creatures lose flying until end of turn. Oracle:Flying\n{3}{U}: Tap all creatures with toughness 2 or less.\n{3}{U}: All other creatures lose flying until end of turn. diff --git a/forge-gui/res/cardsfolder/t/thundering_ceratok.txt b/forge-gui/res/cardsfolder/t/thundering_ceratok.txt index 1aaf4d9ad18..9eb43ee50ac 100644 --- a/forge-gui/res/cardsfolder/t/thundering_ceratok.txt +++ b/forge-gui/res/cardsfolder/t/thundering_ceratok.txt @@ -4,6 +4,6 @@ Types:Creature Rhino PT:4/5 K:Trample T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When CARDNAME enters the battlefield, other creatures you control gain trample until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | KW$ Trample +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | KW$ Trample SVar:PlayMain1:TRUE Oracle:Trample\nWhen Thundering Ceratok enters the battlefield, other creatures you control gain trample until end of turn. diff --git a/forge-gui/res/cardsfolder/t/thundermare.txt b/forge-gui/res/cardsfolder/t/thundermare.txt index b169367270b..72b6c3d93ad 100644 --- a/forge-gui/res/cardsfolder/t/thundermare.txt +++ b/forge-gui/res/cardsfolder/t/thundermare.txt @@ -4,5 +4,5 @@ Types:Creature Elemental Horse PT:5/5 K:Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTapAll | TriggerDescription$ When CARDNAME enters the battlefield, tap all other creatures. -SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.Other +SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.StrictlyOther Oracle:Haste (This creature can attack and {T} as soon as it comes under your control.)\nWhen Thundermare enters the battlefield, tap all other creatures. diff --git a/forge-gui/res/cardsfolder/t/timbermare.txt b/forge-gui/res/cardsfolder/t/timbermare.txt index 80d36ad0fd6..aa97f846733 100644 --- a/forge-gui/res/cardsfolder/t/timbermare.txt +++ b/forge-gui/res/cardsfolder/t/timbermare.txt @@ -5,6 +5,5 @@ PT:5/5 K:Haste K:Echo:5 G T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTapAll | TriggerDescription$ When CARDNAME enters the battlefield, tap all other creatures. -SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.Other -SVar:EndOfTurnLeavePlay:True +SVar:TrigTapAll:DB$ TapAll | ValidCards$ Creature.StrictlyOther Oracle:Haste\nEcho {5}{G} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.)\nWhen Timbermare enters the battlefield, tap all other creatures. diff --git a/forge-gui/res/cardsfolder/t/tranquil_grove.txt b/forge-gui/res/cardsfolder/t/tranquil_grove.txt index dd93ca81b41..fcba472d9b6 100644 --- a/forge-gui/res/cardsfolder/t/tranquil_grove.txt +++ b/forge-gui/res/cardsfolder/t/tranquil_grove.txt @@ -1,7 +1,7 @@ Name:Tranquil Grove ManaCost:1 G Types:Enchantment -A:AB$ DestroyAll | Cost$ 1 G G | ValidCards$ Enchantment.Other | SpellDescription$ Destroy all other enchantments. +A:AB$ DestroyAll | Cost$ 1 G G | ValidCards$ Enchantment.StrictlyOther | SpellDescription$ Destroy all other enchantments. AI:RemoveDeck:Random SVar:NonStackingEffect:True Oracle:{1}{G}{G}: Destroy all other enchantments. diff --git a/forge-gui/res/cardsfolder/upcoming/corruption_of_towashi.txt b/forge-gui/res/cardsfolder/upcoming/corruption_of_towashi.txt index d8e4b25515c..1fbfcde66a9 100644 --- a/forge-gui/res/cardsfolder/upcoming/corruption_of_towashi.txt +++ b/forge-gui/res/cardsfolder/upcoming/corruption_of_towashi.txt @@ -3,8 +3,8 @@ ManaCost:4 U Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigIncubate | TriggerDescription$ When CARDNAME enters the battlefield, incubate 4. (Create an Incubator token with four +1/+1 counters on it and "{2}: Transform this artifact." It transforms into a 0/0 Phyrexian artifact creature.) SVar:TrigIncubate:DB$ Incubate | Amount$ 4 -T:Mode$ Transformed | ValidCard$ Permanent.YouCtrl+inZoneBattlefield | Execute$ TrigDraw | TriggerZones$ Battlefield | OptionalDecider$ You | ResolvedLimit$ 1 | TriggerDescription$ Whenever a permanent you control transforms or a permanent enters the battlefield under your control transformed, you may draw a card. Do this only once each turn. -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Permanent.Transformed+YouCtrl | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | Secondary$ True | ResolvedLimit$ 1 | TriggerDescription$ Whenever a permanent you control transforms or a permanent enters the battlefield under your control transformed, you may draw a card. Do this only once each turn. +T:Mode$ Transformed | ValidCard$ Permanent.YouCtrl+inZoneBattlefield | Execute$ TrigDraw | TriggerZones$ Battlefield | OptionalDecider$ You | CheckSVar$ X | SVarCompare$ LT1 | TriggerDescription$ Whenever a permanent you control transforms or a permanent enters the battlefield under your control transformed, you may draw a card. Do this only once each turn. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Permanent.Transformed+YouCtrl | OptionalDecider$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | Secondary$ True | CheckSVar$ X | SVarCompare$ LT1 | TriggerDescription$ Whenever a permanent you control transforms or a permanent enters the battlefield under your control transformed, you may draw a card. Do this only once each turn. SVar:TrigDraw:DB$ Draw | SubAbility$ DBLog SVar:DBLog:DB$ StoreSVar | SVar$ X | Type$ Number | Expression$ 1 SVar:X:Number$0 diff --git a/forge-gui/res/cardsfolder/upcoming/doric_natures_warden_doric_owlbear_avenger.txt b/forge-gui/res/cardsfolder/upcoming/doric_natures_warden_doric_owlbear_avenger.txt index 702038b44b1..be182be26fe 100644 --- a/forge-gui/res/cardsfolder/upcoming/doric_natures_warden_doric_owlbear_avenger.txt +++ b/forge-gui/res/cardsfolder/upcoming/doric_natures_warden_doric_owlbear_avenger.txt @@ -21,7 +21,7 @@ PT:6/6 K:Vigilance K:Trample T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ When this creature transforms into CARDNAME, other legendary creatures you control get +2/+2 and gain trample until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+Legendary+YouCtrl | NumAtt$ +2 | NumDef$ +2 | KW$ Trample +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+Legendary+YouCtrl | NumAtt$ +2 | NumDef$ +2 | KW$ Trample T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ TrigTransformBis | TriggerDescription$ At the beginning of your upkeep, transform NICKNAME. SVar:TrigTransformBis:DB$ SetState | Defined$ Self | Mode$ Transform DeckNeeds:Type$Legendary diff --git a/forge-gui/res/cardsfolder/upcoming/elesh_norn_the_argent_etchings.txt b/forge-gui/res/cardsfolder/upcoming/elesh_norn_the_argent_etchings.txt index 4e84651f28d..d631fb258b0 100644 --- a/forge-gui/res/cardsfolder/upcoming/elesh_norn_the_argent_etchings.txt +++ b/forge-gui/res/cardsfolder/upcoming/elesh_norn_the_argent_etchings.txt @@ -21,7 +21,7 @@ K:Saga:3:Incubate,PumpAll,DestroyAll SVar:Incubate:DB$ Incubate | Amount$ 2 | Times$ 5 | SubAbility$ DBTransform | SpellDescription$ Incubate 2 five times, then transform all Incubator tokens you control. SVar:DBTransform:DB$ SetState | Defined$ Valid Incubator.token+YouCtrl | Mode$ Transform SVar:PumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | NumDef$ +1 | KW$ Double Strike | SpellDescription$ Creatures you control get +1/+1 and gain double strike until end of turn. -SVar:DestroyAll:DB$ DestroyAll | Cost$ SubCounter<5/LOYALTY> | ValidCards$ Permanent.nonArtifact+nonLand+nonPhyrexian+Other | SubAbility$ DBExile | SpellDescription$ Destroy all other permanents except for artifacts, lands, and Phyrexians. Exile CARDNAME, then return it to the battlefield (front face up). +SVar:DestroyAll:DB$ DestroyAll | Cost$ SubCounter<5/LOYALTY> | ValidCards$ Permanent.nonArtifact+nonLand+nonPhyrexian+StrictlyOther | SubAbility$ DBExile | SpellDescription$ Destroy all other permanents except for artifacts, lands, and Phyrexians. Exile CARDNAME, then return it to the battlefield (front face up). SVar:DBExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/w/war_screecher.txt b/forge-gui/res/cardsfolder/w/war_screecher.txt index 020691269cd..62ae232a0f1 100644 --- a/forge-gui/res/cardsfolder/w/war_screecher.txt +++ b/forge-gui/res/cardsfolder/w/war_screecher.txt @@ -3,5 +3,5 @@ ManaCost:1 W Types:Creature Bird PT:1/3 K:Flying -A:AB$ PumpAll | Cost$ 5 W T | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Other creatures you control get +1/+1 until end of turn. +A:AB$ PumpAll | Cost$ 5 W T | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ Other creatures you control get +1/+1 until end of turn. Oracle:Flying\n{5}{W}, {T}: Other creatures you control get +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/w/warcry_phoenix.txt b/forge-gui/res/cardsfolder/w/warcry_phoenix.txt index b1fb08130a3..7d15d75bdb6 100644 --- a/forge-gui/res/cardsfolder/w/warcry_phoenix.txt +++ b/forge-gui/res/cardsfolder/w/warcry_phoenix.txt @@ -4,7 +4,6 @@ Types:Creature Phoenix PT:2/2 K:Flying K:Haste -T:Mode$ AttackersDeclared | CheckSVar$ X | SVarCompare$ GE3 | Execute$ TrigReturn | NoResolvingCheck$ True | TriggerZones$ Graveyard | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, you may pay {2}{R}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking. +T:Mode$ AttackersDeclared | IsPresent$ Creature.attacking | PresentCompare$ GE3 | Execute$ TrigReturn | NoResolvingCheck$ True | TriggerZones$ Graveyard | AttackingPlayer$ You | TriggerDescription$ Whenever you attack with three or more creatures, you may pay {2}{R}. If you do, return CARDNAME from your graveyard to the battlefield tapped and attacking. SVar:TrigReturn:AB$ ChangeZone | Cost$ 2 R | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | Attacking$ True -SVar:X:Count$Valid Creature.attacking Oracle:Flying, haste\nWhenever you attack with three or more creatures, you may pay {2}{R}. If you do, return Warcry Phoenix from your graveyard to the battlefield tapped and attacking. diff --git a/forge-gui/res/cardsfolder/w/waterspout_elemental.txt b/forge-gui/res/cardsfolder/w/waterspout_elemental.txt index 2220adca3ed..e338285ae42 100644 --- a/forge-gui/res/cardsfolder/w/waterspout_elemental.txt +++ b/forge-gui/res/cardsfolder/w/waterspout_elemental.txt @@ -5,7 +5,7 @@ PT:3/4 K:Flying K:Kicker:U T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn. -SVar:TrigKicker:DB$ ChangeZoneAll | ChangeType$ Creature.Other | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBSkipTurn +SVar:TrigKicker:DB$ ChangeZoneAll | ChangeType$ Creature.StrictlyOther | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBSkipTurn SVar:DBSkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You AI:RemoveDeck:All Oracle:Kicker {U} (You may pay an additional {U} as you cast this spell.)\nFlying\nWhen Waterspout Elemental enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn. diff --git a/forge-gui/res/cardsfolder/w/wild_beastmaster.txt b/forge-gui/res/cardsfolder/w/wild_beastmaster.txt index cfc8692463f..995f2e1c65e 100644 --- a/forge-gui/res/cardsfolder/w/wild_beastmaster.txt +++ b/forge-gui/res/cardsfolder/w/wild_beastmaster.txt @@ -3,6 +3,6 @@ ManaCost:2 G Types:Creature Human Shaman PT:1/1 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, each other creature you control gets +X/+X until end of turn, where X is CARDNAME's power. -SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | NumAtt$ X | NumDef$ X +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl+StrictlyOther | NumAtt$ X | NumDef$ X SVar:X:Count$CardPower Oracle:Whenever Wild Beastmaster attacks, each other creature you control gets +X/+X until end of turn, where X is Wild Beastmaster's power. diff --git a/forge-gui/res/cardsfolder/w/worldgorger_dragon.txt b/forge-gui/res/cardsfolder/w/worldgorger_dragon.txt index 25cad847ec2..85a3493683c 100644 --- a/forge-gui/res/cardsfolder/w/worldgorger_dragon.txt +++ b/forge-gui/res/cardsfolder/w/worldgorger_dragon.txt @@ -5,7 +5,7 @@ PT:7/7 K:Flying K:Trample T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile all other permanents you control. -SVar:TrigExile:DB$ ChangeZoneAll | ChangeType$ Permanent.YouCtrl+Other | Origin$ Battlefield | Destination$ Exile +SVar:TrigExile:DB$ ChangeZoneAll | ChangeType$ Permanent.YouCtrl+StrictlyOther | Origin$ Battlefield | Destination$ Exile T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled cards to the battlefield under their owners' control. SVar:TrigReturn:DB$ ChangeZoneAll | ChangeType$ Card.ExiledWithSource | Origin$ Exile | Destination$ Battlefield AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/z/zhang_he_wei_general.txt b/forge-gui/res/cardsfolder/z/zhang_he_wei_general.txt index ecde18ae365..6ee0cc4977c 100644 --- a/forge-gui/res/cardsfolder/z/zhang_he_wei_general.txt +++ b/forge-gui/res/cardsfolder/z/zhang_he_wei_general.txt @@ -4,5 +4,5 @@ Types:Legendary Creature Human Soldier PT:4/2 K:Horsemanship T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerDescription$ Whenever CARDNAME attacks, each other creature you control gets +1/+0 until end of turn. -SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.Other+YouCtrl | NumAtt$ +1 +SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.StrictlyOther+YouCtrl | NumAtt$ +1 Oracle:Horsemanship (This creature can't be blocked except by creatures with horsemanship.)\nWhenever Zhang He, Wei General attacks, each other creature you control gets +1/+0 until end of turn. diff --git a/forge-gui/res/tokenscripts/rw_3_2_warrior_symbiotic_attack.txt b/forge-gui/res/tokenscripts/rw_3_2_warrior_symbiotic_attack.txt index 30efa043d04..a89f2ecd98c 100644 --- a/forge-gui/res/tokenscripts/rw_3_2_warrior_symbiotic_attack.txt +++ b/forge-gui/res/tokenscripts/rw_3_2_warrior_symbiotic_attack.txt @@ -3,6 +3,6 @@ ManaCost:no cost Colors:red,white Types:Creature Warrior PT:3/2 -T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Creature.attacking+token+Other | PresentCompare$ GE1 | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME and at least one other creature token attack, put a +1/+1 counter on CARDNAME. +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | IsPresent$ Creature.attacking+token+Other | NoResolvingCheck$ True | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME and at least one other creature token attack, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 Oracle:Whenever this creature and at least one other creature token attack, put a +1/+1 counter on this creature. \ No newline at end of file