diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index d82ffe69408..bbcd533ee5b 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -933,9 +933,6 @@ public class AiController { if (!sa.checkRestrictions(spellHost, player)) { return AiPlayDecision.AnotherTime; } - if (sa instanceof SpellPermanent) { - return canPlayFromEffectAI((SpellPermanent) sa, false, true); - } if (sa.usesTargeting()) { if (!sa.isTargetNumberValid() && sa.getTargetRestrictions().getNumCandidates(sa, true) == 0) { return AiPlayDecision.TargetingFailed; @@ -945,6 +942,9 @@ public class AiController { } } if (sa instanceof Spell) { + if (card.isPermanent()) { + return canPlayFromEffectAI((Spell) sa, false, true); + } if (!player.cantLoseForZeroOrLessLife() && player.canLoseLife() && ComputerUtil.getDamageForPlaying(player, sa) >= player.getLife()) { return AiPlayDecision.CurseEffects; @@ -1030,8 +1030,8 @@ public class AiController { } public CardCollection getCardsToDiscard(int min, final int max, final CardCollection validCards, final SpellAbility sa) { - if (validCards.size() < min) { - return null; + if (validCards.size() <= min) { + return validCards; //return all valid cards since they will be discarded without filtering needed } Card sourceCard = null; @@ -1275,7 +1275,7 @@ public class AiController { return AiPlayDecision.WillPlay; } - if (spell instanceof SpellPermanent) { + if (card.isPermanent()) { if (!checkETBEffects(card, spell, null)) { return AiPlayDecision.BadEtbEffects; } diff --git a/forge-ai/src/main/java/forge/ai/GameState.java b/forge-ai/src/main/java/forge/ai/GameState.java index 4939cdd9282..a0afe54be58 100644 --- a/forge-ai/src/main/java/forge/ai/GameState.java +++ b/forge-ai/src/main/java/forge/ai/GameState.java @@ -627,6 +627,7 @@ public abstract class GameState { } game.getStack().setResolving(false); + game.getStack().unfreezeStack(); // Advance to a certain phase, activating all triggered abilities if (advPhase != null) { diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index 773c2a7ebe8..783507b8ab2 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -643,6 +643,12 @@ public class PlayerControllerAi extends PlayerController { } } + if(source == null || !source.hasParam("LibraryPosition") + || AbilityUtils.calculateAmount(source.getHostCard(), source.getParam("LibraryPosition"), source) >= 0) { + //Cards going to the top of a deck are returned in reverse order. + Collections.reverse(reordered); + } + assert(reordered.size() == cards.size()); return reordered; @@ -1520,6 +1526,24 @@ public class PlayerControllerAi extends PlayerController { return SpellApiToAi.Converter.get(api).chooseCardName(player, sa, faces); } + @Override + public ICardFace chooseSingleCardFace(SpellAbility sa, List faces, String message) { + ApiType api = sa.getApi(); + if (null == api) { + throw new InvalidParameterException("SA is not api-based, this is not supported yet"); + } + return SpellApiToAi.Converter.get(api).chooseCardFace(player, sa, faces); + } + + @Override + public CardState chooseSingleCardState(SpellAbility sa, List states, String message, Map params) { + ApiType api = sa.getApi(); + if (null == api) { + throw new InvalidParameterException("SA is not api-based, this is not supported yet"); + } + return SpellApiToAi.Converter.get(api).chooseCardState(player, sa, states, params); + } + @Override public Card chooseDungeon(Player ai, List dungeonCards, String message) { // TODO: improve the conditions that define which dungeon is a viable option to choose diff --git a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java index df9b899de51..52e35f2d582 100644 --- a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java @@ -8,6 +8,7 @@ import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; import forge.game.GameEntity; import forge.game.card.Card; +import forge.game.card.CardState; import forge.game.card.CounterType; import forge.game.cost.Cost; import forge.game.mana.ManaCostBeingPaid; @@ -365,6 +366,18 @@ public abstract class SpellAbilityAi { return face == null ? "" : face.getName(); } + public ICardFace chooseCardFace(Player ai, SpellAbility sa, List faces) { + System.err.println("Warning: default (ie. inherited from base class) implementation of chooseCardFace is used for " + this.getClass().getName() + ". Consider declaring an overloaded method"); + + return Iterables.getFirst(faces, null); + } + + public CardState chooseCardState(Player ai, SpellAbility sa, List faces, Map params) { + System.err.println("Warning: default (ie. inherited from base class) implementation of chooseCardState is used for " + this.getClass().getName() + ". Consider declaring an overloaded method"); + + return Iterables.getFirst(faces, null); + } + public int chooseNumber(Player player, SpellAbility sa, int min, int max, Map params) { return max; } diff --git a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java index 6ad21e226c8..34224ae5953 100644 --- a/forge-ai/src/main/java/forge/ai/SpellApiToAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellApiToAi.java @@ -189,6 +189,7 @@ public enum SpellApiToAi { .put(ApiType.TwoPiles, TwoPilesAi.class) .put(ApiType.Unattach, CannotPlayAi.class) .put(ApiType.UnattachAll, UnattachAllAi.class) + .put(ApiType.UnlockDoor, AlwaysPlayAi.class) .put(ApiType.Untap, UntapAi.class) .put(ApiType.UntapAll, UntapAllAi.class) .put(ApiType.Venture, VentureAi.class) diff --git a/forge-core/src/main/java/forge/card/CardStateName.java b/forge-core/src/main/java/forge/card/CardStateName.java index 42005ef9c9e..fdbc8fe11f3 100644 --- a/forge-core/src/main/java/forge/card/CardStateName.java +++ b/forge-core/src/main/java/forge/card/CardStateName.java @@ -12,6 +12,7 @@ public enum CardStateName { RightSplit, Adventure, Modal, + EmptyRoom, SpecializeW, SpecializeU, SpecializeB, diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index c21debe0165..a4ddccc15c3 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -190,7 +190,12 @@ public class GameAction { // Make sure the card returns from the battlefield as the original card with two halves resetToOriginal = true; } - } else if (!zoneTo.is(ZoneType.Stack)) { + } else if (zoneTo.is(ZoneType.Battlefield) && c.isRoom()) { + if (c.getCastSA() == null) { + // need to set as empty room + c.updateRooms(); + } + } else if (!zoneTo.is(ZoneType.Stack) && !zoneTo.is(ZoneType.Battlefield)) { // For regular splits, recreate the original state unless the card is going to stack as one half resetToOriginal = true; } @@ -423,9 +428,6 @@ public class GameAction { cards = (CardCollection) c.getOwner().getController().orderMoveToZoneList(cards, zoneTo.getZoneType(), cause); } cards.set(cards.indexOf(copied), c); - if (zoneTo.is(ZoneType.Library)) { - Collections.reverse(cards); - } mergedCards = cards; if (cause != null) { // Replace sa targeting cards @@ -454,9 +456,8 @@ public class GameAction { } game.getCombat().removeFromCombat(c); } - if ((zoneFrom.is(ZoneType.Library) || zoneFrom.is(ZoneType.PlanarDeck) - || zoneFrom.is(ZoneType.SchemeDeck) || zoneFrom.is(ZoneType.AttractionDeck)) - && zoneFrom == zoneTo && position.equals(zoneFrom.size()) && position != 0) { + if (zoneFrom.getZoneType().isDeck() && zoneFrom == zoneTo + && position.equals(zoneFrom.size()) && position != 0) { position--; } if (mergedCards != null) { @@ -608,6 +609,9 @@ public class GameAction { // CR 603.6b if (toBattlefield) { zoneTo.saveLKI(copied, lastKnownInfo); + if (copied.isRoom() && copied.getCastSA() != null) { + copied.unlockRoom(copied.getCastSA().getActivatingPlayer(), copied.getCastSA().getCardStateName()); + } } // only now that the LKI preserved it diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index 786067cd1d9..9d3bf408560 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -48,7 +48,6 @@ import forge.util.Lang; import forge.util.TextUtil; import org.apache.commons.lang3.StringUtils; -import java.util.Collections; import java.util.EnumSet; import java.util.List; import java.util.Map; @@ -832,12 +831,8 @@ public final class GameActionUtil { return list; } CardCollection completeList = new CardCollection(); - PlayerCollection players = new PlayerCollection(game.getPlayers()); // CR 613.7m use APNAP - int indexAP = players.indexOf(game.getPhaseHandler().getPlayerTurn()); - if (indexAP != -1) { - Collections.rotate(players, - indexAP); - } + PlayerCollection players = game.getPlayersInTurnOrder(game.getPhaseHandler().getPlayerTurn()); for (Player p : players) { CardCollection subList = new CardCollection(); for (Card c : list) { diff --git a/forge-game/src/main/java/forge/game/ability/AbilityKey.java b/forge-game/src/main/java/forge/game/ability/AbilityKey.java index 7eda7e340bc..24faa6069b3 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityKey.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityKey.java @@ -30,6 +30,7 @@ public enum AbilityKey { Blockers("Blockers"), CanReveal("CanReveal"), Card("Card"), + CardState("CardState"), Cards("Cards"), CardsFiltered("CardsFiltered"), CardLKI("CardLKI"), 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 aa8fec0b5d5..dc0bd836ee3 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2,7 +2,6 @@ package forge.game.ability; import com.google.common.collect.*; import com.google.common.math.IntMath; - import forge.card.CardStateName; import forge.card.CardType; import forge.card.ColorSet; @@ -2509,6 +2508,19 @@ public class AbilityUtils { return doXMath(CardLists.getValidCardCount(game.getLeftGraveyardThisTurn(), validFilter, player, c, ctb), expr, c, ctb); } + // Count$UnlockedDoors + if (sq[0].startsWith("UnlockedDoors")) { + final String[] workingCopy = l[0].split(" ", 2); + final String validFilter = workingCopy[1]; + + int unlocked = 0; + for (Card doorCard : CardLists.getValidCards(player.getCardsIn(ZoneType.Battlefield), validFilter, player, c, ctb)) { + unlocked += doorCard.getUnlockedRooms().size(); + } + + return doXMath(unlocked, expr, c, ctb); + } + // Manapool if (sq[0].startsWith("ManaPool")) { final String color = l[0].split(":")[1]; diff --git a/forge-game/src/main/java/forge/game/ability/ApiType.java b/forge-game/src/main/java/forge/game/ability/ApiType.java index 0ba67421827..0475b035cac 100644 --- a/forge-game/src/main/java/forge/game/ability/ApiType.java +++ b/forge-game/src/main/java/forge/game/ability/ApiType.java @@ -194,6 +194,7 @@ public enum ApiType { TwoPiles (TwoPilesEffect.class), Unattach (UnattachEffect.class), UnattachAll (UnattachAllEffect.class), + UnlockDoor (UnlockDoorEffect.class), Untap (UntapEffect.class), UntapAll (UntapAllEffect.class), Venture (VentureEffect.class), diff --git a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java index c47e5e547e7..a1f75d46145 100644 --- a/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -276,6 +276,7 @@ public abstract class SpellAbilityEffect { return getPlayers(definedFirst, definedParam, sa, null); } private static PlayerCollection getPlayers(final boolean definedFirst, final String definedParam, final SpellAbility sa, List resultDuplicate) { + Game game = sa.getHostCard().getGame(); PlayerCollection resultUnique = null; final boolean useTargets = sa.usesTargeting() && (!definedFirst || !sa.hasParam(definedParam)); if (useTargets) { @@ -298,10 +299,12 @@ public abstract class SpellAbilityEffect { } // try sort in APNAP order - int indexAP = resultDuplicate.indexOf(sa.getHostCard().getGame().getPhaseHandler().getPlayerTurn()); - if (indexAP != -1) { - Collections.rotate(resultDuplicate, - indexAP); + Player starter = game.getPhaseHandler().getPlayerTurn(); + if (sa.hasParam("StartingWith")) { + starter = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("StartingWith"), sa).getFirst(); } + PlayerCollection ordered = game.getPlayersInTurnOrder(starter); + resultDuplicate.sort(Comparator.comparingInt(ordered::indexOf)); return resultUnique; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index a3cb790e883..3de8a21609b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -84,22 +84,20 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { final String imprint = sa.getParam("Imprint"); final boolean random = sa.hasParam("RandomOrder"); final boolean remLKI = sa.hasParam("RememberLKI"); + final boolean movingToDeck = destination.isDeck(); final int libraryPos = sa.hasParam("LibraryPosition") ? Integer.parseInt(sa.getParam("LibraryPosition")) : 0; - if (!random && !((destination == ZoneType.Library || destination == ZoneType.PlanarDeck) && sa.hasParam("Shuffle"))) { - if ((destination == ZoneType.Library || destination == ZoneType.PlanarDeck) && cards.size() >= 2) { + if (!random && !sa.hasParam("Shuffle")) { + if (movingToDeck && cards.size() >= 2) { Player p = AbilityUtils.getDefinedPlayers(source, sa.getParam("DefinedPlayer"), sa).get(0); cards = (CardCollection) p.getController().orderMoveToZoneList(cards, destination, sa); - //the last card in this list will be the closest to the top, but we want the first card to be closest. - //so reverse it here before moving them to the library. - java.util.Collections.reverse(cards); } else { cards = (CardCollection) GameActionUtil.orderCardsByTheirOwners(game, cards, destination, sa); } } - if (destination.equals(ZoneType.Library) && random) { + if (movingToDeck && random) { CardLists.shuffle(cards); } @@ -207,6 +205,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { // CR 701.20d If an effect would cause a player to shuffle a set of objects into a library, // that library is shuffled even if there are no objects in that set. if (sa.hasParam("Shuffle")) { + //TODO: If destination zone is some other kind of deck like a planar deck, shuffle that instead. for (Player p : tgtPlayers) { p.shuffle(sa); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index f4ace0bfc4b..acaaf58d7e9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -514,15 +514,16 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } // CR 401.4 - if (destination.equals(ZoneType.Library) && !shuffle && tgtCards.size() > 1) { + if (destination.isDeck() && !shuffle && tgtCards.size() > 1) { if (sa.hasParam("RandomOrder")) { final CardCollection random = new CardCollection(tgtCards); CardLists.shuffle(random); tgtCards = random; - } else if (sa.hasParam("Chooser")) { - tgtCards = chooser.getController().orderMoveToZoneList(tgtCards, destination, sa); } else { - tgtCards = GameActionUtil.orderCardsByTheirOwners(game, tgtCards, destination, sa); + if (sa.hasParam("Chooser")) + tgtCards = chooser.getController().orderMoveToZoneList(tgtCards, destination, sa); + else + tgtCards = GameActionUtil.orderCardsByTheirOwners(game, tgtCards, destination, sa); } } @@ -717,7 +718,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { handleExiledWith(gameCard, sa); } - movedCard = game.getAction().moveTo(destination, gameCard, sa, moveParams); + movedCard = game.getAction().moveTo(destination, gameCard, libraryPosition, sa, moveParams); if (destination.equals(ZoneType.Exile) && lastStateBattlefield.contains(gameCard) && hostCard.equals(gameCard)) { // support Parallax Wave returning itself diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index 2f3d6699fe2..e2a33f1ff63 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -144,6 +144,7 @@ public class CloneEffect extends SpellAbilityEffect { final long ts = game.getNextTimestamp(); tgtCard.addCloneState(CardFactory.getCloneStates(cardToCopy, tgtCard, sa), ts); + tgtCard.updateRooms(); // set ETB tapped of clone if (sa.hasParam("IntoPlayTapped")) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java index ba569b713c0..4a191e49719 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CounterEffect.java @@ -273,6 +273,7 @@ public class CounterEffect extends SpellAbilityEffect { // card is no longer cast c.setCastSA(null); c.setCastFrom(null); + c.forceTurnFaceUp(); if (tgtSA instanceof SpellPermanent) { c.setController(srcSA.getActivatingPlayer(), 0); movedCard = game.getAction().moveToPlay(c, srcSA.getActivatingPlayer(), srcSA, params); diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index a5884ba720c..40380e1e6ec 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -372,7 +372,7 @@ public class DigEffect extends SpellAbilityEffect { Map moveParams = AbilityKey.newMap(); AbilityKey.addCardZoneTableParams(moveParams, zoneMovements); - if (destZone1.equals(ZoneType.Library) || destZone1.equals(ZoneType.PlanarDeck) || destZone1.equals(ZoneType.SchemeDeck)) { + if (destZone1.isDeck()) { c = game.getAction().moveTo(destZone1, c, libraryPosition, sa, AbilityKey.newMap()); } else { if (destZone1.equals(ZoneType.Exile) && !c.canExiledBy(sa, true)) { @@ -445,8 +445,7 @@ public class DigEffect extends SpellAbilityEffect { if (!rest.isEmpty() && (!sa.hasParam("DestZone2Optional") || p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPutCardToZone", destZone2.getTranslatedName()), null))) { - if (destZone2 == ZoneType.Library || destZone2 == ZoneType.PlanarDeck - || destZone2 == ZoneType.SchemeDeck || destZone2 == ZoneType.Graveyard) { + if (destZone2.isDeck() || destZone2 == ZoneType.Graveyard) { CardCollection afterOrder = rest; if (sa.hasParam("RestRandomOrder")) { CardLists.shuffle(afterOrder); @@ -457,10 +456,6 @@ public class DigEffect extends SpellAbilityEffect { afterOrder = (CardCollection) chooser.getController().orderMoveToZoneList(rest, destZone2, sa); } } - if (libraryPosition2 != -1) { - // Closest to top - Collections.reverse(afterOrder); - } for (final Card c : afterOrder) { Map moveParams = AbilityKey.newMap(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigMultipleEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigMultipleEffect.java index 86c9dd80dd8..2f41746a575 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigMultipleEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigMultipleEffect.java @@ -120,7 +120,7 @@ public class DigMultipleEffect extends SpellAbilityEffect { final PlayerZone zone = c.getOwner().getZone(destZone1); if (!sa.hasParam("ChangeLater")) { - if (zone.is(ZoneType.Library) || zone.is(ZoneType.PlanarDeck) || zone.is(ZoneType.SchemeDeck)) { + if (zone.getZoneType().isDeck()) { c = game.getAction().moveTo(destZone1, c, libraryPosition, sa, AbilityKey.newMap()); } else { if (destZone1.equals(ZoneType.Battlefield)) { @@ -153,8 +153,7 @@ public class DigMultipleEffect extends SpellAbilityEffect { // now, move the rest to destZone2 if (!sa.hasParam("ChangeLater")) { - if (destZone2 == ZoneType.Library || destZone2 == ZoneType.PlanarDeck - || destZone2 == ZoneType.SchemeDeck || destZone2 == ZoneType.Graveyard) { + if (destZone2.isDeck() || destZone2 == ZoneType.Graveyard) { CardCollection afterOrder = rest; if (sa.hasParam("RestRandomOrder")) { CardLists.shuffle(afterOrder); 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 d60f505ddd6..3cb876f83a3 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 @@ -321,6 +321,7 @@ public class PlayEffect extends SpellAbilityEffect { if (sa.hasParam("CastFaceDown")) { // For Illusionary Mask effect tgtSA = CardFactoryUtil.abilityCastFaceDown(tgtCard.getCurrentState(), false, "Morph"); + tgtSA.setCastFromPlayEffect(true); } else { tgtSA = controller.getController().getAbilityToPlay(tgtCard, sas); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java index 1c55d999a89..6cc4d00456d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java @@ -103,11 +103,9 @@ public class RearrangeTopOfLibraryEffect extends SpellAbilityEffect { } CardCollection topCards = player.getTopXCardsFromLibrary(numCards); - int maxCards = topCards.size(); CardCollectionView orderedCards = activator.getController().orderMoveToZoneList(topCards, ZoneType.Library, sa); - for (int i = maxCards - 1; i >= 0; i--) { - Card next = orderedCards.get(i); + for (Card next : orderedCards) { player.getGame().getAction().moveToLibrary(next, 0, sa); } if (mayshuffle && activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantShuffleTheLibrary"), null)) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java index ffd17743cdd..4ab1ab560b5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ReorderZoneEffect.java @@ -5,6 +5,7 @@ import java.util.List; import forge.game.ability.SpellAbilityEffect; import forge.game.card.CardCollection; +import forge.game.card.CardCollectionView; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; @@ -36,7 +37,8 @@ public class ReorderZoneEffect extends SpellAbilityEffect { Collections.shuffle(list, MyRandom.getRandom()); p.getZone(zone).setCards(list); } else { - p.getController().orderMoveToZoneList(list, zone, sa); + CardCollectionView orderedCards = p.getController().orderMoveToZoneList(list, zone, sa); + p.getZone(zone).setCards(orderedCards); } } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java index cb5bf90227a..6bb5f8aa94a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java @@ -56,8 +56,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { } else { zone.add(ZoneType.Battlefield); } - repeatCards = CardLists.getValidCards(game.getCardsIn(zone), - sa.getParam("RepeatCards"), source.getController(), source, sa); + repeatCards = CardLists.getValidCards(game.getCardsIn(zone), sa.getParam("RepeatCards"), source.getController(), source, sa); } else if (sa.hasParam(("RepeatSpellAbilities"))) { repeatSas = Lists.newArrayList(); @@ -167,18 +166,13 @@ public class RepeatEachEffect extends SpellAbilityEffect { } if (sa.hasParam("RepeatPlayers")) { - final FCollection repeatPlayers = AbilityUtils.getDefinedPlayers(source, sa.getParam("RepeatPlayers"), sa); + final FCollection repeatPlayers = getDefinedPlayersOrTargeted(sa, "RepeatPlayers"); if (sa.hasParam("ClearRememberedBeforeLoop")) { source.clearRemembered(); } boolean optional = sa.hasParam("RepeatOptionalForEachPlayer"); boolean nextTurn = sa.hasParam("NextTurnForEachPlayer"); - if (sa.hasParam("StartingWithActivator")) { - int aidx = repeatPlayers.indexOf(activator); - if (aidx != -1) { - Collections.rotate(repeatPlayers, -aidx); - } - } + for (final Player p : repeatPlayers) { if (optional && !p.getController().confirmAction(repeat, null, sa.getParam("RepeatOptionalMessage"), null)) { continue; diff --git a/forge-game/src/main/java/forge/game/ability/effects/UnlockDoorEffect.java b/forge-game/src/main/java/forge/game/ability/effects/UnlockDoorEffect.java new file mode 100644 index 00000000000..7ab3831e2bb --- /dev/null +++ b/forge-game/src/main/java/forge/game/ability/effects/UnlockDoorEffect.java @@ -0,0 +1,106 @@ +package forge.game.ability.effects; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; + +import forge.card.CardStateName; +import forge.game.Game; +import forge.game.ability.SpellAbilityEffect; +import forge.game.card.Card; +import forge.game.card.CardCollection; +import forge.game.card.CardLists; +import forge.game.card.CardState; +import forge.game.player.Player; +import forge.game.spellability.SpellAbility; +import forge.game.zone.ZoneType; +import forge.util.Localizer; + +public class UnlockDoorEffect extends SpellAbilityEffect { + + @Override + public void resolve(SpellAbility sa) { + final Card source = sa.getHostCard(); + final Game game = source.getGame(); + final Player activator = sa.getActivatingPlayer(); + + CardCollection list; + + if (sa.hasParam("Choices")) { + Player chooser = activator; + String title = sa.hasParam("ChoiceTitle") ? sa.getParam("ChoiceTitle") : Localizer.getInstance().getMessage("lblChoose") + " "; + + CardCollection choices = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), sa.getParam("Choices"), activator, source, sa); + + Card c = chooser.getController().chooseSingleEntityForEffect(choices, sa, title, Maps.newHashMap()); + if (c == null) { + return; + } + list = new CardCollection(c); + } else { + list = getTargetCards(sa); + } + + for (Card c : list) { + Map params = Maps.newHashMap(); + params.put("Object", c); + switch (sa.getParamOrDefault("Mode", "ThisDoor")) { + case "ThisDoor": + c.unlockRoom(activator, sa.getCardStateName()); + break; + case "Unlock": + List states = c.getLockedRooms().stream().map(stateName -> c.getState(stateName)).collect(Collectors.toList()); + + // need to choose Room Name + CardState chosen = activator.getController().chooseSingleCardState(sa, states, "Choose Room to unlock", params); + if (chosen == null) { + continue; + } + c.unlockRoom(activator, chosen.getStateName()); + break; + case "LockOrUnlock": + switch (c.getLockedRooms().size()) { + case 0: + // no locked, all unlocked, can only lock door + List unlockStates = c.getUnlockedRooms().stream().map(stateName -> c.getState(stateName)).collect(Collectors.toList()); + CardState chosenUnlock = activator.getController().chooseSingleCardState(sa, unlockStates, "Choose Room to lock", params); + if (chosenUnlock == null) { + continue; + } + c.lockRoom(activator, chosenUnlock.getStateName()); + break; + case 1: + // TODO check for Lock vs Unlock first? + List bothStates = Lists.newArrayList(); + bothStates.add(c.getState(CardStateName.LeftSplit)); + bothStates.add(c.getState(CardStateName.RightSplit)); + CardState chosenBoth = activator.getController().chooseSingleCardState(sa, bothStates, "Choose Room to lock or unlock", params); + if (chosenBoth == null) { + continue; + } + if (c.getLockedRooms().contains(chosenBoth.getStateName())) { + c.unlockRoom(activator, chosenBoth.getStateName()); + } else { + c.lockRoom(activator, chosenBoth.getStateName()); + } + break; + case 2: + List lockStates = c.getLockedRooms().stream().map(stateName -> c.getState(stateName)).collect(Collectors.toList()); + + // need to choose Room Name + CardState chosenLock = activator.getController().chooseSingleCardState(sa, lockStates, "Choose Room to unlock", params); + if (chosenLock == null) { + continue; + } + c.unlockRoom(activator, chosenLock.getStateName()); + break; + } + break; + } + } + } + +} 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 a9820427a4b..c85c844f17f 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -213,6 +213,9 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr private boolean plotted; + private Set unlockedRooms = EnumSet.noneOf(CardStateName.class); + private Map unlockAbilities = Maps.newEnumMap(CardStateName.class); + private boolean specialized; private int timesCrewedThisTurn = 0; @@ -442,6 +445,9 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr if (state == CardStateName.FaceDown) { return getFaceDownState(); } + if (state == CardStateName.EmptyRoom) { + return getEmptyRoomState(); + } CardCloneStates clStates = getLastClonedState(); if (clStates == null) { return getOriginalState(state); @@ -450,7 +456,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } public boolean hasState(final CardStateName state) { - if (state == CardStateName.FaceDown) { + if (state == CardStateName.FaceDown || state == CardStateName.EmptyRoom) { return true; } CardCloneStates clStates = getLastClonedState(); @@ -464,6 +470,9 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr if (state == CardStateName.FaceDown) { return getFaceDownState(); } + if (state == CardStateName.EmptyRoom) { + return getEmptyRoomState(); + } return states.get(state); } @@ -490,7 +499,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr boolean needsTransformAnimation = transform || rollback; // faceDown has higher priority over clone states // while text change states doesn't apply while the card is faceDown - if (state != CardStateName.FaceDown) { + if (state != CardStateName.FaceDown && state != CardStateName.EmptyRoom) { CardCloneStates cloneStates = getLastClonedState(); if (cloneStates != null) { if (!cloneStates.containsKey(state)) { @@ -794,6 +803,10 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr return setState(CardStateName.FaceDown, false); } + public void forceTurnFaceUp() { + turnFaceUp(false, null); + } + public boolean turnFaceUp(SpellAbility cause) { return turnFaceUp(true, cause); } @@ -928,6 +941,10 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr return alt ? StaticData.instance().getCommonCards().getName(name, true) : name; } + public final boolean hasNameOverwrite() { + return changedCardNames.values().stream().anyMatch(CardChangedName::isOverwrite); + } + public final boolean hasNonLegendaryCreatureNames() { boolean result = false; for (CardChangedName change : this.changedCardNames.values()) { @@ -1039,7 +1056,12 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } public final boolean isSplitCard() { - return getRules() != null && getRules().getSplitType() == CardSplitType.Split; + // Normal Split Cards, these need to return true before Split States are added + if (getRules() != null && getRules().getSplitType() == CardSplitType.Split) { + return true; + }; + // in case or clones or copies + return hasState(CardStateName.LeftSplit); } public final boolean isAdventureCard() { @@ -1964,7 +1986,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr public final Integer getChosenNumber() { return chosenNumber; } - + public final void setChosenNumber(final int i) { setChosenNumber(i, false); } public final void setChosenNumber(final int i, final boolean secret) { chosenNumber = i; @@ -2480,8 +2502,9 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr sbLong.append(" (").append(inst.getReminderText()).append(")"); } else if (keyword.equals("Gift")) { sbLong.append(keyword); - if (inst.getHostCard() != null && inst.getHostCard().getFirstSpellAbility().hasAdditionalAbility("GiftAbility")) { - sbLong.append(" ").append(inst.getHostCard().getFirstSpellAbility().getAdditionalAbility("GiftAbility").getParam("GiftDescription")); + Trigger trig = inst.getTriggers().stream().findFirst().orElse(null); + if (trig != null && trig.getCardState().getFirstSpellAbility().hasAdditionalAbility("GiftAbility")) { + sbLong.append(" ").append(trig.getCardState().getFirstSpellAbility().getAdditionalAbility("GiftAbility").getParam("GiftDescription")); } sbLong.append("\r\n"); } else if (keyword.startsWith("Starting intensity")) { @@ -3119,7 +3142,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } else if (keyword.startsWith("Entwine") || keyword.startsWith("Madness") || keyword.startsWith("Miracle") || keyword.startsWith("Recover") || keyword.startsWith("Escape") || keyword.startsWith("Foretell:") - || keyword.startsWith("Disturb") || keyword.startsWith("Overload") + || keyword.startsWith("Disturb") || keyword.startsWith("Overload") || keyword.startsWith("Plot")) { final String[] k = keyword.split(":"); final Cost cost = new Cost(k[1], false); @@ -4083,13 +4106,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr if (Iterables.isEmpty(changedCardTypes)) { return state.getType(); } - // CR 506.4 attacked planeswalkers leave combat - boolean checkCombat = state.getType().isPlaneswalker() && game.getCombat() != null && !game.getCombat().getAttackersOf(this).isEmpty(); - CardTypeView types = state.getType().getTypeWithChanges(changedCardTypes); - if (checkCombat && !types.isPlaneswalker()) { - game.getCombat().removeFromCombat(this); - } - return types; + return state.getType().getTypeWithChanges(changedCardTypes); } public final CardTypeView getOriginalType() { @@ -5573,6 +5590,8 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr public final boolean isOutlaw() { return getType().isOutlaw(); } + public final boolean isRoom() { return getType().hasSubtype("Room"); } + /** {@inheritDoc} */ @Override public final int compareTo(final Card that) { @@ -5983,9 +6002,21 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr boolean shares = getName(true).equals(name); // Split cards has extra logic to check if it does share a name with - if (isSplitCard()) { - shares |= name.equals(getState(CardStateName.LeftSplit).getName()); - shares |= name.equals(getState(CardStateName.RightSplit).getName()); + if (!shares && !hasNameOverwrite()) { + if (isInPlay()) { + // split cards in play are only rooms + for (String door : getUnlockedRoomNames()) { + shares |= name.equals(door); + } + } else { // not on the battlefield + if (hasState(CardStateName.LeftSplit)) { + shares |= name.equals(getState(CardStateName.LeftSplit).getName()); + } + if (hasState(CardStateName.RightSplit)) { + shares |= name.equals(getState(CardStateName.RightSplit).getName()); + } + } + // TODO does it need extra check for stack? } if (!shares && hasNonLegendaryCreatureNames()) { @@ -6633,7 +6664,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr if (plotted == true && !isLKI()) { final Map runParams = AbilityKey.mapFromCard(this); game.getTriggerHandler().runTrigger(TriggerType.BecomesPlotted, runParams, false); - } + } return true; } @@ -7472,6 +7503,15 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } } + if (isInPlay() && !isPhasedOut() && player.canCastSorcery()) { + if (getCurrentStateName() == CardStateName.RightSplit || getCurrentStateName() == CardStateName.EmptyRoom) { + abilities.add(getUnlockAbility(CardStateName.LeftSplit)); + } + if (getCurrentStateName() == CardStateName.LeftSplit || getCurrentStateName() == CardStateName.EmptyRoom) { + abilities.add(getUnlockAbility(CardStateName.RightSplit)); + } + } + if (isInPlay() && isFaceDown() && oState.getType().isCreature() && oState.getManaCost() != null && !oState.getManaCost().isNoCost()) { if (isManifested()) { @@ -7711,12 +7751,6 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } } - public void forceTurnFaceUp() { - getGame().getTriggerHandler().suppressMode(TriggerType.TurnFaceUp); - turnFaceUp(false, null); - getGame().getTriggerHandler().clearSuppression(TriggerType.TurnFaceUp); - } - public final void addGoad(Long timestamp, final Player p) { goad.put(timestamp, p); updateAbilityTextForView(); @@ -8079,4 +8113,107 @@ public class Card extends GameEntity implements Comparable, IHasSVars, ITr } return StaticAbilityWitherDamage.isWitherDamage(this); } + + public Set getUnlockedRooms() { + return this.unlockedRooms; + } + public void setUnlockedRooms(Set set) { + this.unlockedRooms = set; + } + + public List getUnlockedRoomNames() { + List result = Lists.newArrayList(); + for (CardStateName stateName : unlockedRooms) { + if (this.hasState(stateName)) { + result.add(this.getState(stateName).getName()); + } + } + return result; + } + + public Set getLockedRooms() { + Set result = Sets.newHashSet(CardStateName.LeftSplit, CardStateName.RightSplit); + result.removeAll(this.unlockedRooms); + return result; + } + + public List getLockedRoomNames() { + List result = Lists.newArrayList(); + for (CardStateName stateName : getLockedRooms()) { + if (this.hasState(stateName)) { + result.add(this.getState(stateName).getName()); + } + } + return result; + } + + public boolean unlockRoom(Player p, CardStateName stateName) { + if (unlockedRooms.contains(stateName) || (stateName != CardStateName.LeftSplit && stateName != CardStateName.RightSplit)) { + return false; + } + unlockedRooms.add(stateName); + + updateRooms(); + + Map unlockParams = AbilityKey.mapFromPlayer(p); + unlockParams.put(AbilityKey.Card, this); + unlockParams.put(AbilityKey.CardState, getState(stateName)); + getGame().getTriggerHandler().runTrigger(TriggerType.UnlockDoor, unlockParams, true); + + // fully unlock + if (unlockedRooms.size() > 1) { + Map fullyUnlockParams = AbilityKey.mapFromPlayer(p); + fullyUnlockParams.put(AbilityKey.Card, this); + + getGame().getTriggerHandler().runTrigger(TriggerType.FullyUnlock, fullyUnlockParams, true); + } + + return true; + } + + public boolean lockRoom(Player p, CardStateName stateName) { + if (!unlockedRooms.contains(stateName) || (stateName != CardStateName.LeftSplit && stateName != CardStateName.RightSplit)) { + return false; + } + unlockedRooms.remove(stateName); + + updateRooms(); + + return true; + } + + public void updateRooms() { + if (!this.isRoom()) { + return; + } + if (this.isFaceDown()) { + return; + } + if (unlockedRooms.isEmpty()) { + this.setState(CardStateName.EmptyRoom, true); + } else if (unlockedRooms.size() > 1) { + this.setState(CardStateName.Original, true); + } else { // we already know the set is only one + for (CardStateName name : unlockedRooms) { + this.setState(name, true); + } + } + // update trigger after state change + getGame().getTriggerHandler().clearActiveTriggers(this, null); + getGame().getTriggerHandler().registerActiveTrigger(this, false); + } + + public CardState getEmptyRoomState() { + if (!states.containsKey(CardStateName.EmptyRoom)) { + states.put(CardStateName.EmptyRoom, CardUtil.getEmptyRoomCharacteristic(this)); + } + return states.get(CardStateName.EmptyRoom); + } + + public SpellAbility getUnlockAbility(CardStateName state) { + if (!unlockAbilities.containsKey(state)) { + unlockAbilities.put(state, CardFactoryUtil.abilityUnlockRoom(getState(state))); + } + return unlockAbilities.get(state); + } } diff --git a/forge-game/src/main/java/forge/game/card/CardFactory.java b/forge-game/src/main/java/forge/game/card/CardFactory.java index 18805e07482..98dea674746 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactory.java +++ b/forge-game/src/main/java/forge/game/card/CardFactory.java @@ -33,6 +33,7 @@ import forge.game.cost.Cost; import forge.game.keyword.Keyword; import forge.game.keyword.KeywordInterface; import forge.game.player.Player; +import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementHandler; import forge.game.spellability.*; import forge.game.staticability.StaticAbility; @@ -261,6 +262,21 @@ public class CardFactory { final CardState original = card.getState(CardStateName.Original); original.addNonManaAbilities(card.getCurrentState().getNonManaAbilities()); original.addIntrinsicKeywords(card.getCurrentState().getIntrinsicKeywords()); // Copy 'Fuse' to original side + for (Trigger t : card.getCurrentState().getTriggers()) { + if (t.isIntrinsic()) { + original.addTrigger(t.copy(card, false)); + } + } + for (StaticAbility st : card.getCurrentState().getStaticAbilities()) { + if (st.isIntrinsic()) { + original.addStaticAbility(st.copy(card, false)); + } + } + for (ReplacementEffect re : card.getCurrentState().getReplacementEffects()) { + if (re.isIntrinsic()) { + original.addReplacementEffect(re.copy(card, false)); + } + } original.getSVars().putAll(card.getCurrentState().getSVars()); // Unfortunately need to copy these to (Effect looks for sVars on execute) } else if (state != CardStateName.Original) { CardFactoryUtil.setupKeywordedAbilities(card); @@ -418,7 +434,11 @@ public class CardFactory { c.setAttractionLights(face.getAttractionLights()); // SpellPermanent only for Original State - if (c.getCurrentStateName() == CardStateName.Original || c.getCurrentStateName() == CardStateName.Modal || c.getCurrentStateName().toString().startsWith("Specialize")) { + if (c.getCurrentStateName() == CardStateName.Original || + c.getCurrentStateName() == CardStateName.LeftSplit || + c.getCurrentStateName() == CardStateName.RightSplit || + c.getCurrentStateName() == CardStateName.Modal || + c.getCurrentStateName().toString().startsWith("Specialize")) { if (c.isLand()) { SpellAbility sa = new LandAbility(c); sa.setCardState(c.getCurrentState()); 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 5b2d1e20644..b428c3cefdf 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -118,6 +118,12 @@ public class CardFactoryUtil { return morphDown; } + public static SpellAbility abilityUnlockRoom(CardState cardState) { + String unlockStr = "ST$ UnlockDoor | Cost$ " + cardState.getManaCost().getShortString() + " | Unlock$ True | SpellDescription$ Unlock " + cardState.getName(); + + return AbilityFactory.getAbility(unlockStr, cardState); + } + /** *

* abilityMorphUp. diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 63fcf7ca964..5fa994d8b17 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1133,10 +1133,6 @@ public class CardProperty { if (!card.isFirstTurnControlled()) { return false; } - } else if (property.startsWith("notFirstTurnControlled")) { - if (card.isFirstTurnControlled()) { - return false; - } } else if (property.startsWith("startedTheTurnUntapped")) { if (!card.hasStartedTheTurnUntapped()) { return false; diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 97fc376e0fc..4a879613d5c 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -216,6 +216,24 @@ public final class CardUtil { return ret; } + public static CardState getEmptyRoomCharacteristic(Card c) { + return getEmptyRoomCharacteristic(c, CardStateName.EmptyRoom); + } + public static CardState getEmptyRoomCharacteristic(Card c, CardStateName state) { + final CardType type = new CardType(false); + type.add("Enchantment"); + type.add("Room"); + final CardState ret = new CardState(c, state); + + ret.setName(""); + ret.setType(type); + + // find new image key for empty room + ret.setImageKey(c.getImageKey()); + + return ret; + } + // a nice entry point with minimum parameters public static Set getReflectableManaColors(final SpellAbility sa) { return getReflectableManaColors(sa, sa, Sets.newHashSet(), new CardCollection()); diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 682402225e0..e647716fe6d 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -1,6 +1,7 @@ package forge.game.card; import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; import com.google.common.collect.Sets; import forge.ImageKeys; import forge.StaticData; @@ -40,6 +41,14 @@ public class CardView extends GameEntityView { return s == null ? null : s.getView(); } + public static Map getStateMap(Iterable states) { + Map stateViewCache = Maps.newLinkedHashMap(); + for (CardState state : states) { + stateViewCache.put(state.getView(), state); + } + return stateViewCache; + } + public CardView getBackup() { if (get(TrackableProperty.PaperCardBackup) == null) return null; @@ -795,7 +804,7 @@ public class CardView extends GameEntityView { sb.append(getOwner().getCommanderInfo(this)).append("\r\n"); } - if (isSplitCard() && !isFaceDown() && getZone() != ZoneType.Stack) { + if (isSplitCard() && !isFaceDown() && getZone() != ZoneType.Stack && getZone() != ZoneType.Battlefield) { sb.append("(").append(getLeftSplitState().getName()).append(") "); sb.append(getLeftSplitState().getAbilityText()); sb.append("\r\n\r\n").append("(").append(getRightSplitState().getName()).append(") "); @@ -1183,6 +1192,11 @@ public class CardView extends GameEntityView { return StringUtils.EMPTY; } + @Override + public int hashCode() { + return Objects.hash(getId(), state); + } + @Override public String toString() { return (getName() + " (" + getDisplayId() + ")").trim(); diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index 43a58c2526c..f9bf3575f30 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -632,7 +632,7 @@ public class Combat { } public final boolean removeAbsentCombatants() { - // iterate all attackers and remove illegal declarations + // CR 506.4 iterate all attackers and remove illegal declarations CardCollection missingCombatants = new CardCollection(); for (Entry ee : attackedByBands.entries()) { for (Card c : ee.getValue().getAttackers()) { @@ -640,6 +640,12 @@ public class Combat { missingCombatants.add(c); } } + if (ee.getKey() instanceof Card) { + Card c = (Card) ee.getKey(); + if (!c.isBattle() && !c.isPlaneswalker()) { + missingCombatants.add(c); + } + } } for (Entry be : blockedBands.entries()) { diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index 6e8b31f405d..8ee3eca82ce 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -71,7 +71,7 @@ public class PhaseHandler implements java.io.Serializable { private int nUpkeepsThisTurn = 0; private int nUpkeepsThisGame = 0; private int nCombatsThisTurn = 0; - private int nMain2sThisTurn = 0; + private int nMainsThisTurn = 0; private int planarDiceSpecialActionThisTurn = 0; private transient Player playerTurn = null; @@ -266,23 +266,26 @@ public class PhaseHandler implements java.io.Serializable { break; case MAIN1: - { - if (playerTurn.isArchenemy()) { - playerTurn.setSchemeInMotion(null); - } - GameEntityCounterTable table = new GameEntityCounterTable(); - // all Sagas get a Lore counter at the beginning of pre combat - for (Card c : playerTurn.getCardsIn(ZoneType.Battlefield)) { - if (c.isSaga()) { - c.addCounter(CounterEnumType.LORE, 1, playerTurn, table); - } - } - // roll for attractions if we have any - if (playerTurn.getCardsIn(ZoneType.Battlefield).anyMatch(CardPredicates.ATTRACTIONS)) { - playerTurn.rollToVisitAttractions(); - } - table.replaceCounterEffect(game, null, false); + nMainsThisTurn++; + + if (playerTurn.isArchenemy()) { + playerTurn.setSchemeInMotion(null); } + + GameEntityCounterTable table = new GameEntityCounterTable(); + // all Sagas get a Lore counter at the beginning of pre combat + for (Card c : playerTurn.getCardsIn(ZoneType.Battlefield)) { + if (c.isSaga()) { + c.addCounter(CounterEnumType.LORE, 1, playerTurn, table); + } + } + table.replaceCounterEffect(game, null, false); + + // roll for attractions if we have any + if (playerTurn.getCardsIn(ZoneType.Battlefield).anyMatch(CardPredicates.ATTRACTIONS)) { + playerTurn.rollToVisitAttractions(); + } + break; case COMBAT_BEGIN: @@ -343,6 +346,7 @@ public class PhaseHandler implements java.io.Serializable { break; case MAIN2: + nMainsThisTurn++; //SDisplayUtil.showTab(EDocID.REPORT_STACK.getDoc()); break; @@ -362,9 +366,9 @@ public class PhaseHandler implements java.io.Serializable { int numDiscard = playerTurn.isUnlimitedHandSize() || handSize <= max || handSize == 0 ? 0 : handSize - max; if (numDiscard > 0) { - final CardZoneTable table = new CardZoneTable(game.getLastStateBattlefield(), game.getLastStateGraveyard()); + final CardZoneTable zoneMovements = new CardZoneTable(game.getLastStateBattlefield(), game.getLastStateGraveyard()); Map moveParams = AbilityKey.newMap(); - AbilityKey.addCardZoneTableParams(moveParams, table); + AbilityKey.addCardZoneTableParams(moveParams, zoneMovements); final CardCollection discarded = new CardCollection(); List discardedBefore = Lists.newArrayList(playerTurn.getDiscardedThisTurn()); @@ -374,7 +378,7 @@ public class PhaseHandler implements java.io.Serializable { discarded.add(moved); } } - table.triggerChangesZoneAll(game, null); + zoneMovements.triggerChangesZoneAll(game, null); if (!discarded.isEmpty()) { final Map runParams = AbilityKey.mapFromPlayer(playerTurn); @@ -402,7 +406,7 @@ public class PhaseHandler implements java.io.Serializable { nUpkeepsThisTurn = 0; nCombatsThisTurn = 0; - nMain2sThisTurn = 0; + nMainsThisTurn = 0; game.getStack().resetMaxDistinctSources(); // Rule 514.3 @@ -487,10 +491,6 @@ public class PhaseHandler implements java.io.Serializable { } break; - case MAIN2: - nMain2sThisTurn++; - break; - case CLEANUP: if (!bRepeatCleanup) { // only call onCleanupPhase when Cleanup is not repeated @@ -975,8 +975,12 @@ public class PhaseHandler implements java.io.Serializable { return is(PhaseType.UPKEEP) && nUpkeepsThisGame == 0; } + public final int getNumMain() { + return nMainsThisTurn; + } + public final boolean beforeFirstPostCombatMainEnd() { - return nMain2sThisTurn == 0; + return nMainsThisTurn <= (is(PhaseType.MAIN2) ? 2 : 1); } public final boolean skippedDeclareBlockers() { diff --git a/forge-game/src/main/java/forge/game/phase/PhaseType.java b/forge-game/src/main/java/forge/game/phase/PhaseType.java index 1ea712e25a2..2a397e07528 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseType.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseType.java @@ -116,6 +116,9 @@ public enum PhaseType { String sTo = s.substring(idxArrow + 2); PhaseType to = StringUtils.isBlank(sTo) ? PhaseType.CLEANUP : PhaseType.smartValueOf(sTo); result.addAll(EnumSet.range(from, to)); + } else if (s.equals("Main")) { + result.add(MAIN1); + result.add(MAIN2); } else { result.add(PhaseType.smartValueOf(s)); } diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 8729ca9071f..66cf19d01f3 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -62,6 +62,8 @@ import org.apache.commons.lang3.tuple.Pair; import java.util.*; import java.util.Map.Entry; import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; /** *

@@ -298,7 +300,7 @@ public class Player extends GameEntity implements Comparable { * Should keep player relations somewhere in the match structure */ public final PlayerCollection getOpponents() { - return game.getPlayers().filter(PlayerPredicates.isOpponentOf(this)); + return game.getPlayersInTurnOrder(this).filter(PlayerPredicates.isOpponentOf(this)); } public final PlayerCollection getRegisteredOpponents() { @@ -3951,4 +3953,12 @@ public class Player extends GameEntity implements Comparable { Map.Entry e = declaresBlockers.lastEntry(); return e == null ? null : e.getValue(); } + + public List getUnlockedDoors() { + return StreamSupport.stream(getCardsIn(ZoneType.Battlefield).spliterator(), false) + .filter(Card::isRoom) + .map(Card::getUnlockedRoomNames) + .flatMap(Collection::stream) + .collect(Collectors.toList()); + } } diff --git a/forge-game/src/main/java/forge/game/player/PlayerController.java b/forge-game/src/main/java/forge/game/player/PlayerController.java index a8211374e20..18c368cb3e5 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerController.java +++ b/forge-game/src/main/java/forge/game/player/PlayerController.java @@ -173,6 +173,13 @@ public abstract class PlayerController { public abstract ImmutablePair arrangeForSurveil(CardCollection topN); public abstract boolean willPutCardOnTop(Card c); + + /** + * Prompts the player to choose the order for cards being moved into a zone. + * The cards will be returned in the order that they should be moved, one at a time, + * to the given zone and position. Be aware that when moving cards to the top of a + * deck, this will be the reverse of the order they will ultimately end up in. + */ public abstract CardCollectionView orderMoveToZoneList(CardCollectionView cards, ZoneType destinationZone, SpellAbility source); /** p = target player, validCards - possible discards, min cards to discard */ @@ -236,6 +243,8 @@ public abstract class PlayerController { public abstract byte chooseColorAllowColorless(String message, Card c, ColorSet colors); public abstract ICardFace chooseSingleCardFace(SpellAbility sa, String message, Predicate cpp, String name); + public abstract ICardFace chooseSingleCardFace(SpellAbility sa, List faces, String message); + public abstract CardState chooseSingleCardState(SpellAbility sa, List states, String message, Map params); public abstract List chooseColors(String message, SpellAbility sa, int min, int max, List options); public abstract CounterType chooseCounterType(List options, SpellAbility sa, String prompt, Map params); diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index a997896f732..d3a92b42ed5 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -583,7 +583,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit public ApiType getApi() { return api; } - public void setApi(ApiType apiType) { api = apiType; } diff --git a/forge-game/src/main/java/forge/game/trigger/Trigger.java b/forge-game/src/main/java/forge/game/trigger/Trigger.java index 9ab6ac9d7f1..409ac3d7a94 100644 --- a/forge-game/src/main/java/forge/game/trigger/Trigger.java +++ b/forge-game/src/main/java/forge/game/trigger/Trigger.java @@ -239,6 +239,10 @@ public abstract class Trigger extends TriggerReplacementBase { if (!validPhases.contains(phaseHandler.getPhase())) { return false; } + // add support for calculation if needed + if (hasParam("PhaseCount") && phaseHandler.getNumMain() + 1 != 2) { + return false; + } } if (hasParam("PlayerTurn")) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java index c940e25f161..82503e54189 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java @@ -38,7 +38,6 @@ import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; import forge.game.spellability.TargetChoices; -import forge.game.zone.ZoneType; import forge.util.Expressions; import forge.util.Localizer; import forge.util.collect.FCollection; @@ -229,23 +228,6 @@ public class TriggerSpellAbilityCastOrCopy extends Trigger { } } - if (hasParam("SharesNameWithActivatorsZone")) { - String zones = getParam("SharesNameWithActivatorsZone"); - if (si == null) { - return false; - } - boolean sameNameFound = false; - for (Card c: si.getSpellAbility().getActivatingPlayer().getCardsIn(ZoneType.listValueOf(zones))) { - if (cast.getName().equals(c.getName())) { - sameNameFound = true; - break; - } - } - if (!sameNameFound) { - return false; - } - } - if (hasParam("NoColoredMana")) { for (Mana m : spellAbility.getPayingMana()) { if (!m.isColorless()) { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerType.java b/forge-game/src/main/java/forge/game/trigger/TriggerType.java index 2db1f4c9d77..0ec832a4277 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerType.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerType.java @@ -144,6 +144,7 @@ public enum TriggerType { TurnBegin(TriggerTurnBegin.class), TurnFaceUp(TriggerTurnFaceUp.class), Unattach(TriggerUnattach.class), + UnlockDoor(TriggerUnlockDoor.class), UntapAll(TriggerUntapAll.class), Untaps(TriggerUntaps.class), VisitAttraction(TriggerVisitAttraction.class), diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerUnlockDoor.java b/forge-game/src/main/java/forge/game/trigger/TriggerUnlockDoor.java new file mode 100644 index 00000000000..9aa90973b91 --- /dev/null +++ b/forge-game/src/main/java/forge/game/trigger/TriggerUnlockDoor.java @@ -0,0 +1,55 @@ +package forge.game.trigger; + +import java.util.Map; + +import forge.game.ability.AbilityKey; +import forge.game.card.Card; +import forge.game.card.CardState; +import forge.game.spellability.SpellAbility; +import forge.util.Localizer; + +public class TriggerUnlockDoor extends Trigger { + + public TriggerUnlockDoor(final Map params, final Card host, final boolean intrinsic) { + super(params, host, intrinsic); + } + + @Override + public boolean performTest(Map runParams) { + if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Card))) { + return false; + } + + if (!matchesValidParam("ValidPlayer", runParams.get(AbilityKey.Player))) { + return false; + } + + if (hasParam("ThisDoor")) { + CardState state = (CardState) runParams.get(AbilityKey.CardState); + // This Card + if (!getHostCard().equals(state.getCard())) { + return false; + } + // This Face + if (!getCardStateName().equals(state.getStateName())) { + return false; + } + } + + return true; + } + + @Override + public void setTriggeringObjects(SpellAbility sa, Map runParams) { + sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card, AbilityKey.Player); + } + + @Override + public String getImportantStackObjects(SpellAbility sa) { + StringBuilder sb = new StringBuilder(); + sb.append(Localizer.getInstance().getMessage("lblPlayer")).append(": ").append(sa.getTriggeringObject(AbilityKey.Player)); + sb.append(", ").append(Localizer.getInstance().getMessage("lblCard")).append(": ").append(sa.getTriggeringObject(AbilityKey.Card)); + return sb.toString(); + } + +} diff --git a/forge-game/src/main/java/forge/game/zone/ZoneType.java b/forge-game/src/main/java/forge/game/zone/ZoneType.java index 0bc0ec14a1a..fc44fb3315b 100644 --- a/forge-game/src/main/java/forge/game/zone/ZoneType.java +++ b/forge-game/src/main/java/forge/game/zone/ZoneType.java @@ -3,7 +3,7 @@ package forge.game.zone; import forge.util.Localizer; import java.util.ArrayList; -import java.util.Arrays; +import java.util.EnumSet; import java.util.List; /** @@ -30,8 +30,9 @@ public enum ZoneType { ExtraHand(true, "lblHandZone"), None(true, "lblNoneZone"); - public static final List STATIC_ABILITIES_SOURCE_ZONES = Arrays.asList(Battlefield, Graveyard, Exile, Command, Stack/*, Hand*/); - public static final List PART_OF_COMMAND_ZONE = Arrays.asList(Command, SchemeDeck, PlanarDeck, AttractionDeck, Junkyard); + public static final EnumSet STATIC_ABILITIES_SOURCE_ZONES = EnumSet.of(Battlefield, Graveyard, Exile, Command, Stack/*, Hand*/); + public static final EnumSet PART_OF_COMMAND_ZONE = EnumSet.of(Command, SchemeDeck, PlanarDeck, AttractionDeck, Junkyard); + public static final EnumSet DECK_ZONES = EnumSet.of(Library, SchemeDeck, PlanarDeck, AttractionDeck); private final boolean holdsHiddenInfo; private final String zoneName; @@ -79,6 +80,14 @@ public enum ZoneType { return PART_OF_COMMAND_ZONE.contains(this); } + /** + * Indicates that this zone behaves as a deck - an ordered pile of face down cards + * such as the Library or Planar Deck. + */ + public boolean isDeck() { + return DECK_ZONES.contains(this); + } + public String getTranslatedName() { return zoneName; } diff --git a/forge-game/src/main/java/forge/trackable/TrackableObject.java b/forge-game/src/main/java/forge/trackable/TrackableObject.java index 280fe24d3d0..ac5d2729102 100644 --- a/forge-game/src/main/java/forge/trackable/TrackableObject.java +++ b/forge-game/src/main/java/forge/trackable/TrackableObject.java @@ -47,7 +47,7 @@ public abstract class TrackableObject implements IIdentifiable, Serializable { @Override public final boolean equals(final Object o) { if (o == null) { return false; } - return o.hashCode() == id && o.getClass().equals(getClass()); + return o.hashCode() == hashCode() && o.getClass().equals(getClass()); } // don't know if this is really needed, but don't know a better way diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java index 3bc4ecd7831..87fa9628d2e 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java @@ -198,7 +198,7 @@ public class CardDetailPanel extends SkinnedPanel { nameCost = name; } else { final String manaCost; - if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && card.getZone() != ZoneType.Stack) { //only display current state's mana cost when on stack + if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && card.getZone() != ZoneType.Stack && card.getZone() != ZoneType.Battlefield) { //only display current state's mana cost when on stack manaCost = card.getLeftSplitState().getManaCost() + " // " + card.getAlternateState().getManaCost(); } else { manaCost = state.getManaCost().toString(); diff --git a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FCardImageRenderer.java b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FCardImageRenderer.java index 5186889f9dc..4a3f911309b 100644 --- a/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FCardImageRenderer.java +++ b/forge-gui-desktop/src/main/java/forge/toolbox/imaging/FCardImageRenderer.java @@ -23,6 +23,7 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; import forge.card.CardRarity; +import forge.card.CardStateName; import forge.card.mana.ManaCost; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; @@ -748,8 +749,11 @@ public class FCardImageRenderer { //draw type x += padding; w -= padding; - String typeLine = CardDetailUtil.formatCardType(state, true).replace(" - ", " — "); - drawVerticallyCenteredString(g, typeLine, new Rectangle(x, y, w, h), TYPE_FONT, TYPE_SIZE); + // check for shared type line + if (!state.getType().hasStringType("Room") || state.getState() != CardStateName.RightSplit) { + String typeLine = CardDetailUtil.formatCardType(state, true).replace(" - ", " — "); + drawVerticallyCenteredString(g, typeLine, new Rectangle(x, y, w, h), TYPE_FONT, TYPE_SIZE); + } } /** diff --git a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java index 1adec86dd36..ebd255203b8 100644 --- a/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui-desktop/src/main/java/forge/view/arcane/CardPanel.java @@ -479,12 +479,15 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl private void displayIconOverlay(final Graphics g, final boolean canShow) { if (canShow && showCardManaCostOverlay() && cardWidth < 200) { - final boolean showSplitMana = card.isSplitCard(); + final boolean showSplitMana = card.isSplitCard() && card.getZone() != ZoneType.Battlefield; if (!showSplitMana) { drawManaCost(g, card.getCurrentState().getManaCost(), 0); } else { if (!card.isFaceDown()) { // no need to draw mana symbols on face down split cards (e.g. manifested) - PaperCard pc = StaticData.instance().getCommonCards().getCard(card.getName()); + PaperCard pc = null; + if (!card.getName().isEmpty()) { + pc = StaticData.instance().getCommonCards().getCard(card.getName()); + } int ofs = pc != null && Card.getCardForUi(pc).hasKeyword(Keyword.AFTERMATH) ? -12 : 12; drawManaCost(g, card.getLeftSplitState().getManaCost(), ofs); diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java index 639e4d26928..f0a021564b3 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java @@ -727,6 +727,18 @@ public class PlayerControllerForTests extends PlayerController { return null; } + @Override + public ICardFace chooseSingleCardFace(SpellAbility sa, List faces, String message) { + // TODO Auto-generated method stub + return null; + } + + @Override + public CardState chooseSingleCardState(SpellAbility sa, List states, String message, Map params) { + // TODO Auto-generated method stub + return null; + } + @Override public Card chooseDungeon(Player player, List dungeonCards, String message) { // TODO Auto-generated method stub diff --git a/forge-gui-mobile/src/forge/adventure/data/EffectData.java b/forge-gui-mobile/src/forge/adventure/data/EffectData.java index 07c028a1e58..aec2071586a 100644 --- a/forge-gui-mobile/src/forge/adventure/data/EffectData.java +++ b/forge-gui-mobile/src/forge/adventure/data/EffectData.java @@ -48,9 +48,14 @@ public class EffectData implements Serializable { if(C != null) startCards.add(C); else { - PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); - if (T != null) startCards.add(T); - else System.err.print("Can not find card \"" + name + "\"\n"); + try { + PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); + if (T != null) startCards.add(T); + else System.err.print("Can not find card/token \"" + name + "\"\n"); + } catch (Exception e) { + //if it's not found probably the item is using funny cards and the users setting disabled non legal cards + System.err.print("Can not find card/token \"" + name + "\"\n"); + } } } } @@ -65,9 +70,14 @@ public class EffectData implements Serializable { if(C != null) startCardsInCommandZone.add(C); else { - PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); - if (T != null) startCardsInCommandZone.add(T); - else System.err.print("Can not find card \"" + name + "\"\n"); + try { + PaperToken T = FModel.getMagicDb().getAllTokens().getToken(name); + if (T != null) startCardsInCommandZone.add(T); + else System.err.print("Can not find card/token \"" + name + "\"\n"); + } catch (Exception e) { + //if it's not found probably the item is using funny cards and the users setting disabled non legal cards + System.err.print("Can not find card/token \"" + name + "\"\n"); + } } } } diff --git a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java index 203f64fc054..1faa5cdf0de 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java @@ -39,7 +39,7 @@ public class SpellSmithScene extends UIScene { private List cardPool = new ArrayList<>(); private TextraLabel playerGold, playerShards, poolSize; - private final TextraButton pullUsingGold, pullUsingShards; + private final TextraButton pullUsingGold, pullUsingShards, acceptReward, declineReward, exitSmith; private final ScrollPane rewardDummy; private RewardActor rewardActor; SelectBox editionList; @@ -47,6 +47,7 @@ public class SpellSmithScene extends UIScene { final private HashMap rarityButtons = new HashMap<>(); final private HashMap costButtons = new HashMap<>(); final private HashMap colorButtons = new HashMap<>(); + //Filter variables. private String edition = ""; private String rarity = ""; @@ -57,20 +58,28 @@ public class SpellSmithScene extends UIScene { private int currentPrice = 0; private int currentShardPrice = 0; private List editions = null; + private Reward currentReward = null; + private boolean paidInShards = false; private SpellSmithScene() { super(Forge.isLandscapeMode() ? "ui/spellsmith.json" : "ui/spellsmith_portrait.json"); - editionList = ui.findActor("BSelectPlane"); rewardDummy = ui.findActor("RewardDummy"); rewardDummy.setVisible(false); - pullUsingGold = ui.findActor("pullUsingGold"); pullUsingGold.setDisabled(true); pullUsingShards = ui.findActor("pullUsingShards"); pullUsingShards.setDisabled(true); + + exitSmith = ui.findActor("done"); + + acceptReward = ui.findActor("accept"); + acceptReward.setVisible(false); + declineReward = ui.findActor("decline"); + declineReward.setVisible(false); + playerGold = Controls.newAccountingLabel(ui.findActor("playerGold"), false); playerShards = Controls.newAccountingLabel(ui.findActor("playerShards"), true); poolSize = ui.findActor("poolSize"); @@ -114,6 +123,8 @@ public class SpellSmithScene extends UIScene { } } + ui.onButtonPress("accept", SpellSmithScene.this::acceptSmithing); + ui.onButtonPress("decline", SpellSmithScene.this::declineSmithing); ui.onButtonPress("done", SpellSmithScene.this::done); ui.onButtonPress("pullUsingGold", () -> SpellSmithScene.this.pullCard(false)); ui.onButtonPress("pullUsingShards", () -> SpellSmithScene.this.pullCard(true)); @@ -122,6 +133,7 @@ public class SpellSmithScene extends UIScene { filterResults(); }); } + private void reset() { edition = ""; cost_low = -1; @@ -160,6 +172,10 @@ public class SpellSmithScene extends UIScene { } public boolean done() { + if (currentReward != null) { + acceptSmithing(); + } + if (rewardActor != null) rewardActor.remove(); cardPool.clear(); //Get rid of cardPool, filtering is fast enough to justify keeping it cached. Forge.switchToLast(); @@ -380,29 +396,74 @@ public class SpellSmithScene extends UIScene { } public void pullCard(boolean usingShards) { + paidInShards = usingShards; PaperCard P = cardPool.get(MyRandom.getRandom().nextInt(cardPool.size())); //Don't use the standard RNG. - Reward R = null; + currentReward = null; if (Config.instance().getSettingData().useAllCardVariants) { if (!edition.isEmpty()) { - R = new Reward(CardUtil.getCardByNameAndEdition(P.getCardName(), edition)); + currentReward = new Reward(CardUtil.getCardByNameAndEdition(P.getCardName(), edition)); } else { - R = new Reward(CardUtil.getCardByName(P.getCardName())); // grab any random variant if no set preference is specified + currentReward = new Reward(CardUtil.getCardByName(P.getCardName())); // grab any random variant if no set preference is specified } } else { - R = new Reward(P); + currentReward = new Reward(P); } - Current.player().addReward(R); - if (usingShards) { + if (rewardActor != null) rewardActor.remove(); + rewardActor = new RewardActor(currentReward, true, null, true); + rewardActor.flip(); //Make it flip so it draws visual attention, why not. + rewardActor.setBounds(rewardDummy.getX(), rewardDummy.getY(), rewardDummy.getWidth(), rewardDummy.getHeight()); + stage.addActor(rewardActor); + + acceptReward.setVisible(true); + declineReward.setVisible(true); + exitSmith.setDisabled(true); + disablePullButtons(); + } + + private void acceptSmithing() { + if (paidInShards) { Current.player().takeShards(currentShardPrice); } else { Current.player().takeGold(currentPrice); } - if (Current.player().getGold() < currentPrice) pullUsingGold.setDisabled(true); - if (Current.player().getShards() < currentShardPrice) pullUsingShards.setDisabled(true); + + Current.player().addReward(currentReward); + + clearReward(); + updatePullButtons(); + } + + private void declineSmithing() { + // Decline the smith reward for 10% of original price + float priceAdjustment = .10f; + if (paidInShards) { + Current.player().takeShards((int)(currentShardPrice * priceAdjustment)); + } else { + Current.player().takeGold((int)(currentPrice * priceAdjustment)); + } + + clearReward(); + updatePullButtons(); + } + + private void clearReward() { if (rewardActor != null) rewardActor.remove(); - rewardActor = new RewardActor(R, true, null, true); - rewardActor.flip(); //Make it flip so it draws visual attention, why not. - rewardActor.setBounds(rewardDummy.getX(), rewardDummy.getY(), rewardDummy.getWidth(), rewardDummy.getHeight()); - stage.addActor(rewardActor); + currentReward = null; + } + + + private void updatePullButtons() { + pullUsingGold.setDisabled(Current.player().getGold() < currentPrice); + pullUsingShards.setDisabled(Current.player().getShards() < currentShardPrice); + + acceptReward.setVisible(false); + declineReward.setVisible(false); + + exitSmith.setDisabled(false); + } + + private void disablePullButtons() { + pullUsingGold.setDisabled(true); + pullUsingShards.setDisabled(true); } } diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index b76cefdc408..faaa7a3ecb4 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -277,7 +277,7 @@ public class CardImageRenderer { if (!noText && state != null) { //draw mana cost for card ManaCost mainManaCost = state.getManaCost(); - if (card.isSplitCard() && card.getAlternateState() != null) { + if (card.isSplitCard() && card.getAlternateState() != null && !card.isFaceDown() && card.getZone() != ZoneType.Stack && card.getZone() != ZoneType.Battlefield) { //handle rendering both parts of split card mainManaCost = card.getLeftSplitState().getManaCost(); ManaCost otherManaCost = card.getRightSplitState().getManaCost(); @@ -1112,7 +1112,7 @@ public class CardImageRenderer { float manaCostWidth = 0; if (canShow) { ManaCost mainManaCost = state.getManaCost(); - if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && card.getZone() != ZoneType.Stack) { //only display current state's mana cost when on stack + if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && card.getZone() != ZoneType.Stack && card.getZone() != ZoneType.Battlefield) { //only display current state's mana cost when on stack //handle rendering both parts of split card mainManaCost = card.getLeftSplitState().getManaCost(); ManaCost otherManaCost = card.getAlternateState().getManaCost(); diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index 8be14341a78..83fb9310633 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -37,6 +37,7 @@ import forge.assets.FRotatedImage; import forge.assets.FSkin; import forge.assets.FSkinColor; import forge.assets.FSkinFont; +import forge.assets.FSkinImageInterface; import forge.assets.FTextureRegionImage; import forge.assets.ImageCache; import forge.card.CardZoom.ActivateHandler; @@ -93,13 +94,22 @@ public class CardRenderer { } } + private static float calcSymbolSize(FSkinProp skinProp) { + if (skinProp == null) + return 0f; + FSkinImageInterface image = FSkin.getImages().get(skinProp); + if (image == null) + return 0f; + return image.getNearestHQWidth(2 * (NAME_FONT.getCapHeight() - MANA_COST_PADDING)); + } + private static final FSkinFont NAME_FONT = FSkinFont.get(16); public static final float NAME_BOX_TINT = 0.2f; public static final float TEXT_BOX_TINT = 0.1f; public static final float PT_BOX_TINT = 0.2f; private static final float MANA_COST_PADDING = Utils.scale(3); public static final float SET_BOX_MARGIN = Utils.scale(1); - public static final float MANA_SYMBOL_SIZE = FSkin.getImages().get(FSkinProp.IMG_MANA_1).getNearestHQWidth(2 * (NAME_FONT.getCapHeight() - MANA_COST_PADDING)); + public static final float MANA_SYMBOL_SIZE = calcSymbolSize(FSkinProp.IMG_MANA_1); private static final float NAME_COST_THRESHOLD = Utils.scale(200); private static final float BORDER_THICKNESS = Utils.scale(1); public static final float PADDING_MULTIPLIER = 0.021f; @@ -842,19 +852,17 @@ public class CardRenderer { } if (showCardManaCostOverlay(card)) { float manaSymbolSize = w / 4.5f; - if (card.isSplitCard() && card.hasAlternateState()) { - if (!card.isFaceDown()) { // no need to draw mana symbols on face down split cards (e.g. manifested) - if (isChoiceList) { - if (card.getRightSplitState().getName().equals(details.getName())) - drawManaCost(g, card.getRightSplitState().getManaCost(), x - padding, y, w + 2 * padding, h, manaSymbolSize); - else - drawManaCost(g, card.getLeftSplitState().getManaCost(), x - padding, y, w + 2 * padding, h, manaSymbolSize); - } else { - ManaCost leftManaCost = card.getLeftSplitState().getManaCost(); - ManaCost rightManaCost = card.getRightSplitState().getManaCost(); - drawManaCost(g, leftManaCost, x - padding, y-(manaSymbolSize/1.5f), w + 2 * padding, h, manaSymbolSize); - drawManaCost(g, rightManaCost, x - padding, y+(manaSymbolSize/1.5f), w + 2 * padding, h, manaSymbolSize); - } + if (card.isSplitCard() && card.hasAlternateState() && !card.isFaceDown() && card.getZone() != ZoneType.Stack && card.getZone() != ZoneType.Battlefield) { + if (isChoiceList) { + if (card.getRightSplitState().getName().equals(details.getName())) + drawManaCost(g, card.getRightSplitState().getManaCost(), x - padding, y, w + 2 * padding, h, manaSymbolSize); + else + drawManaCost(g, card.getLeftSplitState().getManaCost(), x - padding, y, w + 2 * padding, h, manaSymbolSize); + } else { + ManaCost leftManaCost = card.getLeftSplitState().getManaCost(); + ManaCost rightManaCost = card.getRightSplitState().getManaCost(); + drawManaCost(g, leftManaCost, x - padding, y-(manaSymbolSize/1.5f), w + 2 * padding, h, manaSymbolSize); + drawManaCost(g, rightManaCost, x - padding, y+(manaSymbolSize/1.5f), w + 2 * padding, h, manaSymbolSize); } } else { drawManaCost(g, showAltState ? card.getAlternateState().getManaCost() : card.getCurrentState().getManaCost(), x - padding, y, w + 2 * padding, h, manaSymbolSize); diff --git a/forge-gui/res/adventure/common/custom_cards/farmers_tools.txt b/forge-gui/res/adventure/common/custom_cards/farmers_tools.txt index c8a9df1e3c1..f7b586d5cbd 100644 --- a/forge-gui/res/adventure/common/custom_cards/farmers_tools.txt +++ b/forge-gui/res/adventure/common/custom_cards/farmers_tools.txt @@ -1,7 +1,7 @@ Name:Farmer's Tools ManaCost:no cost Types:Artifact -A:AB$ RepeatEach | Cost$ PayShards<2> | ActivationZone$ Command | RepeatSubAbility$ DBChangeZone | RepeatPlayers$ Player | SubAbility$ Eject | StartingWithActivator$ True | SpellDescription$ Starting with you, each player may put a land card from their hand onto the battlefield. Exile Farmer's Tools. +A:AB$ RepeatEach | Cost$ PayShards<2> | ActivationZone$ Command | RepeatSubAbility$ DBChangeZone | RepeatPlayers$ Player | SubAbility$ Eject | StartingWith$ You | SpellDescription$ Starting with you, each player may put a land card from their hand onto the battlefield. Exile Farmer's Tools. SVar:DBChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land.RememberedPlayerCtrl | DefinedPlayer$ Player.IsRemembered | Chooser$ Player.IsRemembered | ChangeNum$ 1 | Hidden$ True SVar:Eject:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile Oracle:{M}{M}: Starting with you, each player may put a land card from their hand onto the battlefield. Exile Farmer's Tools. diff --git a/forge-gui/res/adventure/common/maps/map/aerie/aerie_0.tmx b/forge-gui/res/adventure/common/maps/map/aerie/aerie_0.tmx index 08fba40b1ad..e8279474efd 100644 --- a/forge-gui/res/adventure/common/maps/map/aerie/aerie_0.tmx +++ b/forge-gui/res/adventure/common/maps/map/aerie/aerie_0.tmx @@ -67,7 +67,7 @@ "options": [ { "name": "Am I allowed to enter the aerie ?", - "text": "I'm afraid to say to you that you are not allowed to do that. Our guild is very protective of it's breeding practices, which have been developed over a span of more than thousands of years. Because of that, we don't want our competitors peeking into our business. If anyone without permission enters the aerie, that person will be repremanded by the various guards and even the birds, who have been trained to attack unwanted intruders.'", + "text": "I'm afraid to say to you that you are not allowed to do that. Our guild is very protective of it's breeding practices, which have been developed over a span of more than thousands of years. Because of that, we don't want our competitors peeking into our business. If anyone without permission enters the aerie, that person will be reprimanded by the various guards and even the birds, who have been trained to attack unwanted intruders.'", "options": [ { "name": "Thanks for the information, goodbye", diff --git a/forge-gui/res/adventure/common/ui/spellsmith.json b/forge-gui/res/adventure/common/ui/spellsmith.json index f831865f5fa..dc1e9f19aa7 100644 --- a/forge-gui/res/adventure/common/ui/spellsmith.json +++ b/forge-gui/res/adventure/common/ui/spellsmith.json @@ -169,12 +169,34 @@ "y": 5, "width": 90, "height": 20 + }, + { + "type": "TextButton", + "selectable": true, + "name": "accept", + "text": "tr(lblTake)", + "binding": "Use", + "x": 343, + "y": 173, + "width": 60, + "height": 20 + }, + { + "type": "TextButton", + "selectable": true, + "name": "decline", + "text": "tr(lblRefund)", + "binding": "Back", + "x": 405, + "y": 173, + "width": 60, + "height": 20 }, { "type": "Label", "name": "poolSize", "x": 360, - "y": 180, + "y": 192, "width": 90, "height": 20 }, diff --git a/forge-gui/res/adventure/common/ui/spellsmith_portrait.json b/forge-gui/res/adventure/common/ui/spellsmith_portrait.json index 47855ffcecf..89d252edc75 100644 --- a/forge-gui/res/adventure/common/ui/spellsmith_portrait.json +++ b/forge-gui/res/adventure/common/ui/spellsmith_portrait.json @@ -174,12 +174,34 @@ "y": 75, "width": 90, "height": 20 + }, + { + "type": "TextButton", + "selectable": true, + "name": "accept", + "text": "tr(lblTake)", + "binding": "Use", + "x": 2, + "y": 142, + "width": 60, + "height": 20 + }, + { + "type": "TextButton", + "selectable": true, + "name": "decline", + "text": "tr(lblRefund)", + "binding": "Back", + "x": 70, + "y": 142, + "width": 60, + "height": 20 }, { "type": "Label", "name": "poolSize", "x": 16, - "y": 150, + "y": 163, "width": 97, "height": 20 }, diff --git a/forge-gui/res/cardsfolder/a/abstruse_appropriation.txt b/forge-gui/res/cardsfolder/a/abstruse_appropriation.txt index 248b9e1535a..0dc20d03aae 100644 --- a/forge-gui/res/cardsfolder/a/abstruse_appropriation.txt +++ b/forge-gui/res/cardsfolder/a/abstruse_appropriation.txt @@ -4,7 +4,7 @@ Types:Instant K:Devoid A:SP$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand | RememberChanged$ True | TgtPromt$ Select target nonland permanent | SubAbility$ DBEffect | SpellDescription$ Exile target nonland permanent. SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ MayPlay,ManaConvert | SubAbility$ DBCleanup | Duration$ Permanent | ForgetOnMoved$ Exile | SpellDescription$ You may cast that card for as long as it remains exiled, and you may spend colorless mana as though it were mana of any color to cast that spell. -SVar:MayPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ You may cast that card for as long as it remains exiled +SVar:MayPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Exile | Description$ You may cast that card for as long as it remains exiled. SVar:ManaConvert:Mode$ ManaConvert | ValidPlayer$ You | ValidCard$ Card.IsRemembered | ValidSA$ Spell.MayPlaySource | ManaConversion$ C->AnyColor | AffectedZone$ Exile | Description$ You may spend colorless mana as though it were mana of any color to cast that spell. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True Oracle:Devoid\nExile target nonland permanent. You may cast that card for as long as it remains exiled, and you may spend colorless mana as though it were mana of any color to cast that spell. diff --git a/forge-gui/res/cardsfolder/a/aether_searcher.txt b/forge-gui/res/cardsfolder/a/aether_searcher.txt index cad608dbb8a..04bbbf04bd4 100644 --- a/forge-gui/res/cardsfolder/a/aether_searcher.txt +++ b/forge-gui/res/cardsfolder/a/aether_searcher.txt @@ -6,10 +6,10 @@ Draft:Reveal CARDNAME as you draft it. Draft:Reveal the next card you draft and note its name. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSearchHand | TriggerDescription$ When CARDNAME enters, you may search your hand and/or library for a card with a name noted as you drafted cards named Aether Searcher. You may cast it without paying its mana cost. If you searched your library this way, shuffle. SVar:TrigSearchHand:DB$ ChangeZone | Origin$ Hand | Destination$ Hand | ChangeType$ Card.NotedNameAetherSearcher | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ TrigBranch -# Branch to casting the found spell +# Branch to cast that card from hand SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ EQ1 | TrueSubAbility$ CastFromHand | FalseSubAbility$ SearchLibrary SVar:CastFromHand:DB$ Play | ValidZone$ Hand | Valid$ Card.IsRemembered | Controller$ You | WithoutManaCost$ True | Optional$ True | SubAbility$ DBCleanup -# Or search the library +# Branch to search the library and cast that card SVar:SearchLibrary:DB$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Card.NotedNameAetherSearcher | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ CastFromLibrary SVar:CastFromLibrary:DB$ Play | ValidZone$ Library | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Valid$ Card.IsRemembered | Controller$ You | WithoutManaCost$ True | Optional$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt b/forge-gui/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt index fac0da9d041..296e97d00b2 100644 --- a/forge-gui/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt +++ b/forge-gui/res/cardsfolder/a/afflicted_deserter_werewolf_ransacker.txt @@ -14,7 +14,7 @@ ManaCost:no cost Colors:red Types:Creature Werewolf PT:5/4 -T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigDestroy | OptionalDecider$ You | TriggerDescription$ Whenever this creature transforms into CARDNAME, you may destroy target artifact. If that artifact is put into a graveyard this way, CARDNAME deals 3 damage to that artifact's controller +T:Mode$ Transformed | ValidCard$ Card.Self | Execute$ TrigDestroy | OptionalDecider$ You | TriggerDescription$ Whenever this creature transforms into CARDNAME, you may destroy target artifact. If that artifact is put into a graveyard this way, CARDNAME deals 3 damage to that artifact's controller. SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact. | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ DBDamage SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | NumDmg$ 3 | SubAbility$ DBCleanup | ConditionCheckSVar$ IsDestroyed | ConditionSVarCompare$ GE1 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/a/agency_outfitter.txt b/forge-gui/res/cardsfolder/a/agency_outfitter.txt index dd054968eff..08ae6a4c2ef 100644 --- a/forge-gui/res/cardsfolder/a/agency_outfitter.txt +++ b/forge-gui/res/cardsfolder/a/agency_outfitter.txt @@ -5,6 +5,6 @@ PT:4/3 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigSearch | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters, you may search your graveyard, hand, and/or library for a card named Magnifying Glass and/or a card named Thinking Cap and put them onto the battlefield. If you search your library this way, shuffle. SVar:TrigSearch:DB$ ChangeZone | OriginAlternative$ Graveyard,Hand | Hidden$ True | Origin$ Library | Destination$ Battlefield | DifferentNames$ True | ChangeType$ Card.namedMagnifying Glass,Card.namedThinking Cap | ChangeNum$ 2 | ShuffleNonMandatory$ True -DeckHas:Ability$Artifact|Equipment +DeckHas:Ability$Graveyard DeckHints:Name$Thinking Cap|Magnifying Glass Oracle:Flying\nWhen Agency Outfitter enters, you may search your graveyard, hand, and/or library for a card named Magnifying Glass and/or a card named Thinking Cap and put them onto the battlefield. If you search your library this way, shuffle. diff --git a/forge-gui/res/cardsfolder/a/aggressive_instinct.txt b/forge-gui/res/cardsfolder/a/aggressive_instinct.txt index f0d3cd231de..1f4562bb81e 100644 --- a/forge-gui/res/cardsfolder/a/aggressive_instinct.txt +++ b/forge-gui/res/cardsfolder/a/aggressive_instinct.txt @@ -1,7 +1,7 @@ Name:Aggressive Instinct ManaCost:1 G Types:Sorcery -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control. SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you don't control | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower Oracle:Target creature you control deals damage equal to its power to target creature you don't control. diff --git a/forge-gui/res/cardsfolder/a/aid_the_fallen.txt b/forge-gui/res/cardsfolder/a/aid_the_fallen.txt index a476f84fb1d..6f4b6a55378 100644 --- a/forge-gui/res/cardsfolder/a/aid_the_fallen.txt +++ b/forge-gui/res/cardsfolder/a/aid_the_fallen.txt @@ -2,6 +2,6 @@ Name:Aid the Fallen ManaCost:1 B Types:Sorcery A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ 2 | Choices$ DBCreature,DBPlaneswalker -SVar:DBCreature:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature in your graveyard | SpellDescription$ Return target creature card from your graveyard to your hand -SVar:DBPlaneswalker:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Planeswalker.YouCtrl | TgtPrompt$ Select target planeswalker in your graveyard | SpellDescription$ Return target planeswalker card from your graveyard to your hand +SVar:DBCreature:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature in your graveyard | SpellDescription$ Return target creature card from your graveyard to your hand. +SVar:DBPlaneswalker:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Planeswalker.YouCtrl | TgtPrompt$ Select target planeswalker in your graveyard | SpellDescription$ Return target planeswalker card from your graveyard to your hand. Oracle:Choose one or both —\n• Return target creature card from your graveyard to your hand.\n• Return target planeswalker card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt b/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt index 5ac9a1e4e4e..5278f8f020a 100644 --- a/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt +++ b/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt @@ -17,7 +17,7 @@ ALTERNATE Name:Wild Goose Chase ManaCost:U G Types:Instant Adventure -A:SP$ Draw | Defined$ You | NumCards$ 2 | SubAbility$ TrigDiscard | SpellDescription$ Draw two cards, then discard two cards +A:SP$ Draw | Defined$ You | NumCards$ 2 | SubAbility$ TrigDiscard | SpellDescription$ Draw two cards, then discard two cards. SVar:TrigDiscard:DB$ Discard | Defined$ You | NumCards$ 2 | Mode$ TgtChoose | SubAbility$ DBToken SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_food_sac | TokenOwner$ You | SpellDescription$ Create a Food token. Oracle:Draw two cards, then discard two cards. Create a Food token. diff --git a/forge-gui/res/cardsfolder/a/all_will_be_one.txt b/forge-gui/res/cardsfolder/a/all_will_be_one.txt index ead9e205ec6..55f8ab8d425 100644 --- a/forge-gui/res/cardsfolder/a/all_will_be_one.txt +++ b/forge-gui/res/cardsfolder/a/all_will_be_one.txt @@ -1,7 +1,7 @@ Name:All Will Be One ManaCost:3 R R Types:Enchantment -T:Mode$ CounterPlayerAddedAll | ValidObject$ Permanent.inRealZoneBattlefield,Player | TriggerZones$ Battlefield | ValidSource$ You | Execute$ TrigDamage | TriggerDescription$ Whenever you put one or more counters on a permanent or player, CARDNAME deals that much damage to target opponent, creature an opponent controls, or planeswalker an opponent controls +T:Mode$ CounterPlayerAddedAll | ValidObject$ Permanent.inRealZoneBattlefield,Player | TriggerZones$ Battlefield | ValidSource$ You | Execute$ TrigDamage | TriggerDescription$ Whenever you put one or more counters on a permanent or player, CARDNAME deals that much damage to target opponent, creature an opponent controls, or planeswalker an opponent controls. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl,Planeswalker.OppCtrl,Opponent | TgtPrompt$ Select target opponent, creature an opponent controls, or planeswalker an opponent controls. | NumDmg$ X SVar:X:TriggerCount$Amount DeckNeeds:Ability$Counters diff --git a/forge-gui/res/cardsfolder/a/alliance_of_arms.txt b/forge-gui/res/cardsfolder/a/alliance_of_arms.txt index 4f080fc6977..62eb062936d 100644 --- a/forge-gui/res/cardsfolder/a/alliance_of_arms.txt +++ b/forge-gui/res/cardsfolder/a/alliance_of_arms.txt @@ -1,7 +1,7 @@ Name:Alliance of Arms ManaCost:W Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBToken | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player creates X 1/1 white Soldier creature tokens, where X is the total amount of mana paid this way. +A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBPay | SubAbility$ DBToken | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player creates X 1/1 white Soldier creature tokens, where X is the total amount of mana paid this way. SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.Y | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn SVar:DBToken:DB$ Token | TokenAmount$ JoinForcesAmount | TokenScript$ w_1_1_soldier | TokenOwner$ Player | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt b/forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt index afe2ec35392..fe75a4210c0 100644 --- a/forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt +++ b/forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt @@ -9,7 +9,7 @@ SVar:Z:SVar$X/Plus.Y T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseCardType | TriggerDescription$ At the beginning of your end step, choose a card type, then reveal the top two cards of your library. Put all cards of the chosen type revealed this way into your hand and the rest on the bottom of your library in any order. SVar:TrigChooseCardType:DB$ ChooseType | Defined$ You | Type$ Card | SubAbility$ DBDig SVar:DBDig:DB$ Dig | DigNum$ 2 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card.ChosenType | DestinationZone2$ Library | LibraryPosition$ -1 -DeckHints:Ability$Foretell +DeckHints:Keyword$Foretell AI:RemoveDeck:All AlternateMode:Modal Oracle:Alrund gets +1/+1 for each card in your hand and each foretold card you own in exile.\nAt the beginning of your end step, choose a card type, then reveal the top two cards of your library. Put all cards of the chosen type revealed this way into your hand and the rest on the bottom of your library in any order. diff --git a/forge-gui/res/cardsfolder/a/altar_of_shadows.txt b/forge-gui/res/cardsfolder/a/altar_of_shadows.txt index 7cc2c47d255..20ebec34a9e 100644 --- a/forge-gui/res/cardsfolder/a/altar_of_shadows.txt +++ b/forge-gui/res/cardsfolder/a/altar_of_shadows.txt @@ -1,9 +1,9 @@ Name:Altar of Shadows ManaCost:7 Types:Artifact -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, add {B} for each charge counter on CARDNAME. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your first main phase, add {B} for each charge counter on CARDNAME. SVar:TrigGetMana:DB$ Mana | Produced$ B | Amount$ X | SpellDescription$ Add {B} for each charge counter on CARDNAME. A:AB$ Destroy | Cost$ 7 T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBPutCounter | SpellDescription$ Destroy target creature. Then put a charge counter on CARDNAME. SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 SVar:X:Count$CardCounters.CHARGE -Oracle:At the beginning of your precombat main phase, add {B} for each charge counter on Altar of Shadows.\n{7}, {T}: Destroy target creature. Then put a charge counter on Altar of Shadows. +Oracle:At the beginning of your first main phase, add {B} for each charge counter on Altar of Shadows.\n{7}, {T}: Destroy target creature. Then put a charge counter on Altar of Shadows. diff --git a/forge-gui/res/cardsfolder/a/archdemon_of_paliano.txt b/forge-gui/res/cardsfolder/a/archdemon_of_paliano.txt index 1a5e66f624b..20631a191a4 100644 --- a/forge-gui/res/cardsfolder/a/archdemon_of_paliano.txt +++ b/forge-gui/res/cardsfolder/a/archdemon_of_paliano.txt @@ -5,4 +5,4 @@ PT:5/4 Draft:Draft CARDNAME face up. Draft:As long as CARDNAME is face up during the draft, you can't look at booster packs and must draft cards at random. After you draft three cards this way, turn CARDNAME face down. (You may look at cards as you draft them.) K:Flying -Oracle:Draft Archdemon of Paliano face up.\n\nAs long as Archdemon of Paliano is face up during the draft, you can't look at booster packs and must draft cards at random. After you draft three cards this way, turn Archdemon of Paliano face down. (You may look at cards as you draft them.)\nFlying +Oracle:Draft Archdemon of Paliano face up.\nAs long as Archdemon of Paliano is face up during the draft, you can't look at booster packs and must draft cards at random. After you draft three cards this way, turn Archdemon of Paliano face down. (You may look at cards as you draft them.)\nFlying diff --git a/forge-gui/res/cardsfolder/a/arcums_whistle.txt b/forge-gui/res/cardsfolder/a/arcums_whistle.txt index 3387f8f8751..274e3552a46 100644 --- a/forge-gui/res/cardsfolder/a/arcums_whistle.txt +++ b/forge-gui/res/cardsfolder/a/arcums_whistle.txt @@ -1,7 +1,7 @@ Name:Arcum's Whistle ManaCost:3 Types:Artifact -A:AB$ Animate | Cost$ 3 T | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | IsCurse$ True | staticAbilities$ MustAttack | UnlessCost$ X | UnlessPayer$ TargetedController | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's mana value. If they don't pay, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack this turn. Activate only before attackers are declared. +A:AB$ Animate | Cost$ 3 T | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+!firstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | IsCurse$ True | staticAbilities$ MustAttack | UnlessCost$ X | UnlessPayer$ TargetedController | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That player may pay {X}, where X is that creature's mana value. If they don't pay, the creature attacks this turn if able, and at the beginning of the next end step, destroy it if it didn't attack this turn. Activate only before attackers are declared. SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able. SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | RememberObjects$ ParentTarget | TriggerDescription$ At the beginning of the next end step, destroy that creature if it didn't attack this turn. SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1 diff --git a/forge-gui/res/cardsfolder/a/argothian_uprooting.txt b/forge-gui/res/cardsfolder/a/argothian_uprooting.txt index 4f29b7ac187..dc2a73d768c 100644 --- a/forge-gui/res/cardsfolder/a/argothian_uprooting.txt +++ b/forge-gui/res/cardsfolder/a/argothian_uprooting.txt @@ -3,7 +3,7 @@ ManaCost:X G Types:Sorcery A:SP$ PutCounter | TargetMin$ 0 | TargetMax$ X | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select up to X target lands you control | CounterType$ P1P1 | CounterNum$ 2 | SubAbility$ DBAnimate | SpellDescription$ Put two +1/+1 counters on each of up to X target lands you control. They each become 0/0 Elemental creatures with reach, haste, and "When this creature leaves the battlefield, conjure a card named Forest onto the battlefield tapped." They're still lands. SVar:DBAnimate:DB$ Animate | Defined$ ParentTarget | Power$ 0 | Toughness$ 0 | Types$ Creature,Elemental | Keywords$ Haste & Reach | Duration$ Permanent | Triggers$ DiesTrig -SVar:DiesTrig:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigConjure | TriggerDescription$ When this creature leaves the battlefield, conjure a card named Forest onto the battlefield tapped +SVar:DiesTrig:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigConjure | TriggerDescription$ When this creature leaves the battlefield, conjure a card named Forest onto the battlefield tapped. SVar:TrigConjure:DB$ MakeCard | Conjure$ True | Name$ Forest | Zone$ Battlefield | Tapped$ True SVar:X:Count$xPaid DeckHas:Type$Elemental & Ability$Counters diff --git a/forge-gui/res/cardsfolder/a/asinine_antics.txt b/forge-gui/res/cardsfolder/a/asinine_antics.txt index f5ff408f99a..57f71a6a66a 100644 --- a/forge-gui/res/cardsfolder/a/asinine_antics.txt +++ b/forge-gui/res/cardsfolder/a/asinine_antics.txt @@ -2,7 +2,7 @@ Name:Asinine Antics ManaCost:2 U U Types:Sorcery K:MayFlashCost:2 -A:SP$ RepeatEach | RepeatCards$ Creature.OppCtrl | Zone$ Battlefield | RepeatSubAbility$ DBToken | ChangeZoneTable$ True | SpellDescription$ For each creature your opponents control, create a Cursed Role token attached to that creature. (if you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1) +A:SP$ RepeatEach | RepeatCards$ Creature.OppCtrl | Zone$ Battlefield | RepeatSubAbility$ DBToken | ChangeZoneTable$ True | SpellDescription$ For each creature your opponents control, create a Cursed Role token attached to that creature. (If you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1.) SVar:DBToken:DB$ Token | TokenScript$ role_cursed | AttachedTo$ Remembered DeckHas:Type$Aura|Role & Ability$Token -Oracle:You may cast Asinine Antics as though it had flash if you pay {2} more to cast it. \nFor each creature your opponents control, create a Cursed Role token attached to that creature. (if you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1) +Oracle:You may cast Asinine Antics as though it had flash if you pay {2} more to cast it. \nFor each creature your opponents control, create a Cursed Role token attached to that creature. (If you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1.) diff --git a/forge-gui/res/cardsfolder/b/bane_lord_of_darkness.txt b/forge-gui/res/cardsfolder/b/bane_lord_of_darkness.txt index 6b211150ee5..a94f32b4d77 100644 --- a/forge-gui/res/cardsfolder/b/bane_lord_of_darkness.txt +++ b/forge-gui/res/cardsfolder/b/bane_lord_of_darkness.txt @@ -7,7 +7,7 @@ SVar:CurrentLife:Count$YourLifeTotal SVar:X:Count$YourStartingLife/HalfDown T:Mode$ ChangesZone | ValidCard$ Creature.nonToken+Other+YouCtrl | Origin$ Battlefield | Destination$ Graveyard | Execute$ DBAskOpponentDrawOrPlay | TriggerZones$ Battlefield | TriggerDescription$ Whenever another nontoken creature you control dies, target opponent may have you draw a card. If they don't, you may put a creature card with equal or lesser toughness from your hand onto the battlefield. SVar:DBAskOpponentDrawOrPlay:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ DBDrawCard,DBCheatCreature -SVar:DBDrawCard:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ Controller draws a card -SVar:DBCheatCreature:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.toughnessLEY | ChangeNum$ 1 | SpellDescription$ Controller may put a creature card with equal or lesser toughness from your hand onto the battlefield. +SVar:DBDrawCard:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ CARDNAME's controller draws a card. +SVar:DBCheatCreature:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.toughnessLEY | ChangeNum$ 1 | SpellDescription$ CARDNAME's controller may put a creature card with equal or lesser toughness from their hand onto the battlefield. SVar:Y:TriggeredCard$CardToughness Oracle:As long as your life total is less than or equal to half your starting life total, Bane, Lord of Darkness has indestructible.\nWhenever another nontoken creature you control dies, target opponent may have you draw a card. If they don't, you may put a creature card with equal or lesser toughness from your hand onto the battlefield. diff --git a/forge-gui/res/cardsfolder/b/battershield_warrior.txt b/forge-gui/res/cardsfolder/b/battershield_warrior.txt index c13555a4c6e..8fc968961d0 100644 --- a/forge-gui/res/cardsfolder/b/battershield_warrior.txt +++ b/forge-gui/res/cardsfolder/b/battershield_warrior.txt @@ -2,5 +2,5 @@ Name:Battershield Warrior ManaCost:2 W Types:Creature Human Warrior PT:2/2 -A:AB$ PumpAll | Cost$ 1 W | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | NumDef$ +1 | Boast$ True | SpellDescription$ Creatures you control get +1/+1 until end of turn +A:AB$ PumpAll | Cost$ 1 W | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | NumDef$ +1 | Boast$ True | SpellDescription$ Creatures you control get +1/+1 until end of turn. Oracle:Boast — {1}{W}: Creatures you control get +1/+1 until end of turn. (Activate only if this creature attacked this turn and only once each turn.) diff --git a/forge-gui/res/cardsfolder/b/belbe_corrupted_observer.txt b/forge-gui/res/cardsfolder/b/belbe_corrupted_observer.txt index d05a03abeb5..77d28e40079 100644 --- a/forge-gui/res/cardsfolder/b/belbe_corrupted_observer.txt +++ b/forge-gui/res/cardsfolder/b/belbe_corrupted_observer.txt @@ -2,7 +2,7 @@ Name:Belbe, Corrupted Observer ManaCost:B G Types:Legendary Creature Phyrexian Zombie Elf PT:2/2 -T:Mode$ Phase | Phase$ Main2 | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) +T:Mode$ Phase | Phase$ Main2 | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of each postcombat main phase, the active player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) SVar:TrigMana:DB$ Mana | Produced$ C | Amount$ X | Defined$ TriggeredPlayer SVar:X:PlayerCountOpponents$HasPropertyLostLifeThisTurn/Twice -Oracle:At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) +Oracle:At the beginning of each postcombat main phase, the active player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) diff --git a/forge-gui/res/cardsfolder/b/black_market.txt b/forge-gui/res/cardsfolder/b/black_market.txt index 4fd322b251e..b8deb7cdae1 100644 --- a/forge-gui/res/cardsfolder/b/black_market.txt +++ b/forge-gui/res/cardsfolder/b/black_market.txt @@ -3,7 +3,7 @@ ManaCost:3 B B Types:Enchantment T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a creature dies, put a charge counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, add {B} for each charge counter on CARDNAME. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your first main phase, add {B} for each charge counter on CARDNAME. SVar:TrigGetMana:DB$ Mana | Produced$ B | Amount$ X | SpellDescription$ Add {X}{B} SVar:X:Count$CardCounters.CHARGE -Oracle:Whenever a creature dies, put a charge counter on Black Market.\nAt the beginning of your precombat main phase, add {B} for each charge counter on Black Market. +Oracle:Whenever a creature dies, put a charge counter on Black Market.\nAt the beginning of your first main phase, add {B} for each charge counter on Black Market. diff --git a/forge-gui/res/cardsfolder/b/black_market_connections.txt b/forge-gui/res/cardsfolder/b/black_market_connections.txt index b62a25f501b..e7931f26a31 100644 --- a/forge-gui/res/cardsfolder/b/black_market_connections.txt +++ b/forge-gui/res/cardsfolder/b/black_market_connections.txt @@ -1,7 +1,7 @@ Name:Black Market Connections ManaCost:2 B Types:Enchantment -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ At the beginning of your precombat main phase, ABILITY +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ At the beginning of your first main phase, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBTreasureLose1,DBDrawLose2,DBTokenLose3 | MinCharmNum$ 1 | CharmNum$ 3 SVar:DBTreasureLose1:DB$ Token | TokenScript$ c_a_treasure_sac | SubAbility$ DBLoseLife1 | SpellDescription$ Sell Contraband — Create a Treasure token. You lose 1 life. SVar:DBDrawLose2:DB$ Draw | NumCards$ 1 | SubAbility$ DBLoseLife2 | SpellDescription$ Buy Information — Draw a card. You lose 2 life. @@ -10,4 +10,4 @@ SVar:DBLoseLife1:DB$ LoseLife | LifeAmount$ 1 | Defined$ You SVar:DBLoseLife2:DB$ LoseLife | LifeAmount$ 2 | Defined$ You SVar:DBLoseLife3:DB$ LoseLife | LifeAmount$ 3 | Defined$ You DeckHas:Ability$Token|Sacrifice & Type$Artifact|Treasure|Shapeshifter -Oracle:At the beginning of your precombat main phase, choose one or more —\n• Sell Contraband — Create a Treasure token. You lose 1 life.\n• Buy Information — Draw a card. You lose 2 life.\n• Hire a Mercenary — Create a 3/2 colorless Shapeshifter creature token with changeling. You lose 3 life. +Oracle:At the beginning of your first main phase, choose one or more —\n• Sell Contraband — Create a Treasure token. You lose 1 life.\n• Buy Information — Draw a card. You lose 2 life.\n• Hire a Mercenary — Create a 3/2 colorless Shapeshifter creature token with changeling. You lose 3 life. diff --git a/forge-gui/res/cardsfolder/b/black_tulip.txt b/forge-gui/res/cardsfolder/b/black_tulip.txt index 2cd697a39b9..3d657d633e2 100644 --- a/forge-gui/res/cardsfolder/b/black_tulip.txt +++ b/forge-gui/res/cardsfolder/b/black_tulip.txt @@ -1,5 +1,5 @@ Name:Black Tulip ManaCost:0 Types:Artifact -A:AB$ Mana | Cost$ T Exile<1/CARDNAME> | Produced$ Any | Amount$ 3 | AILogic$ BlackLotus | CheckSVar$ Count$YourTurns | SVarCompare$ GE6 | SpellDescription$ Add three mana of any one color. You can't activate this ability until you've begun your sixth turn of the game (Keep track if this is in your deck!) -Oracle:{T}, Exile Black Tulip: Add three mana of any one color. You can't activate this ability until you've begun your sixth turn of the game (Keep track if this is in your deck!) +A:AB$ Mana | Cost$ T Exile<1/CARDNAME> | Produced$ Any | Amount$ 3 | AILogic$ BlackLotus | CheckSVar$ Count$YourTurns | SVarCompare$ GE6 | SpellDescription$ Add three mana of any one color. You can't activate this ability until you've begun your sixth turn of the game. (Keep track if this is in your deck!) +Oracle:{T}, Exile Black Tulip: Add three mana of any one color. You can't activate this ability until you've begun your sixth turn of the game. (Keep track if this is in your deck!) diff --git a/forge-gui/res/cardsfolder/b/blinkmoth_urn.txt b/forge-gui/res/cardsfolder/b/blinkmoth_urn.txt index 6bda722612f..23703ba5fab 100644 --- a/forge-gui/res/cardsfolder/b/blinkmoth_urn.txt +++ b/forge-gui/res/cardsfolder/b/blinkmoth_urn.txt @@ -1,8 +1,8 @@ Name:Blinkmoth Urn ManaCost:5 Types:Artifact -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | TriggerZones$ Battlefield | PresentDefined$ Self | IsPresent$ Card.untapped | Execute$ TrigGetMana | TriggerDescription$ At the beginning of each player's precombat main phase, if CARDNAME is untapped, that player adds {C} for each artifact they control. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | TriggerZones$ Battlefield | PresentDefined$ Self | IsPresent$ Card.untapped | Execute$ TrigGetMana | TriggerDescription$ At the beginning of each player's first main phase, if CARDNAME is untapped, that player adds {C} for each artifact they control. SVar:TrigGetMana:DB$ Mana | Produced$ C | Amount$ X | Defined$ TriggeredPlayer SVar:X:Count$Valid Artifact.ActivePlayerCtrl AI:RemoveDeck:Random -Oracle:At the beginning of each player's precombat main phase, if Blinkmoth Urn is untapped, that player adds {C} for each artifact they control. +Oracle:At the beginning of each player's first main phase, if Blinkmoth Urn is untapped, that player adds {C} for each artifact they control. diff --git a/forge-gui/res/cardsfolder/b/boon_of_the_spirit_realm.txt b/forge-gui/res/cardsfolder/b/boon_of_the_spirit_realm.txt index 46efc20e369..655b6000a99 100644 --- a/forge-gui/res/cardsfolder/b/boon_of_the_spirit_realm.txt +++ b/forge-gui/res/cardsfolder/b/boon_of_the_spirit_realm.txt @@ -3,7 +3,7 @@ ManaCost:3 W W Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Enchantment.Other+YouCtrl | Execute$ TrigCounter | TriggerDescription$ Constellation — Whenever CARDNAME or another enchantment you control enters, put a blessing counter on CARDNAME. SVar:TrigCounter:DB$ PutCounter | CounterType$ BLESSING | CounterNum$ 1 -S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ X | AddToughness$ X | Description$ Creatures you control get +1/+1 for each blessing counter on CARDNAME +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddPower$ X | AddToughness$ X | Description$ Creatures you control get +1/+1 for each blessing counter on CARDNAME. SVar:X:Count$CardCounters.BLESSING DeckHints:Type$Enchantment DeckHas:Ability$Counters diff --git a/forge-gui/res/cardsfolder/b/bounty_of_the_luxa.txt b/forge-gui/res/cardsfolder/b/bounty_of_the_luxa.txt index 064cc49e1f3..2cafcf6e1ac 100644 --- a/forge-gui/res/cardsfolder/b/bounty_of_the_luxa.txt +++ b/forge-gui/res/cardsfolder/b/bounty_of_the_luxa.txt @@ -1,11 +1,11 @@ Name:Bounty of the Luxa ManaCost:2 G U Types:Enchantment -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all flood counters from CARDNAME. If no counters were removed this way, put a flood counter on CARDNAME and draw a card. Otherwise, add {C}{G}{U}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your first main phase, remove all flood counters from CARDNAME. If no counters were removed this way, put a flood counter on CARDNAME and draw a card. Otherwise, add {C}{G}{U}. SVar:TrigRemove:DB$ RemoveCounter | CounterType$ FLOOD | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBPutCounter SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | CounterType$ FLOOD | CounterNum$ 1 | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBGetMana SVar:DBGetMana:DB$ Mana | Produced$ C G U | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$RememberedSize -Oracle:At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {C}{G}{U}. +Oracle:At the beginning of your first main phase, remove all flood counters from Bounty of the Luxa. If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card. Otherwise, add {C}{G}{U}. diff --git a/forge-gui/res/cardsfolder/b/brainsurge.txt b/forge-gui/res/cardsfolder/b/brainsurge.txt index 68d591c459f..ed87d2379f0 100644 --- a/forge-gui/res/cardsfolder/b/brainsurge.txt +++ b/forge-gui/res/cardsfolder/b/brainsurge.txt @@ -1,6 +1,6 @@ Name:Brainsurge ManaCost:2 U Types:Instant -A:SP$ Draw | NumCards$ 4 | StackDescription$ {p:You} draws four cards, | SpellDescription$ Draw four cards, then put two cards from your hand on top of your library in any order | SubAbility$ ChangeZoneDB +A:SP$ Draw | NumCards$ 4 | StackDescription$ {p:You} draws four cards, | SpellDescription$ Draw four cards, then put two cards from your hand on top of your library in any order. | SubAbility$ ChangeZoneDB SVar:ChangeZoneDB:DB$ ChangeZone | Origin$ Hand | Destination$ Library | ChangeNum$ 2 | Mandatory$ True | Reorder$ True | StackDescription$ then puts two cards from their hand on top of their library in any order. Oracle:Draw four cards, then put two cards from your hand on top of your library in any order. diff --git a/forge-gui/res/cardsfolder/b/brawl.txt b/forge-gui/res/cardsfolder/b/brawl.txt index f7588b86db1..bf83bc50b0e 100644 --- a/forge-gui/res/cardsfolder/b/brawl.txt +++ b/forge-gui/res/cardsfolder/b/brawl.txt @@ -2,7 +2,7 @@ Name:Brawl ManaCost:3 R R Types:Instant A:SP$ AnimateAll | ValidCards$ Creature | Abilities$ ThrowPunch | SpellDescription$ Until end of turn, all creatures gain "{T}: This creature deals damage equal to its power to target creature." -SVar:ThrowPunch:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ BrawlX | SpellDescription$ This creature deals damage equal to its power to target creature. +SVar:ThrowPunch:AB$ DealDamage | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ BrawlX | SpellDescription$ CARDNAME deals damage equal to its power to target creature. SVar:BrawlX:Count$CardPower AI:RemoveDeck:All Oracle:Until end of turn, all creatures gain "{T}: This creature deals damage equal to its power to target creature." diff --git a/forge-gui/res/cardsfolder/b/brazen_cannonade.txt b/forge-gui/res/cardsfolder/b/brazen_cannonade.txt index 3826f75d93b..bbf4094a25b 100644 --- a/forge-gui/res/cardsfolder/b/brazen_cannonade.txt +++ b/forge-gui/res/cardsfolder/b/brazen_cannonade.txt @@ -3,10 +3,10 @@ ManaCost:3 R Types:Enchantment T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.attacking+YouCtrl | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever an attacking creature you control dies, CARDNAME deals 2 damage to each opponent. SVar:TrigDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ RaidTest | Execute$ TrigExile | TriggerDescription$ Raid — At the beginning of your postcombat main phase, if you attacked with a creature this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ RaidTest | Execute$ TrigExile | TriggerDescription$ Raid — At the beginning of each of your postcombat main phases, if you attacked this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card. SVar:TrigExile:DB$ Dig | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ExileOnMoved$ Exile | Duration$ UntilEndOfCombatYourNextTurn SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until end of combat on your next turn, you may play that card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RaidTest:Count$AttackersDeclared -Oracle:Whenever an attacking creature you control dies, Brazen Cannonade deals 2 damage to each opponent.\nRaid — At the beginning of your postcombat main phase, if you attacked with a creature this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card. +Oracle:Whenever an attacking creature you control dies, Brazen Cannonade deals 2 damage to each opponent.\nRaid — At the beginning of each of your postcombat main phases, if you attacked this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card. diff --git a/forge-gui/res/cardsfolder/b/bruna_light_of_alabaster.txt b/forge-gui/res/cardsfolder/b/bruna_light_of_alabaster.txt index 0fc5dff2d35..9e1bc7a06d0 100644 --- a/forge-gui/res/cardsfolder/b/bruna_light_of_alabaster.txt +++ b/forge-gui/res/cardsfolder/b/bruna_light_of_alabaster.txt @@ -8,8 +8,8 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ Aurify | TriggerDescription$ W T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ Aurify | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks or blocks, you may attach to it any number of Auras on the battlefield and you may put onto the battlefield attached to it any number of Aura cards that could enchant it from your graveyard and/or hand. SVar:Aurify:DB$ RepeatEach | RepeatSubAbility$ BrunaAttach | RepeatCards$ Aura.CanEnchantSource+!Attached | SubAbility$ ZoneAuras SVar:BrunaAttach:DB$ Attach | Object$ Remembered | Defined$ Self | Optional$ True -SVar:ZoneAuras:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Battlefield | ChangeType$ Aura.CanEnchantSource+YouOwn | AttachedTo$ Self | ChangeNum$ Count | Optional$ True | Hidden$ True -SVar:Count:Count$ValidHand,Graveyard Aura.CanEnchantSource+YouOwn +SVar:ZoneAuras:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Battlefield | ChangeType$ Aura.CanEnchantSource+YouOwn | AttachedTo$ Self | ChangeNum$ CountAuras | Optional$ True | Hidden$ True +SVar:CountAuras:Count$ValidHand,Graveyard Aura.CanEnchantSource+YouOwn SVar:HasAttackEffect:TRUE SVar:HasBlockEffect:TRUE DeckNeeds:Type$Aura diff --git a/forge-gui/res/cardsfolder/c/cabal_inquisitor.txt b/forge-gui/res/cardsfolder/c/cabal_inquisitor.txt index f9f61989cd8..656150d6742 100644 --- a/forge-gui/res/cardsfolder/c/cabal_inquisitor.txt +++ b/forge-gui/res/cardsfolder/c/cabal_inquisitor.txt @@ -2,5 +2,5 @@ Name:Cabal Inquisitor ManaCost:1 B Types:Creature Human Minion PT:1/1 -A:AB$ Discard | Cost$ 1 B T ExileFromGrave<2/Card> | ValidTgts$ Player | Activation$ Threshold | NumCards$ 1 | Mode$ TgtChoose | SorcerySpeed$ True | SpellDescription$ Target player discards a card. Activate only as a sorcery and only if seven or more cards are in your graveyard. | PrecostDesc$ Threshold — +A:AB$ Discard | Cost$ 1 B T ExileFromGrave<2/Card> | ValidTgts$ Player | Activation$ Threshold | PrecostDesc$ Threshold — | NumCards$ 1 | Mode$ TgtChoose | SorcerySpeed$ True | SpellDescription$ Target player discards a card. Activate only as a sorcery and only if seven or more cards are in your graveyard. Oracle:Threshold — {1}{B}, {T}, Exile two cards from your graveyard: Target player discards a card. Activate only as a sorcery and only if seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/c/cabal_therapist.txt b/forge-gui/res/cardsfolder/c/cabal_therapist.txt index 2f0e2ece525..c02349f3931 100644 --- a/forge-gui/res/cardsfolder/c/cabal_therapist.txt +++ b/forge-gui/res/cardsfolder/c/cabal_therapist.txt @@ -3,10 +3,10 @@ ManaCost:B Types:Creature Horror PT:1/1 K:Menace -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | Execute$ DBImmediateTrigger | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your precombat main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | Execute$ DBImmediateTrigger | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your first main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name. SVar:DBImmediateTrigger:AB$ ImmediateTrigger | Execute$ NameCard | TriggerDescription$ You may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name. | Cost$ Sac<1/Creature> SVar:NameCard:DB$ NameCard | Defined$ You | ValidCards$ Card.nonLand | ValidDescription$ nonland | SubAbility$ DBDiscard | SpellDescription$ Choose a nonland card name. Target player reveals their hand and discards all cards with that name. SVar:DBDiscard:DB$ Discard | ValidTgts$ Player | Mode$ RevealDiscardAll | DiscardValid$ Card.NamedCard | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearNamedCard$ True AI:RemoveDeck:All -Oracle:Menace\nAt the beginning of your precombat main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name. +Oracle:Menace\nAt the beginning of your first main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name. diff --git a/forge-gui/res/cardsfolder/c/cabal_torturer.txt b/forge-gui/res/cardsfolder/c/cabal_torturer.txt index f35fd385e24..8f23665aabf 100644 --- a/forge-gui/res/cardsfolder/c/cabal_torturer.txt +++ b/forge-gui/res/cardsfolder/c/cabal_torturer.txt @@ -3,5 +3,5 @@ ManaCost:1 B B Types:Creature Human Minion PT:1/1 A:AB$ Pump | Cost$ B T | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature gets -1/-1 until end of turn. -A:AB$ Pump | Cost$ 3 B B T | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | Activation$ Threshold | SpellDescription$ Target creature gets -2/-2 until end of turn. Activate only if seven or more cards are in your graveyard. | PrecostDesc$ Threshold — +A:AB$ Pump | Cost$ 3 B B T | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | Activation$ Threshold | PrecostDesc$ Threshold — | SpellDescription$ Target creature gets -2/-2 until end of turn. Activate only if seven or more cards are in your graveyard. Oracle:{B}, {T}: Target creature gets -1/-1 until end of turn.\nThreshold — {3}{B}{B}, {T}: Target creature gets -2/-2 until end of turn. Activate only if seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/c/call_a_surprise_witness.txt b/forge-gui/res/cardsfolder/c/call_a_surprise_witness.txt index bc8c798bcd2..8b68815a23f 100644 --- a/forge-gui/res/cardsfolder/c/call_a_surprise_witness.txt +++ b/forge-gui/res/cardsfolder/c/call_a_surprise_witness.txt @@ -1,9 +1,9 @@ Name:Call a Surprise Witness ManaCost:1 W Types:Sorcery -A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl+cmcLE3 | AnimateSubAbility$ DBAnimate | RememberChanged$ True | SubAbility$ DBPutCounter | TgtPrompt$ Select target creature card with mana value 3 or less | SpellDescription$ Return target creature card with mana value 3 or less from your graveyard to the battlefield. -SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ Flying | CounterNum$ 1 | SubAbility$ DBCleanup | SpellDescription$ Put a flying counter on it -SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Types$ Spirit | Duration$ Permanent | SpellDescription$ It's a Spirit in addition to its other types. +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl+cmcLE3 | AnimateSubAbility$ DBAnimate | RememberChanged$ True | SubAbility$ DBPutCounter | TgtPrompt$ Select target creature card with mana value 3 or less | StackDescription$ REP Return_{p:You} returns & target creature card with mana value 3 or less_{c:Targeted} & your_their & Put_{p:You} puts & on it_on {c:Targeted} | SpellDescription$ Return target creature card with mana value 3 or less from your graveyard to the battlefield. Put a flying counter on it. It's a Spirit in addition to its other types. +SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ Flying | CounterNum$ 1 | SubAbility$ DBCleanup | StackDescription$ None +SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Types$ Spirit | Duration$ Permanent SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Graveyard & Type$Spirit Oracle:Return target creature card with mana value 3 or less from your graveyard to the battlefield. Put a flying counter on it. It's a Spirit in addition to its other types. diff --git a/forge-gui/res/cardsfolder/c/call_for_aid.txt b/forge-gui/res/cardsfolder/c/call_for_aid.txt index 3004238fd52..e31409f2fe7 100644 --- a/forge-gui/res/cardsfolder/c/call_for_aid.txt +++ b/forge-gui/res/cardsfolder/c/call_for_aid.txt @@ -4,7 +4,7 @@ Types:Sorcery A:SP$ GainControl | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | AllValid$ Creature.TargetedPlayerCtrl | AddKWs$ Haste | Untap$ True | NewController$ You | LoseControl$ EOT | RememberControlled$ True | SubAbility$ DBEffect | SpellDescription$ Gain control of all creatures target opponent controls until end of turn. Untap those creatures. They gain haste until end of turn. You can't attack that player this turn. You can't sacrifice those creatures this turn. SVar:DBEffect:DB$ Effect | RememberObjects$ TargetedPlayer,RememberedCard | StaticAbilities$ CantSac,CantAttack | SubAbility$ DBCleanup SVar:CantSac:Mode$ CantSacrifice | ValidCard$ Card.IsRemembered+YouCtrl | Description$ You can't sacrifice those creatures this turn. -SVar:CantAttack:Mode$ CantAttack | ValidCard$ Creature.YouCtrl | Target$ Player.IsRemembered | Description$ You can't attack that player this turn +SVar:CantAttack:Mode$ CantAttack | ValidCard$ Creature.YouCtrl | Target$ Player.IsRemembered | Description$ You can't attack that player this turn. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All Oracle:Gain control of all creatures target opponent controls until end of turn. Untap those creatures. They gain haste until end of turn. You can't attack that player this turn. You can't sacrifice those creatures this turn. diff --git a/forge-gui/res/cardsfolder/c/casualties_of_war.txt b/forge-gui/res/cardsfolder/c/casualties_of_war.txt index 83944c824f4..cb327765165 100644 --- a/forge-gui/res/cardsfolder/c/casualties_of_war.txt +++ b/forge-gui/res/cardsfolder/c/casualties_of_war.txt @@ -2,9 +2,9 @@ Name:Casualties of War ManaCost:2 B B G G Types:Sorcery A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ 5 | Choices$ DestroyArtifact,DestroyCreature,DestroyEnchantment,DestroyLand,DestroyPlaneswalker -SVar:DestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact +SVar:DestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact. SVar:DestroyCreature:DB$ Destroy | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Destroy target creature. -SVar:DestroyEnchantment:DB$ Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target Enchantment | SpellDescription$ Destroy target Enchantment. +SVar:DestroyEnchantment:DB$ Destroy | ValidTgts$ Enchantment | TgtPrompt$ Select target Enchantment | SpellDescription$ Destroy target enchantment. SVar:DestroyLand:DB$ Destroy | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Destroy target land. SVar:DestroyPlaneswalker:DB$ Destroy | ValidTgts$ Planeswalker | TgtPrompt$ Select target planeswalker | SpellDescription$ Destroy target planeswalker. Oracle:Choose one or more —\n• Destroy target artifact.\n• Destroy target creature.\n• Destroy target enchantment.\n• Destroy target land.\n• Destroy target planeswalker. diff --git a/forge-gui/res/cardsfolder/c/cat_oven.txt b/forge-gui/res/cardsfolder/c/cat_oven.txt index d90e3777c76..21c388fa89d 100644 --- a/forge-gui/res/cardsfolder/c/cat_oven.txt +++ b/forge-gui/res/cardsfolder/c/cat_oven.txt @@ -3,10 +3,10 @@ ManaCost:1 Types:Artifact T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFood | TriggerDescription$ When CARDNAME enters the battlefield, create a Food token. SVar:TrigFood:DB$ Token | TokenScript$ c_a_food_sac | TokenAmount$ 1 -A:AB$ Token | Cost$ T Sac<1/Food> | TokenScript$ b_1_1_cat | TokenAmount$ 1 | SubAbility$ DBDrain | SpellDescription$ Create a 1/1 black Cat creature token. Each opponent loses 1 life and you gain 1 life. +A:AB$ Token | Cost$ T Sac<1/Food> | TokenScript$ b_1_1_cat | TokenAmount$ 1 | SubAbility$ DBDrain | SpellDescription$ Create a 1/1 black Cat creature token. Each opponent loses 1 life and you gain 1 life. SVar:DBDrain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 | SubAbility$ DBGainLife SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1 SVar:AIPreference:SacCost$Food.token DeckHas:Ability$Token|Sacrifice|LifeGain & Type$Food|Artifact|Cat DeckHints:Type$Food -Oracle:When Cat Oven enters the battlefield, create a Food token.\n{T}, Sacrifice a Food: Create a 1/1 black Cat creature token. Each opponent loses 1 life and you gain 1 life. +Oracle:When Cat Oven enters the battlefield, create a Food token.\n{T}, Sacrifice a Food: Create a 1/1 black Cat creature token. Each opponent loses 1 life and you gain 1 life. diff --git a/forge-gui/res/cardsfolder/c/cavalcade_of_calamity.txt b/forge-gui/res/cardsfolder/c/cavalcade_of_calamity.txt index 6b2522795e4..6cd9d77a4c0 100644 --- a/forge-gui/res/cardsfolder/c/cavalcade_of_calamity.txt +++ b/forge-gui/res/cardsfolder/c/cavalcade_of_calamity.txt @@ -1,7 +1,7 @@ Name:Cavalcade of Calamity ManaCost:1 R Types:Enchantment -T:Mode$ Attacks | ValidCard$ Creature.powerLE1+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature you control with power 1 or less attacks, CARDNAME deals 1 damage to the player or planeswalker that creature is attacking +T:Mode$ Attacks | ValidCard$ Creature.powerLE1+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature you control with power 1 or less attacks, CARDNAME deals 1 damage to the player or planeswalker that creature is attacking. SVar:TrigDamage:DB$ DealDamage | Defined$ TriggeredDefender.Player & Valid Planeswalker.TriggeredDefender | NumDmg$ 1 SVar:PlayMain1:TRUE Oracle:Whenever a creature you control with power 1 or less attacks, Cavalcade of Calamity deals 1 damage to the player or planeswalker that creature is attacking. diff --git a/forge-gui/res/cardsfolder/c/chandra_fire_of_kaladesh_chandra_roaring_flame.txt b/forge-gui/res/cardsfolder/c/chandra_fire_of_kaladesh_chandra_roaring_flame.txt index 5d2c366e3c3..1fbbde0ca15 100644 --- a/forge-gui/res/cardsfolder/c/chandra_fire_of_kaladesh_chandra_roaring_flame.txt +++ b/forge-gui/res/cardsfolder/c/chandra_fire_of_kaladesh_chandra_roaring_flame.txt @@ -19,7 +19,7 @@ ManaCost:no cost Colors:red Types:Legendary Planeswalker Chandra Loyalty:4 -A:AB$ DealDamage | Cost$ AddCounter<1/LOYALTY> | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | Planeswalker$ True | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target player or planeswalker +A:AB$ DealDamage | Cost$ AddCounter<1/LOYALTY> | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | Planeswalker$ True | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target player or planeswalker. A:AB$ DealDamage | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Creature | Planeswalker$ True | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target creature. A:AB$ DealDamage | Cost$ SubCounter<7/LOYALTY> | Defined$ Player.Opponent | Planeswalker$ True | Ultimate$ True | NumDmg$ 6 | RememberDamaged$ True | SubAbility$ DBUltimateEmblem | SpellDescription$ CARDNAME deals 6 damage to each opponent. Each player dealt damage this way gets an emblem with "At the beginning of your upkeep, this emblem deals 3 damage to you." SVar:DBUltimateEmblem:DB$ Effect | Name$ Emblem — Chandra, Roaring Flame | Image$ emblem_chandra_roaring_flame | Stackable$ True | Triggers$ FlameTrigger | Duration$ Permanent | AILogic$ Always | EffectOwner$ Player.IsRemembered | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/c/charged_conjuration.txt b/forge-gui/res/cardsfolder/c/charged_conjuration.txt index 37856f1e62b..1941d76aa8a 100644 --- a/forge-gui/res/cardsfolder/c/charged_conjuration.txt +++ b/forge-gui/res/cardsfolder/c/charged_conjuration.txt @@ -4,5 +4,5 @@ Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ At the beginning of your upkeep, instant and sorcery cards in your hand perpetually gain "This spell costs {1} less to cast." SVar:TrigAnimate:DB$ AnimateAll | ValidCards$ Sorcery.YouOwn,Instant.YouOwn | Zone$ Hand | staticAbilities$ ReduceCost | Duration$ Perpetual SVar:ReduceCost:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 1 | EffectZone$ All | Description$ This spell costs {1} less to cast. -A:AB$ MakeCard | Cost$ Sac<1/CARDNAME> | Conjure$ True | Spellbook$ Empty the Warrens,Galvanic Relay,Grapeshot | SorcerySpeed$ True | Zone$ Hand | SpellDescription$ Conjure a card of your choice from Charged Conjuration's spellbook into your hand. Activate only as a sorcery. +A:AB$ MakeCard | Cost$ Sac<1/CARDNAME> | Conjure$ True | Spellbook$ Empty the Warrens,Galvanic Relay,Grapeshot | SorcerySpeed$ True | Zone$ Hand | SpellDescription$ Conjure a card of your choice from CARDNAME's spellbook into your hand. Activate only as a sorcery. Oracle:At the beginning of your upkeep, instant and sorcery cards in your hand perpetually gain "This spell costs {1} less to cast."\nSacrifice this enchantment: Conjure a card of your choice from Charged Conjuration's spellbook into your hand. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/c/choking_tethers.txt b/forge-gui/res/cardsfolder/c/choking_tethers.txt index fbdc933d560..65458b6ba54 100644 --- a/forge-gui/res/cardsfolder/c/choking_tethers.txt +++ b/forge-gui/res/cardsfolder/c/choking_tethers.txt @@ -3,6 +3,6 @@ ManaCost:3 U Types:Instant K:Cycling:1 U A:SP$ Tap | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 0 | TargetMax$ 4 | SpellDescription$ Tap up to four target creatures. -T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigTap | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may tap target creature +T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigTap | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may tap target creature. SVar:TrigTap:DB$ Tap | ValidTgts$ Creature | TgtPrompt$ Select target creature Oracle:Tap up to four target creatures.\nCycling {1}{U} ({1}{U}, Discard this card: Draw a card.)\nWhen you cycle Choking Tethers, you may tap target creature. diff --git a/forge-gui/res/cardsfolder/c/choose_your_champion.txt b/forge-gui/res/cardsfolder/c/choose_your_champion.txt index 3a2eff44e61..80d9331267f 100644 --- a/forge-gui/res/cardsfolder/c/choose_your_champion.txt +++ b/forge-gui/res/cardsfolder/c/choose_your_champion.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Scheme T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ ChooseChampion | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, target opponent chooses a player. Until your next turn, only you and the chosen player can cast spells and attack with creatures. SVar:ChooseChampion:DB$ ChoosePlayer | ValidTgts$ Opponent | Choices$ Player | AILogic$ BestAllyBoardPosition | SubAbility$ PrepChamps -SVar:PrepChamps:DB$ Effect | RememberObjects$ ChosenPlayer,You | Name$ Choose Your Champion Scheme | Duration$ UntilYourNextTurn | StaticAbilities$ RestrictAttackers,RestrictCasting +SVar:PrepChamps:DB$ Effect | RememberObjects$ ChosenPlayer,You | Duration$ UntilYourNextTurn | StaticAbilities$ RestrictAttackers,RestrictCasting SVar:RestrictAttackers:Mode$ CantAttack | EffectZone$ Command | ValidCard$ Creature.!RememberedPlayerCtrl | Description$ Until your next turn, only you and the chosen player can attack with creatures. SVar:RestrictCasting:Mode$ CantBeCast | ValidCard$ Card | Caster$ Player.IsNotRemembered | EffectZone$ Command | Description$ Until your next turn, only you and the chosen player can cast spells. Oracle:When you set this scheme in motion, target opponent chooses a player. Until your next turn, only you and the chosen player can cast spells and attack with creatures. diff --git a/forge-gui/res/cardsfolder/c/chronostutter.txt b/forge-gui/res/cardsfolder/c/chronostutter.txt index cc645fa1b30..fbf41cf7e4e 100644 --- a/forge-gui/res/cardsfolder/c/chronostutter.txt +++ b/forge-gui/res/cardsfolder/c/chronostutter.txt @@ -2,5 +2,5 @@ Name:Chronostutter ManaCost:5 U Types:Instant A:SP$ ChangeZone | Origin$ Battlefield | Destination$ Library | ValidTgts$ Creature | LibraryPosition$ 1 | SpellDescription$ Put target creature into its owner's library second from the top. -# Library Position is zero indexed. So 1 is second from the top +# LibraryPosition is zero indexed. So 1 is second from the top Oracle:Put target creature into its owner's library second from the top. diff --git a/forge-gui/res/cardsfolder/c/cindercone_smite.txt b/forge-gui/res/cardsfolder/c/cindercone_smite.txt index 43c9fead4f7..4b87ff716f3 100644 --- a/forge-gui/res/cardsfolder/c/cindercone_smite.txt +++ b/forge-gui/res/cardsfolder/c/cindercone_smite.txt @@ -1,7 +1,7 @@ Name:Cindercone Smite ManaCost:R Types:Sorcery -A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 | SubAbility$ DBTreasure | SpellDescription$ CARDNAME deals 2 damage to target creature +A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 | SubAbility$ DBTreasure | SpellDescription$ CARDNAME deals 2 damage to target creature. SVar:DBTreasure:DB$ Token | ConditionCheckSVar$ X | TokenScript$ c_a_treasure_sac | SpellDescription$ Then create a Treasure token if you weren't the starting player. SVar:X:Count$StartingPlayer.0.1 Oracle:Cindercone Smite deals 2 damage to target creature. Then create a Treasure token if you weren't the starting player. diff --git a/forge-gui/res/cardsfolder/c/clockwork_drawbridge.txt b/forge-gui/res/cardsfolder/c/clockwork_drawbridge.txt index 5ea4b555f1a..1f80b0c3919 100644 --- a/forge-gui/res/cardsfolder/c/clockwork_drawbridge.txt +++ b/forge-gui/res/cardsfolder/c/clockwork_drawbridge.txt @@ -4,4 +4,4 @@ Types:Artifact Creature Wall PT:0/3 K:Defender A:AB$ Tap | Cost$ 2 W T | ValidTgts$ Creature | SpellDescription$ Tap target creature. -Oracle:Defender\n{2}{W}, {T}: Tap target creature +Oracle:Defender\n{2}{W}, {T}: Tap target creature. diff --git a/forge-gui/res/cardsfolder/c/coalition_relic.txt b/forge-gui/res/cardsfolder/c/coalition_relic.txt index 3976103ee14..af5feab430d 100644 --- a/forge-gui/res/cardsfolder/c/coalition_relic.txt +++ b/forge-gui/res/cardsfolder/c/coalition_relic.txt @@ -3,9 +3,9 @@ ManaCost:3 Types:Artifact A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color. A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color for each charge counter removed this way. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your first main phase, remove all charge counters from CARDNAME. Add one mana of any color for each charge counter removed this way. SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ TrigGetMana SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NumRemoved:Count$RememberedSize -Oracle:{T}: Add one mana of any color.\n{T}: Put a charge counter on Coalition Relic.\nAt the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way. +Oracle:{T}: Add one mana of any color.\n{T}: Put a charge counter on Coalition Relic.\nAt the beginning of your first main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way. diff --git a/forge-gui/res/cardsfolder/c/cobbled_lancer.txt b/forge-gui/res/cardsfolder/c/cobbled_lancer.txt index 86a475744c1..ad50e6e6747 100644 --- a/forge-gui/res/cardsfolder/c/cobbled_lancer.txt +++ b/forge-gui/res/cardsfolder/c/cobbled_lancer.txt @@ -2,7 +2,7 @@ Name:Cobbled Lancer ManaCost:U Types:Creature Zombie Horse PT:3/3 -A:SP$ PermanentCreature | Cost$ U ExileFromGrave<1/Creature/creature card> +A:SP$ PermanentCreature | Cost$ U ExileFromGrave<1/Creature> A:AB$ Draw | Cost$ 3 U ExileFromGrave<1/CARDNAME> | NumCards$ 1 | ActivationZone$ Graveyard | SpellDescription$ Draw a card. DeckHas:Ability$Graveyard Oracle:As an additional cost to cast this spell, exile a creature card from your graveyard.\n{3}{U}, Exile Cobbled Lancer from your graveyard: Draw a card. diff --git a/forge-gui/res/cardsfolder/c/collective_voyage.txt b/forge-gui/res/cardsfolder/c/collective_voyage.txt index bac4c81bb2c..29a42406517 100644 --- a/forge-gui/res/cardsfolder/c/collective_voyage.txt +++ b/forge-gui/res/cardsfolder/c/collective_voyage.txt @@ -1,7 +1,7 @@ Name:Collective Voyage ManaCost:G Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBSearch | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player searches their library for up to X basic land cards, where X is the total amount of mana paid this way, puts them onto the battlefield tapped, then shuffles. +A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBPay | SubAbility$ DBSearch | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player searches their library for up to X basic land cards, where X is the total amount of mana paid this way, puts them onto the battlefield tapped, then shuffles. SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.Y | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn SVar:DBSearch:DB$ ChangeZone | DefinedPlayer$ Player | ChangeType$ Land.Basic | ChangeNum$ JoinForcesAmount | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ DBReset | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/c/commit_memory.txt b/forge-gui/res/cardsfolder/c/commit_memory.txt index 7063f1ef5b1..4ce33113715 100644 --- a/forge-gui/res/cardsfolder/c/commit_memory.txt +++ b/forge-gui/res/cardsfolder/c/commit_memory.txt @@ -2,7 +2,7 @@ Name:Commit ManaCost:3 U Types:Instant A:SP$ ChangeZone | TgtZone$ Stack,Battlefield | Origin$ Battlefield,Stack | Destination$ Library | ValidTgts$ Permanent.nonLand,Card.inZoneStack | TgtPrompt$ Select target spell or nonland permanent | LibraryPosition$ 1 | Fizzle$ True | SpellDescription$ Put target spell or nonland permanent into its owner's library second from the top. -# Library Position is zero indexed. So 1 is second from the top +# LibraryPosition is zero indexed. So 1 is second from the top AlternateMode:Split Oracle:Put target spell or nonland permanent into its owner's library second from the top. diff --git a/forge-gui/res/cardsfolder/c/crack_in_time.txt b/forge-gui/res/cardsfolder/c/crack_in_time.txt index 76ad745fb06..3d14fd9b50a 100644 --- a/forge-gui/res/cardsfolder/c/crack_in_time.txt +++ b/forge-gui/res/cardsfolder/c/crack_in_time.txt @@ -2,8 +2,8 @@ Name:Crack in Time ManaCost:3 W Types:Enchantment K:Vanishing:3 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | Secondary$ True | TriggerDescription$ When CARDNAME enters and at the beginning of your precombat main phase, exile target creature an opponent controls until CARDNAME leaves the battlefield. -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters and at the beginning of your precombat main phase, exile target creature an opponent controls until CARDNAME leaves the battlefield. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | Secondary$ True | TriggerDescription$ When CARDNAME enters and at the beginning of your first main phase, exile target creature an opponent controls until CARDNAME leaves the battlefield. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters and at the beginning of your first main phase, exile target creature an opponent controls until CARDNAME leaves the battlefield. SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | Duration$ UntilHostLeavesPlay DeckHas:Ability$Counters -Oracle:Vanishing 3 (This enchantment enters with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.)\nWhen Crack in Time enters and at the beginning of your precombat main phase, exile target creature an opponent controls until Crack in Time leaves the battlefield. +Oracle:Vanishing 3 (This enchantment enters with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.)\nWhen Crack in Time enters and at the beginning of your first main phase, exile target creature an opponent controls until Crack in Time leaves the battlefield. diff --git a/forge-gui/res/cardsfolder/c/craving_of_yeenoghu.txt b/forge-gui/res/cardsfolder/c/craving_of_yeenoghu.txt index d51d34fb067..183b91caf23 100644 --- a/forge-gui/res/cardsfolder/c/craving_of_yeenoghu.txt +++ b/forge-gui/res/cardsfolder/c/craving_of_yeenoghu.txt @@ -5,9 +5,9 @@ K:Enchant creature you control A:SP$ Attach | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 2 | AddKeyword$ Haste | Description$ Enchanted creature gets +3/+2, has haste, and attacks each combat if able. S:Mode$ MustAttack | ValidCreature$ Creature.EnchantedBy -A:AB$ Pump | Cost$ R | ActivationZone$ Graveyard | ValidTgts$ Creature.YouCtrl | SorcerySpeed$ True | TgtPrompt$ Select target creature you control | SubAbility$ DBChange | StackDescription$ None | SpellDescription$ -SVar:DBChange:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | AttachedTo$ ParentTarget | SubAbility$ DBAnimate | StackDescription$ REP target creature you control_{c:ParentTarget} | SpellDescription$ Return CARDNAME from your graveyard to the battlefield attached to target creature you control. -SVar:DBAnimate:DB$ Animate | staticAbilities$ Hunger | Defined$ Self | Duration$ Perpetual | StackDescription$ CARDNAME perpetually gains "Enchanted creature gets -1/-1." | SpellDescription$ CARDNAME perpetually gains "Enchanted creature gets -1/-1." Activate only as a sorcery. +A:AB$ Pump | Cost$ R | ActivationZone$ Graveyard | ValidTgts$ Creature.YouCtrl | SorcerySpeed$ True | TgtPrompt$ Select target creature you control | SubAbility$ DBChange | StackDescription$ REP Return_{p:You} returns & your_their & target creature you control_{c:Targeted} & ." Activate only as a sorcery._." | SpellDescription$ Return CARDNAME from your graveyard to the battlefield attached to target creature you control. CARDNAME perpetually gains "Enchanted creature gets -1/-1." Activate only as a sorcery. +SVar:DBChange:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | AttachedTo$ ParentTarget | SubAbility$ DBAnimate | StackDescription$ None +SVar:DBAnimate:DB$ Animate | staticAbilities$ Hunger | Defined$ Self | Duration$ Perpetual | StackDescription$ None SVar:Hunger:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ -1 | AddToughness$ -1 | Description$ Enchanted creature gets -1/-1. DeckHas:Ability$Graveyard Oracle:Enchant creature you control\nEnchanted creature gets +3/+2, has haste, and attacks each combat if able.\n{R}: Return Craving of Yeenoghu from your graveyard to the battlefield attached to target creature you control. Craving of Yeenoghu perpetually gains "Enchanted creature gets -1/-1." Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/c/crown_of_convergence.txt b/forge-gui/res/cardsfolder/c/crown_of_convergence.txt index 0152b053907..6c866791c82 100644 --- a/forge-gui/res/cardsfolder/c/crown_of_convergence.txt +++ b/forge-gui/res/cardsfolder/c/crown_of_convergence.txt @@ -3,6 +3,6 @@ ManaCost:2 Types:Artifact S:Mode$ Continuous | Affected$ Card.TopLibrary+YouCtrl | AffectedZone$ Library | MayLookAt$ Player | Description$ Play with the top card of your library revealed. S:Mode$ Continuous | Affected$ Creature.YouCtrl+SharesColorWith TopOfLibrary | AddPower$ 1 | AddToughness$ 1 | TopCardOfLibraryIs$ Creature | Description$ As long as the top card of your library is a creature card, creatures you control that share a color with that card get +1/+1. -A:AB$ Dig | Cost$ G W | LibraryPosition$ -1 | DigNum$ 1 | Reveal$ False | DestinationZone$ Library | SpellDescription$ Put the top card of your library on the bottom of your library +A:AB$ Dig | Cost$ G W | LibraryPosition$ -1 | DigNum$ 1 | Reveal$ False | DestinationZone$ Library | SpellDescription$ Put the top card of your library on the bottom of your library. AI:RemoveDeck:All Oracle:Play with the top card of your library revealed.\nAs long as the top card of your library is a creature card, creatures you control that share a color with that card get +1/+1.\n{G}{W}: Put the top card of your library on the bottom of your library. diff --git a/forge-gui/res/cardsfolder/c/cruel_reality.txt b/forge-gui/res/cardsfolder/c/cruel_reality.txt index d76bad2bab0..a5f678a5dcc 100644 --- a/forge-gui/res/cardsfolder/c/cruel_reality.txt +++ b/forge-gui/res/cardsfolder/c/cruel_reality.txt @@ -4,7 +4,7 @@ Types:Enchantment Aura Curse K:Enchant player A:SP$ Attach | Cost$ 5 B B | ValidTgts$ Player | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of enchanted player's upkeep, that player sacrifices a creature or planeswalker. If the player can't, they lose 5 life. -SVar:TrigSac:DB$ Sacrifice | SacValid$ Creature,Planeswalker | Defined$ TriggeredPlayer | SubAbility$ DBLoseLife | RememberSacrificed$ True | SpellDescription$ Sacrifice a creature or planeswalker +SVar:TrigSac:DB$ Sacrifice | SacValid$ Creature,Planeswalker | Defined$ TriggeredPlayer | SubAbility$ DBLoseLife | RememberSacrificed$ True | SpellDescription$ Sacrifice a creature or planeswalker. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 5 | Defined$ TriggeredPlayer | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount diff --git a/forge-gui/res/cardsfolder/c/cyclopean_tomb.txt b/forge-gui/res/cardsfolder/c/cyclopean_tomb.txt index a86ab0cc936..cb5261addaa 100644 --- a/forge-gui/res/cardsfolder/c/cyclopean_tomb.txt +++ b/forge-gui/res/cardsfolder/c/cyclopean_tomb.txt @@ -3,7 +3,7 @@ ManaCost:4 Types:Artifact A:AB$ PutCounter | Cost$ 2 T | ValidTgts$ Land.nonSwamp | TgtPrompt$ Select target non-Swamp land | RememberCards$ True | CounterType$ MIRE | CounterNum$ 1 | ActivationPhases$ Upkeep | SubAbility$ DBEffect | SpellDescription$ Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate only during your upkeep. SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | StaticAbilities$ TombStatic | ForgetOnMoved$ Battlefield | ForgetCounter$ MIRE | Duration$ Permanent -SVar:TombStatic:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | AddType$ Swamp | RemoveLandTypes$ True | Description$ That land is a Swamp for as long as it has a mire counter on it +SVar:TombStatic:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | AddType$ Swamp | RemoveLandTypes$ True | Description$ That land is a Swamp for as long as it has a mire counter on it. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigEffect | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, at the beginning of each of your upkeeps for the rest of the game, remove all mire counters from a land that a mire counter was put onto with CARDNAME but that a mire counter has not been removed from with CARDNAME. SVar:TrigEffect:DB$ Effect | RememberObjects$ RememberedCard | Triggers$ UpkeepRemove | ForgetOnMoved$ Battlefield | Duration$ Permanent | SubAbility$ DBClearRemembered SVar:UpkeepRemove:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigRemove | TriggerZones$ Command | TriggerDescription$ At the beginning of your upkeep, remove all mire counters from a land that a mire counter was put onto with EFFECTSOURCE but that a mire counter has not been removed from with EFFECTSOURCE. diff --git a/forge-gui/res/cardsfolder/d/dance_with_calamity.txt b/forge-gui/res/cardsfolder/d/dance_with_calamity.txt index 71e0b4b647e..7b81cadb059 100644 --- a/forge-gui/res/cardsfolder/d/dance_with_calamity.txt +++ b/forge-gui/res/cardsfolder/d/dance_with_calamity.txt @@ -3,7 +3,7 @@ ManaCost:7 R Types:Sorcery A:SP$ Shuffle | SubAbility$ DBChoose | StackDescription$ {p:You} shuffles their library, | SpellDescription$ Shuffle your library. As many times as you choose, you may exile the top card of your library. If the total mana value of the cards exiled this way is 13 or less, you may cast any number of spells from among those cards without paying their mana costs. SVar:DBChoose:DB$ GenericChoice | Choices$ DBRepeat,Play | Defined$ You -SVar:DBRepeat:DB$ Repeat | RepeatSubAbility$ DBDig | RepeatOptional$ True | SubAbility$ Play | SpellDescription$ As many times as you choose, you may exile the top card of your library +SVar:DBRepeat:DB$ Repeat | RepeatSubAbility$ DBDig | RepeatOptional$ True | SubAbility$ Play | SpellDescription$ As many times as you choose, you may exile the top card of your library. SVar:DBDig:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Exile | RememberChanged$ True SVar:Play:DB$ Play | Defined$ Remembered | ValidSA$ Spell | Amount$ All | WithoutManaCost$ True | Optional$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ LE13 | SubAbility$ DBCleanup | SpellDescription$ If the total mana value of the cards exiled this way is 13 or less, you may cast any number of spells from among those cards without paying their mana costs. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/d/dargo_the_shipwrecker.txt b/forge-gui/res/cardsfolder/d/dargo_the_shipwrecker.txt index 9a70a76a073..b1abea710c0 100644 --- a/forge-gui/res/cardsfolder/d/dargo_the_shipwrecker.txt +++ b/forge-gui/res/cardsfolder/d/dargo_the_shipwrecker.txt @@ -2,9 +2,9 @@ Name:Dargo, the Shipwrecker ManaCost:6 R Types:Legendary Creature Giant Pirate PT:7/5 -A:SP$ PermanentCreature | Cost$ 6 R Sac | AILogic$ SacToReduceCost | CostDesc$ As an additional cost to cast this spell, you may sacrifice any number of artifacts and/or creatures. | SpellDescription$ -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Description$ This spell costs {2} less to cast for each permanent sacrificed this way and {2} less to cast for each other artifact or creature you've sacrificed this turn. -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All | Secondary$ True | Description$ This spell costs {2} less to cast for each permanent sacrificed this way and {2} less to cast for each other artifact or creature you've sacrificed this turn. +A:SP$ PermanentCreature | Cost$ 6 R Sac | AILogic$ SacToReduceCost | AdditionalDesc$ This spell costs {2} less to cast for each permanent sacrificed this way and {2} less to cast for each other artifact or creature you've sacrificed this turn. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Z | EffectZone$ All SVar:X:Count$xPaid SVar:Y:SVar$X/Times.2 SVar:Z:PlayerCountPropertyYou$SacrificedThisTurn Artifact,Creature/Times.2 diff --git a/forge-gui/res/cardsfolder/d/davriel_soul_broker.txt b/forge-gui/res/cardsfolder/d/davriel_soul_broker.txt index 97e83731ead..c2584b3d294 100644 --- a/forge-gui/res/cardsfolder/d/davriel_soul_broker.txt +++ b/forge-gui/res/cardsfolder/d/davriel_soul_broker.txt @@ -43,5 +43,5 @@ SVar:UpkeepLoseTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ Tr SVar:TrigLose:DB$ LoseLife | Defined$ You | LifeAmount$ Count$TypeYouCtrl.Creature SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | IsCurse$ True | NumAtt$ -3 | NumDef$ -3 | Duration$ Perpetual | StackDescription$ REP Target creature an opponent controls_{c:Targeted} | SpellDescription$ Target creature an opponent controls perpetually gets -3/-3. -DeckHas:Ability$LifeGain|Graveyard|Sacrifice|LifeGain +DeckHas:Ability$LifeGain|Graveyard|Sacrifice Oracle:[+1]: Until your next turn, whenever an opponent attacks you and/or planeswalkers you control, they discard a card. If they can't, they sacrifice an attacking creature.\n[-2]: Accept one of Davriel's offers, then accept one of Davriel's conditions.\n[-3]: Target creature an opponent controls perpetually gets -3/-3. diff --git a/forge-gui/res/cardsfolder/d/death_mutation.txt b/forge-gui/res/cardsfolder/d/death_mutation.txt index ae6b2d3181d..de1e11d4254 100644 --- a/forge-gui/res/cardsfolder/d/death_mutation.txt +++ b/forge-gui/res/cardsfolder/d/death_mutation.txt @@ -2,7 +2,7 @@ Name:Death Mutation ManaCost:6 B G Types:Sorcery A:SP$ Destroy | ValidTgts$ Creature.nonBlack | TgtPrompt$ Select target nonblack creature | NoRegen$ True | SubAbility$ TrigToken | SpellDescription$ Destroy target nonblack creature. It can't be regenerated. Create X 1/1 green Saproling creature tokens, where X is that creature's mana value. -# X will be the Converted Mana Cost of the target of Mutation +# X will be the converted mana cost of the target of Death Mutation SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ g_1_1_saproling | TokenOwner$ You SVar:X:Targeted$CardManaCost DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/d/deathless_behemoth.txt b/forge-gui/res/cardsfolder/d/deathless_behemoth.txt index e327e92d57a..8f24ba68a8e 100644 --- a/forge-gui/res/cardsfolder/d/deathless_behemoth.txt +++ b/forge-gui/res/cardsfolder/d/deathless_behemoth.txt @@ -3,6 +3,6 @@ ManaCost:6 Types:Creature Eldrazi PT:6/6 K:Vigilance -A:AB$ ChangeZone | Cost$ Sac<2/Eldrazi.Scion> | Origin$ Graveyard | Destination$ Hand | ActivationZone$ Graveyard | SorcerySpeed$ True | SpellDescription$ Return CARDNAME from your graveyard to your hand. Activate only as a sorcery. | CostDesc$ Sacrifice two Eldrazi Scions: +A:AB$ ChangeZone | Cost$ Sac<2/Eldrazi.Scion> | CostDesc$ Sacrifice two Eldrazi Scions: | Origin$ Graveyard | Destination$ Hand | ActivationZone$ Graveyard | SorcerySpeed$ True | SpellDescription$ Return CARDNAME from your graveyard to your hand. Activate only as a sorcery. SVar:DiscardMe:1 Oracle:Vigilance\nSacrifice two Eldrazi Scions: Return Deathless Behemoth from your graveyard to your hand. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/d/deathmist_raptor.txt b/forge-gui/res/cardsfolder/d/deathmist_raptor.txt index b3ee2a22d22..6fa904b4454 100644 --- a/forge-gui/res/cardsfolder/d/deathmist_raptor.txt +++ b/forge-gui/res/cardsfolder/d/deathmist_raptor.txt @@ -6,6 +6,6 @@ K:Deathtouch K:Megamorph:4 G T:Mode$ TurnFaceUp | ValidCard$ Permanent.YouCtrl | Execute$ TrigChange | TriggerZones$ Graveyard | OptionalDecider$ You | TriggerDescription$ Whenever a permanent you control is turned face up, you may return CARDNAME from your graveyard to the battlefield face up or face down. SVar:TrigChange:DB$ GenericChoice | Choices$ DBTop,DBBottom -SVar:DBTop:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | SpellDescription$ Put it on battlefield face up -SVar:DBBottom:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | FaceDown$ True | SpellDescription$ Put it on battlefield face down +SVar:DBTop:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | SpellDescription$ Put CARDNAME on battlefield face up. +SVar:DBBottom:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | FaceDown$ True | SpellDescription$ Put CARDNAME on battlefield face down. Oracle:Deathtouch\nWhenever a permanent you control is turned face up, you may return Deathmist Raptor from your graveyard to the battlefield face up or face down.\nMegamorph {4}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.) diff --git a/forge-gui/res/cardsfolder/d/decree_of_annihilation.txt b/forge-gui/res/cardsfolder/d/decree_of_annihilation.txt index 9062dc89db9..6892743fb94 100644 --- a/forge-gui/res/cardsfolder/d/decree_of_annihilation.txt +++ b/forge-gui/res/cardsfolder/d/decree_of_annihilation.txt @@ -3,7 +3,7 @@ ManaCost:8 R R Types:Sorcery K:Cycling:5 R R A:SP$ ChangeZoneAll | ChangeType$ Artifact,Land,Creature | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBExileHand | SpellDescription$ Exile all artifacts, creatures, and lands from the battlefield, all cards from all graveyards, and all cards from all hands. -T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigDestroyAll | TriggerDescription$ When you cycle CARDNAME, destroy all lands +T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigDestroyAll | TriggerDescription$ When you cycle CARDNAME, destroy all lands. SVar:DBExileHand:DB$ ChangeZoneAll | ChangeType$ Card | Origin$ Hand | Destination$ Exile | SubAbility$ DBExileGraveyard SVar:DBExileGraveyard:DB$ ChangeZoneAll | ChangeType$ Card | Origin$ Graveyard | Destination$ Exile SVar:TrigDestroyAll:DB$ DestroyAll | ValidCards$ Land | SpellDescription$ Destroy all lands. diff --git a/forge-gui/res/cardsfolder/d/deep_dish_pizza.txt b/forge-gui/res/cardsfolder/d/deep_dish_pizza.txt index d89d3a90ae8..170b36af19d 100644 --- a/forge-gui/res/cardsfolder/d/deep_dish_pizza.txt +++ b/forge-gui/res/cardsfolder/d/deep_dish_pizza.txt @@ -6,4 +6,4 @@ A:AB$ GainLife | Cost$ 2 T Sac<1/CARDNAME> | LifeAmount$ 3 | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | NumCards$ 3 | SubAbility$ DBDamage SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ 3 DeckHas:Ability$LifeGain|Sacrifice -Oracle:Suspend 2—{2} (Deep Dish Pizza has no mana cost and must be suspended.)\n{2}, {T}, Sacrifice Deep Dish Pizza: Gain 3 life, draw three cards, and Deep Dish Pizza deals 3 damage to each opponent. +Oracle:Suspend 2—{2} (Deep Dish Pizza has no mana cost and must be suspended.)\n{2}, {T}, Sacrifice Deep Dish Pizza: Gain 3 life, draw three cards, and Deep Dish Pizza deals 3 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/d/demon_of_fates_design.txt b/forge-gui/res/cardsfolder/d/demon_of_fates_design.txt index 57d45fdee43..c17abe70b5b 100644 --- a/forge-gui/res/cardsfolder/d/demon_of_fates_design.txt +++ b/forge-gui/res/cardsfolder/d/demon_of_fates_design.txt @@ -4,7 +4,7 @@ Types:Enchantment Creature Demon PT:6/6 K:Flying K:Trample -S:Mode$ Continuous | Affected$ Card.Enchantment+YouCtrl+nonLand | MayPlayLimit$ 1 | MayPlay$ True | MayPlayAltManaCost$ PayLife | MayPlayDontGrantZonePermissions$ True | AffectedZone$ Hand,Graveyard,Exile,Library,Command | Description$ Once during each of your turns, you may cast an enchantment spell by paying life equal to its mana value rather than paying its mana cost. +S:Mode$ Continuous | Condition$ PlayerTurn | Affected$ Card.Enchantment+YouCtrl+nonLand | MayPlayLimit$ 1 | MayPlay$ True | MayPlayAltManaCost$ PayLife | MayPlayDontGrantZonePermissions$ True | AffectedZone$ Hand,Graveyard,Exile,Library,Command | Description$ Once during each of your turns, you may cast an enchantment spell by paying life equal to its mana value rather than paying its mana cost. A:AB$ Pump | Cost$ 2 B Sac<1/Enchantment.Other> | NumAtt$ X | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is the sacrificed enchantment's mana value. SVar:X:Sacrificed$CardManaCost DeckHints:Type$Enchantment diff --git a/forge-gui/res/cardsfolder/d/dirge_of_dread.txt b/forge-gui/res/cardsfolder/d/dirge_of_dread.txt index fda55126a8b..53ada5ac5ab 100644 --- a/forge-gui/res/cardsfolder/d/dirge_of_dread.txt +++ b/forge-gui/res/cardsfolder/d/dirge_of_dread.txt @@ -2,7 +2,7 @@ Name:Dirge of Dread ManaCost:2 B Types:Sorcery A:SP$ PumpAll | ValidCards$ Creature | KW$ Fear | SpellDescription$ All creatures gain fear until end of turn. -T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigPump | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may have target creature gain fear until end of turn +T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigPump | OptionalDecider$ You | TriggerDescription$ When you cycle CARDNAME, you may have target creature gain fear until end of turn. K:Cycling:1 B SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Fear Oracle:All creatures gain fear until end of turn. (They can't be blocked except by artifact creatures and/or black creatures.)\nCycling {1}{B} ({1}{B}, Discard this card: Draw a card.)\nWhen you cycle Dirge of Dread, you may have target creature gain fear until end of turn. diff --git a/forge-gui/res/cardsfolder/d/disciple_of_caelus_nin.txt b/forge-gui/res/cardsfolder/d/disciple_of_caelus_nin.txt index 97616968a52..cc3419f16df 100644 --- a/forge-gui/res/cardsfolder/d/disciple_of_caelus_nin.txt +++ b/forge-gui/res/cardsfolder/d/disciple_of_caelus_nin.txt @@ -3,7 +3,7 @@ ManaCost:4 W Types:Creature Human Wizard PT:3/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigRepeatEach | TriggerDescription$ When CARDNAME enters, starting with you, each player chooses up to five permanents they control. All permanents other than CARDNAME that weren't chosen this way phase out. -SVar:TrigRepeatEach:DB$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBChoosePermanent | SubAbility$ DBPhaseOut +SVar:TrigRepeatEach:DB$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBChoosePermanent | SubAbility$ DBPhaseOut SVar:DBChoosePermanent:DB$ ChooseCard | ChoiceTitle$ Choose up to five permanents you control | MinAmount$ 0 | Amount$ 5 | Defined$ Remembered | Choices$ Permanent.RememberedPlayerCtrl | RememberChosen$ True | AILogic$ NotSelf SVar:DBPhaseOut:DB$ Phases | AllValid$ Permanent.Other+IsNotRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/d/diviners_wand.txt b/forge-gui/res/cardsfolder/d/diviners_wand.txt index 01a5a041698..0f52a5f90f9 100644 --- a/forge-gui/res/cardsfolder/d/diviners_wand.txt +++ b/forge-gui/res/cardsfolder/d/diviners_wand.txt @@ -5,7 +5,7 @@ K:Equip:3 S:Mode$ Continuous | Affected$ Card.EquippedBy | AddAbility$ DivinerDraw | AddTrigger$ TrigDraw | AddSVar$ DivinerTrigPump | Description$ Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card." T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Wizard | TriggerZones$ Battlefield | Execute$ TrigAttach | OptionalDecider$ You | TriggerDescription$ Whenever a Wizard creature enters, you may attach CARDNAME to it. SVar:TrigAttach:DB$ Attach | Defined$ TriggeredCard -SVar:TrigDraw:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ DivinerTrigPump | TriggerDescription$ Whenever you draw a card, CARDNAME gets +1/+1 and gains flying until end of turn +SVar:TrigDraw:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ DivinerTrigPump | TriggerDescription$ Whenever you draw a card, CARDNAME gets +1/+1 and gains flying until end of turn. SVar:DivinerTrigPump:DB$ Pump | Defined$ Self | NumAtt$ 1 | NumDef$ 1 | KW$ Flying SVar:DivinerDraw:AB$ Draw | Cost$ 4 | NumCards$ 1 | SpellDescription$ Draw a card. Oracle:Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card."\nWhenever a Wizard creature enters, you may attach Diviner's Wand to it.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/d/dragonlord_kolaghan.txt b/forge-gui/res/cardsfolder/d/dragonlord_kolaghan.txt index 7239b2a5bf6..5a0f249f4ec 100644 --- a/forge-gui/res/cardsfolder/d/dragonlord_kolaghan.txt +++ b/forge-gui/res/cardsfolder/d/dragonlord_kolaghan.txt @@ -5,7 +5,7 @@ PT:6/5 K:Flying K:Haste S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddKeyword$ Haste | Description$ Other creatures you control have haste. -T:Mode$ SpellCast | ValidCard$ Creature,Planeswalker | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | SharesNameWithActivatorsZone$ Graveyard | Execute$ TrigLoseLife | TriggerDescription$ Whenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, that player loses 10 life. +T:Mode$ SpellCast | ValidSAonCard$ Spell.Creature+sharesNameWith YourGraveyard,Spell.Planeswalker+sharesNameWith YourGraveyard | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, that player loses 10 life. SVar:TrigLoseLife:DB$ LoseLife | Defined$ TriggeredActivator | LifeAmount$ 10 SVar:PlayMain1:TRUE Oracle:Flying, haste\nOther creatures you control have haste.\nWhenever an opponent casts a creature or planeswalker spell with the same name as a card in their graveyard, that player loses 10 life. diff --git a/forge-gui/res/cardsfolder/d/dredge_the_mire.txt b/forge-gui/res/cardsfolder/d/dredge_the_mire.txt index 4c570f3fb95..74125fe6b48 100644 --- a/forge-gui/res/cardsfolder/d/dredge_the_mire.txt +++ b/forge-gui/res/cardsfolder/d/dredge_the_mire.txt @@ -1,10 +1,8 @@ Name:Dredge the Mire ManaCost:3 B Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChoose | SubAbility$ DBChangeZone | SpellDescription$ Each opponent chooses a creature card in their graveyard. Put those cards onto the battlefield under your control. -SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Mandatory$ True | Choices$ Creature.RememberedPlayerOwn | ChoiceTitle$ Choose a creature card in your graveyard | ChoiceZone$ Graveyard | RememberChosen$ True | AILogic$ WorstCard -SVar:DBChangeZone:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ChangeType$ Card.IsRemembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True +A:SP$ ChooseCard | Defined$ Opponent | Mandatory$ True | Choices$ Creature | ControlledByPlayer$ Chooser | ChoiceTitle$ Choose a creature card in your graveyard | ChoiceZone$ Graveyard | AILogic$ WorstCard | SubAbility$ DBChangeZone | SpellDescription$ Each opponent chooses a creature card in their graveyard. Put those cards onto the battlefield under your control. +SVar:DBChangeZone:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ChangeType$ Card.ChosenCard SVar:NeedsToPlayVar:Z GE1 SVar:Z:Count$ValidGraveyard Creature.OppOwn Oracle:Each opponent chooses a creature card in their graveyard. Put those cards onto the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/d/drowner_of_hope.txt b/forge-gui/res/cardsfolder/d/drowner_of_hope.txt index 5e218e2ce88..1fcd8d7b829 100644 --- a/forge-gui/res/cardsfolder/d/drowner_of_hope.txt +++ b/forge-gui/res/cardsfolder/d/drowner_of_hope.txt @@ -5,7 +5,7 @@ PT:5/5 K:Devoid T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}." SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ c_1_1_eldrazi_scion_sac | TokenOwner$ You -A:AB$ Tap | Cost$ Sac<1/Card.Eldrazi+Scion> | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. | CostDesc$ Sacrifice an Eldrazi Scion: +A:AB$ Tap | Cost$ Sac<1/Card.Eldrazi+Scion> | CostDesc$ Sacrifice an Eldrazi Scion: | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. DeckHints:Type$Eldrazi DeckHas:Ability$Mana.Colorless|Token Oracle:Devoid (This card has no color.)\nWhen Drowner of Hope enters, create two 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."\nSacrifice an Eldrazi Scion: Tap target creature. diff --git a/forge-gui/res/cardsfolder/d/druid_of_purification.txt b/forge-gui/res/cardsfolder/d/druid_of_purification.txt index 482e53ecac5..7eae6bb131c 100644 --- a/forge-gui/res/cardsfolder/d/druid_of_purification.txt +++ b/forge-gui/res/cardsfolder/d/druid_of_purification.txt @@ -3,9 +3,8 @@ ManaCost:3 G Types:Creature Human Druid PT:2/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoice | TriggerDescription$ When CARDNAME enters, starting with you, each player may choose an artifact or enchantment you don't control. Destroy each permanent chosen this way. -SVar:TrigChoice:DB$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBChoosePermanent | SubAbility$ DBDestroy -SVar:DBChoosePermanent:DB$ ChooseCard | Defined$ Remembered | Choices$ Artifact.YouDontCtrl,Enchantment.YouDontCtrl | Optional$ True | ChoiceTitle$ Choose an artifact or enchantment | RememberChosen$ True -SVar:DBDestroy:DB$ Destroy | Defined$ Remembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigChoice:DB$ ChooseCard | Defined$ Player | StartingWith$ You | Choices$ Artifact.YouDontCtrl,Enchantment.YouDontCtrl | Optional$ True | ChoiceTitle$ Choose an artifact or enchantment | SubAbility$ DBDestroy +SVar:DBDestroy:DB$ Destroy | Defined$ ChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True AI:RemoveDeck:Random Oracle:When Druid of Purification enters, starting with you, each player may choose an artifact or enchantment you don't control. Destroy each permanent chosen this way. diff --git a/forge-gui/res/cardsfolder/d/dungeon_master.txt b/forge-gui/res/cardsfolder/d/dungeon_master.txt index ac646a56e1c..14b6c59bd7e 100644 --- a/forge-gui/res/cardsfolder/d/dungeon_master.txt +++ b/forge-gui/res/cardsfolder/d/dungeon_master.txt @@ -3,7 +3,7 @@ ManaCost:2 W U Types:Legendary Planeswalker Dungeon Master Loyalty:1 K:ETBReplacement:Other:RollLoyal -SVar:RollLoyal:DB$ RollDice | Sides$ 4 | ResultSVar$ Result | SubAbility$ DBLoyalty | SpellDescription$ Add 1d4 loyalty counters to CARDNAME +SVar:RollLoyal:DB$ RollDice | Sides$ 4 | ResultSVar$ Result | SubAbility$ DBLoyalty | SpellDescription$ Add 1d4 loyalty counters to CARDNAME. SVar:DBLoyalty:DB$ PutCounter | Defined$ Self | CounterType$ LOYALTY | CounterNum$ Result | ETB$ True A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | ValidTgts$ Opponent | TokenOwner$ Targeted | TokenScript$ b_1_1_skeleton_opp_life | Planeswalker$ True | SpellDescription$ Target opponent creates a 1/1 black Skeleton creature token with "When this creature dies, each opponent gains 2 life." A:AB$ RollDice | Cost$ AddCounter<1/LOYALTY> | Sides$ 20 | ResultSubAbilities$ 1:DBSkipTurn,12-20:DBDraw | Planeswalker$ True | SpellDescription$ Roll a d20. If you roll a 1, skip your next turn. If you roll a 12 or higher, draw a card. diff --git a/forge-gui/res/cardsfolder/d/dusks_landing.txt b/forge-gui/res/cardsfolder/d/dusks_landing.txt index 087b9805842..7b1de225ddf 100644 --- a/forge-gui/res/cardsfolder/d/dusks_landing.txt +++ b/forge-gui/res/cardsfolder/d/dusks_landing.txt @@ -3,7 +3,7 @@ ManaCost:B Types:Sorcery A:SP$ Branch | BranchConditionSVar$ LifeCheck | BranchConditionSVarCompare$ GE2 | FalseSubAbility$ DBDraw | TrueSubAbility$ DBSeek | SpellDescription$ Draw a card. If an opponent lost life this turn and you gained life this turn, seek two Vampire cards instead. SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ Draw a card. -SVar:DBSeek:DB$ Seek | Num$ 2 | Type$ Vampire | SpellDescription$ Seek two Vampire card +SVar:DBSeek:DB$ Seek | Num$ 2 | Type$ Vampire | SpellDescription$ Seek two Vampire cards. SVar:LifeCheck:SVar$Y/Plus.X SVar:X:Count$LifeOppsLostThisTurn/LimitMax.1 SVar:Y:Count$LifeYouGainedThisTurn/LimitMax.1 diff --git a/forge-gui/res/cardsfolder/d/dwindle.txt b/forge-gui/res/cardsfolder/d/dwindle.txt index 0fb8ccfa904..3c08bf17d50 100644 --- a/forge-gui/res/cardsfolder/d/dwindle.txt +++ b/forge-gui/res/cardsfolder/d/dwindle.txt @@ -2,7 +2,7 @@ Name:Dwindle ManaCost:2 U Types:Enchantment Aura K:Enchant creature -A:SP$ Attach | Cost$ 2 U | ValidTgts$ Creature | IsCurse$ True | SpellDescription$ Enchant creature +A:SP$ Attach | Cost$ 2 U | ValidTgts$ Creature | IsCurse$ True S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ -6 | AddToughness$ -0 | Description$ Enchanted creature gets -6/-0. T:Mode$ AttackerBlockedByCreature | ValidCard$ Creature | ValidBlocker$ Creature.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When enchanted creature blocks, destroy it. SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredBlockerLKICopy diff --git a/forge-gui/res/cardsfolder/e/eladamris_vineyard.txt b/forge-gui/res/cardsfolder/e/eladamris_vineyard.txt index 91e24ff94e0..219aa0c04ac 100644 --- a/forge-gui/res/cardsfolder/e/eladamris_vineyard.txt +++ b/forge-gui/res/cardsfolder/e/eladamris_vineyard.txt @@ -1,6 +1,6 @@ Name:Eladamri's Vineyard ManaCost:G Types:Enchantment -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of each player's precombat main phase, that player adds {G}{G}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of each player's first main phase, that player adds {G}{G}. SVar:TrigMana:DB$ Mana | Produced$ G | Amount$ 2 | Defined$ TriggeredPlayer -Oracle:At the beginning of each player's precombat main phase, that player adds {G}{G}. +Oracle:At the beginning of each player's first main phase, that player adds {G}{G}. diff --git a/forge-gui/res/cardsfolder/e/electrozoa.txt b/forge-gui/res/cardsfolder/e/electrozoa.txt index bc850d050c4..f33ff1e94aa 100644 --- a/forge-gui/res/cardsfolder/e/electrozoa.txt +++ b/forge-gui/res/cardsfolder/e/electrozoa.txt @@ -6,6 +6,6 @@ K:Flash K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEnergy | TriggerDescription$ When CARDNAME enters, you get {E}{E} (two energy counters). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTap | TriggerDescription$ At the beginning of your precombat main phase, tap CARDNAME unless you pay {E}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTap | TriggerDescription$ At the beginning of your first main phase, tap CARDNAME unless you pay {E}. SVar:TrigTap:DB$ Tap | UnlessCost$ PayEnergy<1> | UnlessPayer$ You | Defined$ Self -Oracle:Flash\nFlying\nWhen Electrozoa enters, you get {E}{E} (two energy counters).\nAt the beginning of your precombat main phase, tap Electrozoa unless you pay {E}. +Oracle:Flash\nFlying\nWhen Electrozoa enters, you get {E}{E} (two energy counters).\nAt the beginning of your first main phase, tap Electrozoa unless you pay {E}. diff --git a/forge-gui/res/cardsfolder/e/elemental_resonance.txt b/forge-gui/res/cardsfolder/e/elemental_resonance.txt index 021dfc8ffe3..0425ada24a8 100644 --- a/forge-gui/res/cardsfolder/e/elemental_resonance.txt +++ b/forge-gui/res/cardsfolder/e/elemental_resonance.txt @@ -3,6 +3,6 @@ ManaCost:2 G G Types:Enchantment Aura K:Enchant permanent A:SP$ Attach | Cost$ 2 G G | ValidTgts$ Permanent | AILogic$ Pump -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your precombat main phase, add mana equal to enchanted permanent's mana cost. (Mana cost includes color. If a mana symbol has multiple colors, choose one.) +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your first main phase, add mana equal to enchanted permanent's mana cost. (Mana cost includes color. If a mana symbol has multiple colors, choose one.) SVar:TrigMana:DB$ Mana | Produced$ Special EnchantedManaCost -Oracle:Enchant permanent\nAt the beginning of your precombat main phase, add mana equal to enchanted permanent's mana cost. (Mana cost includes color. If a mana symbol has multiple colors, choose one.) +Oracle:Enchant permanent\nAt the beginning of your first main phase, add mana equal to enchanted permanent's mana cost. (Mana cost includes color. If a mana symbol has multiple colors, choose one.) diff --git a/forge-gui/res/cardsfolder/e/emberwilde_djinn.txt b/forge-gui/res/cardsfolder/e/emberwilde_djinn.txt index 05ed53226c5..34d24086442 100644 --- a/forge-gui/res/cardsfolder/e/emberwilde_djinn.txt +++ b/forge-gui/res/cardsfolder/e/emberwilde_djinn.txt @@ -5,6 +5,6 @@ PT:5/4 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may pay {R}{R} or 2 life. If the player does, they gain control of CARDNAME. SVar:TrigChoose:DB$ GenericChoice | Defined$ TriggeredPlayer | AILogic$ PayUnlessCost | Choices$ PayRR,Pay2Life -SVar:PayRR:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ R R | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay R R to gain control of CARDNAME -SVar:Pay2Life:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ PayLife<2> | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay 2 life to gain control of CARDNAME +SVar:PayRR:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ R R | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay R R to gain control of CARDNAME. +SVar:Pay2Life:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ PayLife<2> | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay 2 life to gain control of CARDNAME. Oracle:Flying\nAt the beginning of each player's upkeep, that player may pay {R}{R} or 2 life. If the player does, they gain control of Emberwilde Djinn. diff --git a/forge-gui/res/cardsfolder/e/emrakuls_evangel.txt b/forge-gui/res/cardsfolder/e/emrakuls_evangel.txt index 8a9928b3275..712b1b82800 100644 --- a/forge-gui/res/cardsfolder/e/emrakuls_evangel.txt +++ b/forge-gui/res/cardsfolder/e/emrakuls_evangel.txt @@ -2,7 +2,7 @@ Name:Emrakul's Evangel ManaCost:2 G Types:Creature Human Horror PT:3/2 -A:AB$ Token | Cost$ T Sac Sac<1/CARDNAME> | TokenAmount$ Y | TokenScript$ c_3_2_eldrazi_horror | TokenOwner$ You | SpellDescription$ Create a 3/2 colorless Eldrazi Horror creature token for each creature sacrificed this way. | CostDesc$ {T}, Sacrifice CARDNAME and any number of other non-Eldrazi creatures: +A:AB$ Token | Cost$ T Sac Sac<1/CARDNAME> | CostDesc$ {T}, Sacrifice CARDNAME and any number of other non-Eldrazi creatures: | TokenAmount$ Y | TokenScript$ c_3_2_eldrazi_horror | TokenOwner$ You | SpellDescription$ Create a 3/2 colorless Eldrazi Horror creature token for each creature sacrificed this way. SVar:Y:Sacrificed$Valid Creature SVar:X:Count$xPaid DeckHints:Ability$Token & Type$Eldrazi|Horror diff --git a/forge-gui/res/cardsfolder/e/enervate.txt b/forge-gui/res/cardsfolder/e/enervate.txt index 652658eeb57..27745feb767 100644 --- a/forge-gui/res/cardsfolder/e/enervate.txt +++ b/forge-gui/res/cardsfolder/e/enervate.txt @@ -1,7 +1,7 @@ Name:Enervate ManaCost:1 U Types:Instant -A:SP$ Tap | TgtPrompt$ Choose target artifact, creature or land | ValidTgts$ Artifact,Creature,Land | SpellDescription$ Tap target artifact, creature or land. Draw a card at the beginning of next turn's upkeep | SubAbility$ DelTrigSlowtrip +A:SP$ Tap | TgtPrompt$ Choose target artifact, creature or land | ValidTgts$ Artifact,Creature,Land | SpellDescription$ Tap target artifact, creature or land. Draw a card at the beginning of next turn's upkeep. | SubAbility$ DelTrigSlowtrip SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | TriggerDescription$ Draw a card. SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/e/environmental_sciences.txt b/forge-gui/res/cardsfolder/e/environmental_sciences.txt index 5adaa38dd2b..ec41b822cb2 100644 --- a/forge-gui/res/cardsfolder/e/environmental_sciences.txt +++ b/forge-gui/res/cardsfolder/e/environmental_sciences.txt @@ -3,5 +3,5 @@ ManaCost:2 Types:Sorcery Lesson A:SP$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic | ChangeNum$ 1 | SubAbility$ DBGainLife | SpellDescription$ Search your library for a basic land card, reveal it, put it into your hand, then shuffle. You gain 2 life. SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 -DeckHas:Ability$GainLife +DeckHas:Ability$LifeGain Oracle:Search your library for a basic land card, reveal it, put it into your hand, then shuffle. You gain 2 life. diff --git a/forge-gui/res/cardsfolder/e/erg_raiders.txt b/forge-gui/res/cardsfolder/e/erg_raiders.txt index da8667a3c76..ee3b141002e 100644 --- a/forge-gui/res/cardsfolder/e/erg_raiders.txt +++ b/forge-gui/res/cardsfolder/e/erg_raiders.txt @@ -3,6 +3,6 @@ ManaCost:1 B Types:Creature Human Warrior PT:2/3 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | IsPresent$ Card.Self+notAttackedThisTurn | TriggerDescription$ At the beginning of your end step, if CARDNAME didn't attack this turn, CARDNAME deals 2 damage to you unless it came under your control this turn. -SVar:TrigDamage:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionPresent$ Card.Self+notFirstTurnControlled | ConditionCompare$ EQ1 +SVar:TrigDamage:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionPresent$ Card.Self+!firstTurnControlled | ConditionCompare$ EQ1 SVar:MustAttack:True Oracle:At the beginning of your end step, if Erg Raiders didn't attack this turn, Erg Raiders deals 2 damage to you unless it came under your control this turn. diff --git a/forge-gui/res/cardsfolder/e/erhnam_djinn.txt b/forge-gui/res/cardsfolder/e/erhnam_djinn.txt index b4496126960..4d128e0f7ae 100644 --- a/forge-gui/res/cardsfolder/e/erhnam_djinn.txt +++ b/forge-gui/res/cardsfolder/e/erhnam_djinn.txt @@ -4,5 +4,5 @@ Types:Creature Djinn PT:4/5 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ At the beginning of your upkeep, target non-Wall creature an opponent controls gains forestwalk until your next upkeep. (It can't be blocked as long as defending player controls a Forest.) SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.nonWall+OppCtrl | TgtPrompt$ Select target non-Wall creature an opponent controls | KW$ Landwalk:Forest | Duration$ UntilYourNextUpkeep -DeckHas:Ability$Forestwalk +DeckHas:Keyword$Forestwalk Oracle:At the beginning of your upkeep, target non-Wall creature an opponent controls gains forestwalk until your next upkeep. (It can't be blocked as long as defending player controls a Forest.) diff --git a/forge-gui/res/cardsfolder/e/erosion.txt b/forge-gui/res/cardsfolder/e/erosion.txt index f2e8c896e71..95f5137c9d9 100644 --- a/forge-gui/res/cardsfolder/e/erosion.txt +++ b/forge-gui/res/cardsfolder/e/erosion.txt @@ -5,6 +5,6 @@ K:Enchant land A:SP$ Attach | Cost$ U U U | ValidTgts$ Land | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedController | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the upkeep of enchanted land's controller, destroy that land unless that player pays {1} or 1 life. SVar:TrigDestroy:DB$ GenericChoice | Choices$ Pay1,Pay1Life | AILogic$ PayUnlessCost | Defined$ TriggeredPlayer -SVar:Pay1:DB$ Destroy | Defined$ Enchanted | UnlessCost$ 1 | UnlessPayer$ TriggeredPlayer | SpellDescription$ Destroy enchanted land unless you pay {1} -SVar:Pay1Life:DB$ Destroy | Defined$ Enchanted | UnlessCost$ PayLife<1> | UnlessPayer$ TriggeredPlayer | SpellDescription$ Destroy enchanted land unless you pay 1 life +SVar:Pay1:DB$ Destroy | Defined$ Enchanted | UnlessCost$ 1 | UnlessPayer$ TriggeredPlayer | SpellDescription$ Destroy enchanted land unless you pay {1}. +SVar:Pay1Life:DB$ Destroy | Defined$ Enchanted | UnlessCost$ PayLife<1> | UnlessPayer$ TriggeredPlayer | SpellDescription$ Destroy enchanted land unless you pay 1 life. Oracle:Enchant land\nAt the beginning of the upkeep of enchanted land's controller, destroy that land unless that player pays {1} or 1 life. diff --git a/forge-gui/res/cardsfolder/e/etched_host_doombringer.txt b/forge-gui/res/cardsfolder/e/etched_host_doombringer.txt index 3640737ce6d..6e5116d4cdb 100644 --- a/forge-gui/res/cardsfolder/e/etched_host_doombringer.txt +++ b/forge-gui/res/cardsfolder/e/etched_host_doombringer.txt @@ -6,7 +6,7 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigCharm:DB$ Charm | Choices$ Drain,Battle SVar:Drain:DB$ LoseLife | ValidTgts$ Opponent | LifeAmount$ 2 | SubAbility$ DBGainLife | SpellDescription$ Target opponent loses 2 life and you gain 2 life. SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | StackDescription$ None -SVar:Battle:DB$ AddOrRemoveCounter | ValidTgts$ Battle | RemoveConditionSVar$ Targeted$Valid Battle.OppProtect | CounterType$ DEFENSE | CounterNum$ 3 | StackDescription$ REP Choose target battle. _ & it_{c:Targeted} | SpellDescription$ Choose target battle. If an opponent protects it, remove three defense counters from it. Otherwise, put three defense counters on it. +SVar:Battle:DB$ AddOrRemoveCounter | ValidTgts$ Battle | RemoveConditionSVar$ Targeted$Valid Battle.OppProtect | CounterType$ DEFENSE | CounterNum$ 3 | StackDescription$ REP Choose target battle_{p:You} chooses {c:Targeted} & remove_{p:You} removes & put_{p:You} puts | SpellDescription$ Choose target battle. If an opponent protects it, remove three defense counters from it. Otherwise, put three defense counters on it. DeckHas:Ability$LifeGain DeckHints:Type$Battle Oracle:When Etched Host Doombringer enters, choose one —\n• Target opponent loses 2 life and you gain 2 life.\n• Choose target battle. If an opponent protects it, remove three defense counters from it. Otherwise, put three defense counters on it. diff --git a/forge-gui/res/cardsfolder/e/eureka.txt b/forge-gui/res/cardsfolder/e/eureka.txt index ff6889f5f55..110337eed18 100644 --- a/forge-gui/res/cardsfolder/e/eureka.txt +++ b/forge-gui/res/cardsfolder/e/eureka.txt @@ -3,11 +3,11 @@ ManaCost:2 G G Types:Sorcery A:SP$ Repeat | RepeatSubAbility$ ResetCheck | RepeatCheckSVar$ NumPlayerGiveup | RepeatSVarCompare$ LTTotalPlayer | SubAbility$ FinalReset | StackDescription$ SpellDescription | SpellDescription$ Starting with you, each player may put a permanent card from their hand onto the battlefield. Repeat this process until no one puts a card onto the battlefield. SVar:ResetCheck:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ Number | Expression$ 0 | SubAbility$ DBRepeatChoice -SVar:DBRepeatChoice:DB$ RepeatEach | StartingWithActivator$ True | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player +SVar:DBRepeatChoice:DB$ RepeatEach | StartingWith$ You | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player SVar:DBChoice:DB$ GenericChoice | Choices$ DBCheckHand,DBNoChange | Defined$ Player.IsRemembered -SVar:DBCheckHand:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose | SpellDescription$ Choose a permanent to put onto the battlefield +SVar:DBCheckHand:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose | SpellDescription$ Choose a permanent to put onto the battlefield. SVar:DBChoose:DB$ ChangeZone | DefinedPlayer$ Player.IsRemembered | Origin$ Hand | Destination$ Battlefield | ChangeType$ Permanent | ChangeNum$ 1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ GE1 -SVar:DBNoChange:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | SpellDescription$ Do not put a permanent onto the battlefield +SVar:DBNoChange:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | SpellDescription$ Do not put a permanent onto the battlefield. SVar:FinalReset:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ Number | Expression$ 0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NumPlayerGiveup:Number$0 diff --git a/forge-gui/res/cardsfolder/e/euru_acorn_scrounger.txt b/forge-gui/res/cardsfolder/e/euru_acorn_scrounger.txt index c382198b507..09c5c466c94 100644 --- a/forge-gui/res/cardsfolder/e/euru_acorn_scrounger.txt +++ b/forge-gui/res/cardsfolder/e/euru_acorn_scrounger.txt @@ -2,7 +2,7 @@ Name:Euru, Acorn Scrounger ManaCost:2 B G Types:Legendary Creature Squirrel Soldier PT:3/3 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigImmediateTrig | TriggerDescription$When CARDNAME enters, you may forage. When you do, conjure a card named Chitterspitter onto the battlefield. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigImmediateTrig | TriggerDescription$ When CARDNAME enters, you may forage. When you do, conjure a card named Chitterspitter onto the battlefield. SVar:TrigImmediateTrig:AB$ ImmediateTrigger | Cost$ Forage | Execute$ TrigConjure | SpellDescription$ When you do, conjure a card named Chitterspitter onto the battlefield. SVar:TrigConjure:DB$ MakeCard | Name$ Chitterspitter | TokenCard$ True | Zone$ Battlefield T:Mode$ DamageDoneOnce | ValidSource$ Squirrel.YouCtrl | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigPutCounterAll | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more Squirrels you control deal combat damage to a player, you may sacrifice a token. If you do, put an acorn counter on each permanent you control named Chitterspitter. diff --git a/forge-gui/res/cardsfolder/f/ferris_wheel.txt b/forge-gui/res/cardsfolder/f/ferris_wheel.txt index 9b0b76da22f..5c9a87e6bbd 100644 --- a/forge-gui/res/cardsfolder/f/ferris_wheel.txt +++ b/forge-gui/res/cardsfolder/f/ferris_wheel.txt @@ -3,9 +3,9 @@ ManaCost:no cost Types:Artifact Attraction Lights:4 5 6 K:Visit:TrigPhaseOut -SVar:TrigPhaseOut:DB$ Phases | ValidTgts$ Creature.IsNotRemembered | RememberAffected$ True | WontPhaseInNormal$ True | SubAbility$ DBEffect | TgtPrompt$ Select target creature that hasn't been phased out by Ferris Wheel | SpellDescription$ Visit — Choose target creature that hasn't been phased out with CARDNAME. That creature phases out until you roll a 3 or less while rolling to visit your Attractions. +SVar:TrigPhaseOut:DB$ Phases | ValidTgts$ Creature.IsNotRemembered | RememberAffected$ True | WontPhaseInNormal$ True | SubAbility$ DBEffect | TgtPrompt$ Select target creature that hasn't been phased out by CARDNAME | SpellDescription$ Visit — Choose target creature that hasn't been phased out with CARDNAME. That creature phases out until you roll a 3 or less while rolling to visit your Attractions. SVar:DBEffect:DB$ Effect | Triggers$ TrigComeBack | RememberObjects$ Remembered | Duration$ Permanent -SVar:TrigComeBack:Mode$ RolledDie | TriggerZones$ Command | Execute$ TrigPhaseIn | Static$ True | ValidResult$ LE3 | RolledToVisitAttractions$ True | ValidPlayer$ You +SVar:TrigComeBack:Mode$ RolledDie | TriggerZones$ Command | Execute$ TrigPhaseIn | Static$ True | ValidResult$ LE3 | RolledToVisitAttractions$ True | ValidPlayer$ You SVar:TrigPhaseIn:DB$ Phases | Defined$ Remembered | PhaseInOrOut$ True | SubAbility$ DBExileSelf SVar:DBExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile | Defined$ Self T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReset | Static$ True diff --git a/forge-gui/res/cardsfolder/f/fiery_gambit.txt b/forge-gui/res/cardsfolder/f/fiery_gambit.txt index 69d3b6afc39..c06e140ab45 100644 --- a/forge-gui/res/cardsfolder/f/fiery_gambit.txt +++ b/forge-gui/res/cardsfolder/f/fiery_gambit.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Sorcery # Target a creature for three damage A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Choose target creature for 3 damage | SubAbility$ RepeatFlip | StackDescription$ None | SpellDescription$ Flip a coin until you lose a flip or choose to stop flipping. If you lose a flip, CARDNAME has no effect. If you win one or more flips, CARDNAME deals 3 damage to target creature. If you win two or more flips, CARDNAME deals 6 damage to each opponent. If you win three or more flips, draw nine cards and untap all lands you control. -# Repeat Flip +# Repeat flip SVar:RepeatFlip:DB$ Repeat | RepeatSubAbility$ FlipAgain | RepeatCheckSVar$ Loss | RepeatSVarCompare$ EQ0 | RepeatOptional$ True | SubAbility$ DamageCreature SVar:FlipAgain:DB$ FlipACoin | WinSubAbility$ IncrementWins | LoseSubAbility$ IncrementLoss SVar:IncrementWins:DB$ StoreSVar | SVar$ Wins | Type$ CountSVar | Expression$ Wins/Plus.1 @@ -13,9 +13,9 @@ SVar:ResetWins:DB$ StoreSVar | SVar$ Wins | Type$ Number | Expression$ 0 SVar:DamageCreature:DB$ DealDamage | Defined$ Targeted | NumDmg$ 3 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE1 | SubAbility$ DamageOpponents # Damage each opponent SVar:DamageOpponents:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 6 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE2 | SubAbility$ DrawNine -# Draw Nine Cards +# Draw nine cards SVar:DrawNine:DB$ Draw | Defined$ You | NumCards$ 9 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE3 | SubAbility$ UntapLands -# Untap Lands +# Untap lands SVar:UntapLands:DB$ UntapAll | ValidCards$ Land.YouCtrl | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE3 SVar:Wins:Number$0 SVar:Loss:Number$0 diff --git a/forge-gui/res/cardsfolder/f/fireglass_mentor.txt b/forge-gui/res/cardsfolder/f/fireglass_mentor.txt index bcf1434a10c..40d6815fe99 100644 --- a/forge-gui/res/cardsfolder/f/fireglass_mentor.txt +++ b/forge-gui/res/cardsfolder/f/fireglass_mentor.txt @@ -2,7 +2,7 @@ Name:Fireglass Mentor ManaCost:B R Types:Creature Lizard Warlock PT:2/1 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your second main phase, if an opponent lost life this turn, exile the top two cards of your library. Choose one of them. Until end of turn, you may play that card. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your second main phase, if an opponent lost life this turn, exile the top two cards of your library. Choose one of them. Until end of turn, you may play that card. SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBChoose SVar:DBChoose:DB$ ChooseCard | Defined$ You | Amount$ 1 | Choices$ Card.IsRemembered | ChoiceZone$ Exile | ChoiceTitle$ Choose one of the exiled cards | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | RememberObjects$ ChosenCard | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/f/flame_fusillade.txt b/forge-gui/res/cardsfolder/f/flame_fusillade.txt index 1cefb66ebd8..7e9f600d89f 100644 --- a/forge-gui/res/cardsfolder/f/flame_fusillade.txt +++ b/forge-gui/res/cardsfolder/f/flame_fusillade.txt @@ -2,6 +2,6 @@ Name:Flame Fusillade ManaCost:3 R Types:Sorcery A:SP$ AnimateAll | ValidCards$ Permanent.YouCtrl | Abilities$ ABDamage | SpellDescription$ Until end of turn, permanents you control gain "{T}: This permanent deals 1 damage to any target." -SVar:ABDamage:AB$ DealDamage | Cost$ T | NumDmg$ 1 | ValidTgts$ Any | SpellDescription$ CARDNAME deals 1 damage to any target +SVar:ABDamage:AB$ DealDamage | Cost$ T | NumDmg$ 1 | ValidTgts$ Any | SpellDescription$ CARDNAME deals 1 damage to any target. AI:RemoveDeck:All Oracle:Until end of turn, permanents you control gain "{T}: This permanent deals 1 damage to any target." diff --git a/forge-gui/res/cardsfolder/f/florian_voldaren_scion.txt b/forge-gui/res/cardsfolder/f/florian_voldaren_scion.txt index 6ed850065f6..aee1a43b5ea 100644 --- a/forge-gui/res/cardsfolder/f/florian_voldaren_scion.txt +++ b/forge-gui/res/cardsfolder/f/florian_voldaren_scion.txt @@ -3,10 +3,10 @@ ManaCost:1 B R Types:Legendary Creature Vampire Noble PT:3/3 K:First Strike -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of each of your postcombat main phases, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. SVar:TrigDig:DB$ Dig | DigNum$ X | ChangeNum$ 1 | DestinationZone$ Exile | RestRandomOrder$ True | RememberChanged$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBCleanup | ForgetOnMoved$ Exile SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play the exiled card this turn. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$LifeOppsLostThisTurn -Oracle:First strike\nAt the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. +Oracle:First strike\nAt the beginning of each of your postcombat main phases, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. diff --git a/forge-gui/res/cardsfolder/f/fly.txt b/forge-gui/res/cardsfolder/f/fly.txt index 0307dcd5dfa..b43dbbed411 100644 --- a/forge-gui/res/cardsfolder/f/fly.txt +++ b/forge-gui/res/cardsfolder/f/fly.txt @@ -4,6 +4,6 @@ Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ U | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Flying | AddTrigger$ TrigDamageDone | Description$ Enchanted creature has flying and "Whenever this creature deals combat damage to a player, venture into the dungeon." (Enter the first room or advance to the next room.) -SVar:TrigDamageDone:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigVenture | TriggerDescription$ Whenever this creature deals combat damage to a player, venture into the dungeon. +SVar:TrigDamageDone:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigVenture | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, venture into the dungeon. SVar:TrigVenture:DB$ Venture Oracle:Enchant creature\nEnchanted creature has flying and "Whenever this creature deals combat damage to a player, venture into the dungeon." (Enter the first room or advance to the next room.) diff --git a/forge-gui/res/cardsfolder/f/forbidden_ritual.txt b/forge-gui/res/cardsfolder/f/forbidden_ritual.txt index 53469145040..a39f629c185 100644 --- a/forge-gui/res/cardsfolder/f/forbidden_ritual.txt +++ b/forge-gui/res/cardsfolder/f/forbidden_ritual.txt @@ -4,8 +4,8 @@ Types:Sorcery A:SP$ Repeat | ValidTgts$ Opponent | RepeatSubAbility$ DBSac | RepeatOptional$ True | StackDescription$ SpellDescription | SpellDescription$ Sacrifice a nontoken permanent. If you do, target opponent loses 2 life unless that player sacrifices a permanent or discards a card. You may repeat this process any number of times. SVar:DBSac:DB$ Sacrifice | SacValid$ Permanent.nonToken | SacMessage$ nontoken permanent | RememberSacrificed$ True | SubAbility$ DBGenericChoice SVar:DBGenericChoice:DB$ GenericChoice | Choices$ PaySac,PayDiscard | Defined$ Targeted | AILogic$ PayUnlessCost | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:PaySac:DB$ LoseLife | LifeAmount$ 2 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE2 | SpellDescription$ You lose 2 life unless you sacrifice a permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 2 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE2 | SpellDescription$ You lose 2 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 2 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE2 | SpellDescription$ You lose 2 life unless you sacrifice a permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 2 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE2 | SpellDescription$ You lose 2 life unless you discard a card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/f/foreboding_statue_forsaken_thresher.txt b/forge-gui/res/cardsfolder/f/foreboding_statue_forsaken_thresher.txt index 55bea03b76b..61c1502a32d 100644 --- a/forge-gui/res/cardsfolder/f/foreboding_statue_forsaken_thresher.txt +++ b/forge-gui/res/cardsfolder/f/foreboding_statue_forsaken_thresher.txt @@ -17,6 +17,6 @@ Name:Forsaken Thresher ManaCost:no cost Types:Artifact Creature Construct PT:5/5 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your precombat main phase, add one mana of any color. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your first main phase, add one mana of any color. SVar:TrigMana:DB$ Mana | Produced$ Any -Oracle:At the beginning of your precombat main phase, add one mana of any color. +Oracle:At the beginning of your first main phase, add one mana of any color. diff --git a/forge-gui/res/cardsfolder/f/fortunate_few.txt b/forge-gui/res/cardsfolder/f/fortunate_few.txt index d39c590222d..27bb6b1ca43 100644 --- a/forge-gui/res/cardsfolder/f/fortunate_few.txt +++ b/forge-gui/res/cardsfolder/f/fortunate_few.txt @@ -1,7 +1,7 @@ Name:Fortunate Few ManaCost:3 W W Types:Sorcery -A:SP$ RepeatEach | StartingWithActivator$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose | SubAbility$ DBDestroyAll | SpellDescription$ Choose a nonland permanent you don't control, then each other player chooses a nonland permanent they don't control that hasn't been chosen this way. Destroy all other nonland permanents. +A:SP$ RepeatEach | StartingWith$ You | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose | SubAbility$ DBDestroyAll | SpellDescription$ Choose a nonland permanent you don't control, then each other player chooses a nonland permanent they don't control that hasn't been chosen this way. Destroy all other nonland permanents. SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Permanent.nonLand+!RememberedPlayerCtrl+IsNotRemembered | RememberChosen$ True | ChoiceZone$ Battlefield | AILogic$ WorstCard SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand+IsNotRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/f/foul_imp.txt b/forge-gui/res/cardsfolder/f/foul_imp.txt index 39587b5244d..2ca039419c0 100644 --- a/forge-gui/res/cardsfolder/f/foul_imp.txt +++ b/forge-gui/res/cardsfolder/f/foul_imp.txt @@ -3,7 +3,6 @@ ManaCost:B B Types:Creature Imp PT:2/2 K:Flying -# Note: The Executing Ability needs to be a Drawback for the AI to properly test it's conditions T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigLoseLife | TriggerDescription$ When CARDNAME enters, you lose 2 life. SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ 2 Oracle:Flying\nWhen Foul Imp enters, you lose 2 life. diff --git a/forge-gui/res/cardsfolder/f/four_knocks.txt b/forge-gui/res/cardsfolder/f/four_knocks.txt index d346942cedc..9d52bd66d5c 100644 --- a/forge-gui/res/cardsfolder/f/four_knocks.txt +++ b/forge-gui/res/cardsfolder/f/four_knocks.txt @@ -2,7 +2,7 @@ Name:Four Knocks ManaCost:2 W Types:Enchantment K:Vanishing:4 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your precombat main phase, draw a card. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your first main phase, draw a card. SVar:TrigDraw:DB$ Draw DeckHas:Ability$Counters -Oracle:Vanishing 4 (This enchantment enters with four time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.)\nAt the beginning of your precombat main phase, draw a card. +Oracle:Vanishing 4 (This enchantment enters with four time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.)\nAt the beginning of your first main phase, draw a card. diff --git a/forge-gui/res/cardsfolder/f/fractal_harness.txt b/forge-gui/res/cardsfolder/f/fractal_harness.txt index 605d9cb1391..6560b649e07 100644 --- a/forge-gui/res/cardsfolder/f/fractal_harness.txt +++ b/forge-gui/res/cardsfolder/f/fractal_harness.txt @@ -9,7 +9,7 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$xPaid T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ TrigDoubleCounters | TriggerDescription$ Whenever equipped creature attacks, double the number of +1/+1 counters on it. SVar:TrigDoubleCounters:DB$ MultiplyCounter | Defined$ TriggeredAttackerLKICopy | CounterType$ P1P1 -S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE | Secondary$ True | Description$ Add attack effect to attached +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddSVar$ AE SVar:AE:SVar:HasAttackEffect:TRUE K:Equip:2 DeckHas:Ability$Token|Counters diff --git a/forge-gui/res/cardsfolder/f/frodo_determined_hero.txt b/forge-gui/res/cardsfolder/f/frodo_determined_hero.txt index afd304fe9a9..81d06d79ba5 100644 --- a/forge-gui/res/cardsfolder/f/frodo_determined_hero.txt +++ b/forge-gui/res/cardsfolder/f/frodo_determined_hero.txt @@ -3,7 +3,7 @@ ManaCost:1 W Types:Legendary Creature Halfling Warrior PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ DBAttach | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME enters or attacks, you may attach target Equipment you control with mana value 2 or 3 to NICKNAME. -T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ DBAttach | TriggerZones$ Battlefield | OptionalDecider$ You | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks, you may attach target Equipment you control with mana value 2 or 3 to NICKNAME +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ DBAttach | TriggerZones$ Battlefield | OptionalDecider$ You | Secondary$ True | TriggerDescription$ Whenever CARDNAME attacks, you may attach target Equipment you control with mana value 2 or 3 to NICKNAME. SVar:DBAttach:DB$ Attach | ValidTgts$ Equipment.cmcEQ2+YouCtrl,Equipment.cmcEQ3+YouCtrl | Object$ Targeted | Defined$ Self R:Event$ DamageDone | ActiveZones$ Battlefield | Prevent$ True | ValidTarget$ Card.Self | PlayerTurn$ True | Description$ As long as it's your turn, prevent all damage that would be dealt to NICKNAME. DeckHints:Type$Equipment diff --git a/forge-gui/res/cardsfolder/g/gabriel_angelfire.txt b/forge-gui/res/cardsfolder/g/gabriel_angelfire.txt index d75201c4c6e..5fdefa7cc6b 100644 --- a/forge-gui/res/cardsfolder/g/gabriel_angelfire.txt +++ b/forge-gui/res/cardsfolder/g/gabriel_angelfire.txt @@ -5,5 +5,5 @@ PT:4/4 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoice | TriggerDescription$ At the beginning of your upkeep, choose flying, first strike, trample, or rampage 3. CARDNAME gains that ability until your next upkeep. SVar:TrigChoice:DB$ Pump | Defined$ Self | KWChoice$ Flying,First Strike,Trample,Rampage:3 | Duration$ UntilYourNextUpkeep AI:RemoveDeck:All -DeckHas:Keyword$Rampage|Trample|FirstStrike|Flying +DeckHas:Keyword$Rampage|Trample|First Strike|Flying Oracle:At the beginning of your upkeep, choose flying, first strike, trample, or rampage 3. Gabriel Angelfire gains that ability until your next upkeep. (Whenever a creature with rampage 3 becomes blocked, it gets +3/+3 until end of turn for each creature blocking it beyond the first.) diff --git a/forge-gui/res/cardsfolder/g/galvanic_juggernaut.txt b/forge-gui/res/cardsfolder/g/galvanic_juggernaut.txt index d6eb2f52879..b5e12e6dd21 100644 --- a/forge-gui/res/cardsfolder/g/galvanic_juggernaut.txt +++ b/forge-gui/res/cardsfolder/g/galvanic_juggernaut.txt @@ -4,6 +4,6 @@ Types:Artifact Creature Juggernaut PT:5/5 S:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ CARDNAME attacks each combat if able. K:CARDNAME doesn't untap during your untap step. -T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever another creature dies, untap CARDNAME +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigUntap | TriggerDescription$ Whenever another creature dies, untap CARDNAME. SVar:TrigUntap:DB$ Untap | Defined$ Self Oracle:Galvanic Juggernaut attacks each combat if able.\nGalvanic Juggernaut doesn't untap during your untap step.\nWhenever another creature dies, untap Galvanic Juggernaut. diff --git a/forge-gui/res/cardsfolder/g/garruk_the_slayer.txt b/forge-gui/res/cardsfolder/g/garruk_the_slayer.txt index 8ac786c7151..065b670adc5 100644 --- a/forge-gui/res/cardsfolder/g/garruk_the_slayer.txt +++ b/forge-gui/res/cardsfolder/g/garruk_the_slayer.txt @@ -8,5 +8,5 @@ A:AB$ Pump | Cost$ AddCounter<4/LOYALTY> | Planeswalker$ True | NumAtt$ +1 | Num A:AB$ Destroy | Cost$ SubCounter<10/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBAddLoyalty | SpellDescription$ Destroy target creature. Put loyalty counters on CARDNAME equal to that creature's toughness. SVar:DBAddLoyalty:DB$ PutCounter | Defined$ Self | CounterType$ LOYALTY | CounterNum$ X SVar:X:Targeted$CardToughness -A:AB$ DestroyAll | Cost$ SubCounter<25/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidCards$ Creature.YouDontCtrl | SpellDescription$ Destroy all creatures Garruk the Slayer doesn't control. +A:AB$ DestroyAll | Cost$ SubCounter<25/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidCards$ Creature.YouDontCtrl | SpellDescription$ Destroy all creatures CARDNAME doesn't control. Oracle:[0]: Put a 2/2 green Wolf creature token onto the battlefield.\n[+4]: Target Wolf creature gets +1/+0 and gains deathtouch until end of turn.\n[-10]: Destroy target creature. Put loyalty counters on Garruk the Slayer equal to that creature's toughness.\n[-25]: Destroy all creatures Garruk the Slayer doesn't control. diff --git a/forge-gui/res/cardsfolder/g/garruks_lost_wolf_hey_has_anyone_seen_garruk.txt b/forge-gui/res/cardsfolder/g/garruks_lost_wolf_hey_has_anyone_seen_garruk.txt index d2e9957ced7..a046d4c1aea 100644 --- a/forge-gui/res/cardsfolder/g/garruks_lost_wolf_hey_has_anyone_seen_garruk.txt +++ b/forge-gui/res/cardsfolder/g/garruks_lost_wolf_hey_has_anyone_seen_garruk.txt @@ -2,11 +2,11 @@ Name:Garruk's Lost Wolf ManaCost:3 G Types:Creature Wolf PT:2/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a Huntsman Role token attached to another target creature you control. (Enchanted creature gets +1/+1 and has "{T}: Add {G}") +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a Huntsman Role token attached to another target creature you control. (Enchanted creature gets +1/+1 and has "{T}: Add {G}.") SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ role_huntsman | TokenOwner$ You | AttachedTo$ Targeted | ValidTgts$ Creature.YouCtrl+Other | TgtPrompt$ Select another target creature you control DeckHas:Ability$Mill|Graveyard|Token & Type$Aura|Enchantment|Role AlternateMode:Adventure -Oracle:When Garruk's Lost Wolf enters the battlefield, create a Huntsman Role token attached to another target creature you control. (Enchanted creature gets +1/+1 and has "{T}: Add {G}") +Oracle:When Garruk's Lost Wolf enters the battlefield, create a Huntsman Role token attached to another target creature you control. (Enchanted creature gets +1/+1 and has "{T}: Add {G}.") ALTERNATE diff --git a/forge-gui/res/cardsfolder/g/gates_of_istfell.txt b/forge-gui/res/cardsfolder/g/gates_of_istfell.txt index 53d613a7eee..09da2212316 100644 --- a/forge-gui/res/cardsfolder/g/gates_of_istfell.txt +++ b/forge-gui/res/cardsfolder/g/gates_of_istfell.txt @@ -6,5 +6,5 @@ SVar:ETBTapped:DB$ Tap | Defined$ Self | ETB$ True A:AB$ Mana | Cost$ T | Produced$ W | SpellDescription$ Add {W}. A:AB$ GainLife | Cost$ 2 W U U T Sac<1/CARDNAME> | Defined$ You | LifeAmount$ 2 | SubAbility$ DBDraw | SpellDescription$ You gain 2 life and draw two cards. SVar:DBDraw:DB$ Draw | NumCards$ 2 -DeckHas:Ability$GainLife|Sacrifice +DeckHas:Ability$LifeGain|Sacrifice Oracle:Gates of Istfell enters tapped.\n{T}: Add {W}.\n{2}{W}{U}{U}, {T}, Sacrifice Gates of Istfell: You gain 2 life and draw two cards. diff --git a/forge-gui/res/cardsfolder/g/ghitu_embercoiler.txt b/forge-gui/res/cardsfolder/g/ghitu_embercoiler.txt index 3b026677bb7..6c5d27105a3 100644 --- a/forge-gui/res/cardsfolder/g/ghitu_embercoiler.txt +++ b/forge-gui/res/cardsfolder/g/ghitu_embercoiler.txt @@ -3,7 +3,7 @@ ManaCost:1 R Types:Creature Human Wizard PT:2/2 K:Prowess -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSeek | TriggerDescription$ At the beginning of your precombat main phase, you may discard a card. If you do, seek a card with greater mana value and exile it. Until the end of your next turn, you may play the exiled card. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSeek | TriggerDescription$ At the beginning of your first main phase, you may discard a card. If you do, seek a card with greater mana value and exile it. Until the end of your next turn, you may play the exiled card. SVar:TrigSeek:AB$ Seek | Cost$ Discard<1/Card> | Type$ Card.cmcGTX | RememberFound$ True | SubAbility$ DBExile SVar:X:Discarded$CardManaCost SVar:DBExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | Defined$ Remembered | SubAbility$ DBEffect @@ -11,4 +11,4 @@ SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ MayPla SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | MayPlay$ True | EffectZone$ Command | AffectedZone$ Exile | Description$ Until the end of your next turn, you may play the exiled card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Discard -Oracle:Prowess\nAt the beginning of your precombat main phase, you may discard a card. If you do, seek a card with greater mana value and exile it. Until the end of your next turn, you may play the exiled card. +Oracle:Prowess\nAt the beginning of your first main phase, you may discard a card. If you do, seek a card with greater mana value and exile it. Until the end of your next turn, you may play the exiled card. diff --git a/forge-gui/res/cardsfolder/g/ghost_lantern_bind_spirit.txt b/forge-gui/res/cardsfolder/g/ghost_lantern_bind_spirit.txt index f7f57c3cde3..2169cab7650 100644 --- a/forge-gui/res/cardsfolder/g/ghost_lantern_bind_spirit.txt +++ b/forge-gui/res/cardsfolder/g/ghost_lantern_bind_spirit.txt @@ -13,6 +13,6 @@ ALTERNATE Name:Bind Spirit ManaCost:1 B Types:Instant Adventure -A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature in your graveyard | SpellDescription$ Return target creature card from your graveyard to your hand +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature in your graveyard | SpellDescription$ Return target creature card from your graveyard to your hand. DeckHas:Ability$Graveyard Oracle:Return target creature card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/g/gibbering_barricade.txt b/forge-gui/res/cardsfolder/g/gibbering_barricade.txt index 1afcad8b558..4983049ed60 100644 --- a/forge-gui/res/cardsfolder/g/gibbering_barricade.txt +++ b/forge-gui/res/cardsfolder/g/gibbering_barricade.txt @@ -5,6 +5,6 @@ PT:2/4 K:Defender A:AB$ GainLife | Cost$ 2 B Sac<1/Creature> | LifeAmount$ 1 | SubAbility$ DBDraw | SpellDescription$ You gain 1 life and draw a card. SVar:DBDraw:DB$ Draw -DeckHas:Ability$Sacrifice|Lifegain +DeckHas:Ability$Sacrifice|LifeGain DeckHints:Type$Creature Oracle:Defender\n{2}{B}, Sacrifice a creature: You gain 1 life and draw a card. diff --git a/forge-gui/res/cardsfolder/g/gideons_company.txt b/forge-gui/res/cardsfolder/g/gideons_company.txt index 3dce174442e..af135234459 100644 --- a/forge-gui/res/cardsfolder/g/gideons_company.txt +++ b/forge-gui/res/cardsfolder/g/gideons_company.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier PT:3/3 T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, you put two +1/+1 counters on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 2 -A:AB$ PutCounter | Cost$ 3 W | ValidTgts$ Planeswalker.Gideon | TgtPrompt$ Select target Gideon planeswalker. | CounterType$ LOYALTY | CounterNum$ 1 | SpellDescription$ Put a loyalty counter on target Gideon Planeswalker +A:AB$ PutCounter | Cost$ 3 W | ValidTgts$ Planeswalker.Gideon | TgtPrompt$ Select target Gideon planeswalker. | CounterType$ LOYALTY | CounterNum$ 1 | SpellDescription$ Put a loyalty counter on target Gideon planeswalker. DeckHints:Ability$LifeGain & Type$Gideon DeckHas:Ability$Counters Oracle:Whenever you gain life, put two +1/+1 counters on Gideon's Company.\n{3}{W}: Put a loyalty counter on target Gideon planeswalker. diff --git a/forge-gui/res/cardsfolder/g/glowing_one.txt b/forge-gui/res/cardsfolder/g/glowing_one.txt index 1cc6af9b117..37cb25edf4a 100644 --- a/forge-gui/res/cardsfolder/g/glowing_one.txt +++ b/forge-gui/res/cardsfolder/g/glowing_one.txt @@ -7,5 +7,5 @@ T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ Tri SVar:TrigRadiation:DB$ Radiation | Defined$ TriggeredTarget | Num$ 4 T:Mode$ Milled | ValidPlayer$ Player | ValidCard$ Card.nonLand | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever a player mills a nonland card, you gain 1 life. SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 1 -DeckHas:Ability$LifeLink +DeckHas:Ability$LifeGain Oracle:Deathtouch\nWhenever Glowing One deals combat damage to a player, they get four rad counters.\nWhenever a player mills a nonland card, you gain 1 life. diff --git a/forge-gui/res/cardsfolder/g/gobland.txt b/forge-gui/res/cardsfolder/g/gobland.txt index 3976404419d..adb3dcd1d32 100644 --- a/forge-gui/res/cardsfolder/g/gobland.txt +++ b/forge-gui/res/cardsfolder/g/gobland.txt @@ -4,4 +4,4 @@ Colors:red Types:Land Creature Mountain Goblin PT:2/1 K:CARDNAME can't block. -Oracle:(Gobland isn’t a spell, it's affected by summoning sickness, and it has "{T}: Add {R}.")\nGobland can’t block. +Oracle:(Gobland isn't a spell, it's affected by summoning sickness, and it has "{T}: Add {R}.")\nGobland can't block. diff --git a/forge-gui/res/cardsfolder/g/goblin_picker.txt b/forge-gui/res/cardsfolder/g/goblin_picker.txt index 9011fc5b788..a0247576c2e 100644 --- a/forge-gui/res/cardsfolder/g/goblin_picker.txt +++ b/forge-gui/res/cardsfolder/g/goblin_picker.txt @@ -2,6 +2,6 @@ Name:Goblin Picker ManaCost:1 R Types:Creature Goblin PT:2/2 -A:AB$ Draw | Cost$ R T Discard<1/Card> | NumCards$ 1 | Defined$ You | SpellDescription$ Draw a card +A:AB$ Draw | Cost$ R T Discard<1/Card> | NumCards$ 1 | Defined$ You | SpellDescription$ Draw a card. DeckHas:Ability$Discard Oracle:{R} ,{T}, Discard a card: Draw a card. diff --git a/forge-gui/res/cardsfolder/g/gollum_patient_plotter.txt b/forge-gui/res/cardsfolder/g/gollum_patient_plotter.txt index 3b0239b8da2..2f8ce8df6e7 100644 --- a/forge-gui/res/cardsfolder/g/gollum_patient_plotter.txt +++ b/forge-gui/res/cardsfolder/g/gollum_patient_plotter.txt @@ -4,6 +4,6 @@ Types:Legendary Creature Halfling Horror PT:3/1 T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Execute$ TrigTempt | TriggerDescription$ When CARDNAME leaves the battlefield, the Ring tempts you. SVar:TrigTempt:DB$ RingTemptsYou -A:AB$ ChangeZone | Cost$ B Sac<1/Creature> | Origin$ Graveyard | Destination$ Hand | ActivationZone$ Graveyard | SorcerySpeed$ True | SpellDescription$ Return NICKNAME from your graveyard to your hand. Activate only as a sorcery. | CostDesc$ Sacrifice a creature: +A:AB$ ChangeZone | Cost$ B Sac<1/Creature> | Origin$ Graveyard | Destination$ Hand | ActivationZone$ Graveyard | SorcerySpeed$ True | SpellDescription$ Return NICKNAME from your graveyard to your hand. Activate only as a sorcery. SVar:AIPreference:SacCost$Creature.token,Creature.cmcLE1 Oracle:When Gollum, Patient Plotter leaves the battlefield, the Ring tempts you.\n{B}, Sacrifice a creature: Return Gollum from your graveyard to your hand. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/g/gorex_the_tombshell.txt b/forge-gui/res/cardsfolder/g/gorex_the_tombshell.txt index 56c9dfc6305..10b64f62fcc 100644 --- a/forge-gui/res/cardsfolder/g/gorex_the_tombshell.txt +++ b/forge-gui/res/cardsfolder/g/gorex_the_tombshell.txt @@ -2,8 +2,8 @@ Name:Gorex, the Tombshell ManaCost:6 B B Types:Legendary Creature Zombie Turtle PT:4/4 -A:SP$ PermanentCreature | Cost$ 6 B B ExileFromGrave | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way. -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Secondary$ True | Description$ This spell costs {2} less to cast for each card exiled this way. +A:SP$ PermanentCreature | Cost$ 6 B B ExileFromGrave | AdditionalDesc$ This spell costs {2} less to cast for each card exiled this way. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True SVar:X:Count$xPaid SVar:Y:SVar$X/Times.2 K:Deathtouch 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 86197ca28fa..6f9c4a703be 100644 --- a/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt +++ b/forge-gui/res/cardsfolder/g/graf_rats_chittering_host.txt @@ -2,7 +2,7 @@ Name:Graf Rats ManaCost:1 B Types:Creature Rat PT:2/1 -T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+YouOwn | IsPresent2$ Creature.YouCtrl+YouOwn+namedMidnight Scavengers | Execute$ Meld | TriggerDescription$ At the beginning of combat on your turn, if you both own and control Graf Rats and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host. +T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Card.Self+YouOwn | IsPresent2$ Creature.YouCtrl+YouOwn+namedMidnight Scavengers | Execute$ Meld | TriggerDescription$ At the beginning of combat on your turn, if you both own and control CARDNAME and a creature named Midnight Scavengers, exile them, then meld them into Chittering Host. SVar:Meld:DB$ Meld | Name$ Chittering Host | Primary$ Graf Rats | Secondary$ Midnight Scavengers DeckHints:Name$Midnight Scavengers MeldPair:Midnight Scavengers diff --git a/forge-gui/res/cardsfolder/g/graywaters_fixer.txt b/forge-gui/res/cardsfolder/g/graywaters_fixer.txt index cffb5a2f505..ade53c0eeeb 100644 --- a/forge-gui/res/cardsfolder/g/graywaters_fixer.txt +++ b/forge-gui/res/cardsfolder/g/graywaters_fixer.txt @@ -4,5 +4,5 @@ Types:Creature Lizard Mercenary PT:4/4 S:Mode$ Continuous | EffectZone$ Battlefield | AffectedZone$ Graveyard | Affected$ Creature.Outlaw+YouCtrl | AddKeyword$ Encore:X:XAlternative$ Number$ConvertedManaCost | Description$ Each outlaw creature card in your graveyard has encore {X}, where X is its mana value. (Exile it and pay its encore cost: For each opponent, create a token copy that attacks that opponent this turn if able. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery.) DeckHas:Ability$Token|Graveyard -DeckHints:Type$Mercenary|Assassin|Warlock|Pirate|Assassin +DeckHints:Type$Mercenary|Assassin|Warlock|Pirate|Rogue Oracle:Each outlaw creature card in your graveyard has encore {X}, where X is its mana value. (Exile it and pay its encore cost: For each opponent, create a token copy that attacks that opponent this turn if able. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/g/grothama_all_devouring.txt b/forge-gui/res/cardsfolder/g/grothama_all_devouring.txt index 4432f21b13d..9b1975a182f 100644 --- a/forge-gui/res/cardsfolder/g/grothama_all_devouring.txt +++ b/forge-gui/res/cardsfolder/g/grothama_all_devouring.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Wurm PT:10/8 S:Mode$ Continuous | Affected$ Creature.Other | AddTrigger$ GrothamaAttack | AddSVar$ HasAttackEffect | Description$ Other creatures have "Whenever this creature attacks, you may have it fight CARDNAME." SVar:GrothamaAttack:Mode$ Attacks | ValidCard$ Card.Self | Execute$ GrothamaFight | OptionalDecider$ You | TriggerDescription$ Whenever this creature attacks, ABILITY. -SVar:GrothamaFight:DB$ Fight | Defined$ TriggeredAttackerLKICopy & OriginalHost | AILogic$ Grothama | SpellDescription$ You may have it fight ORIGINALHOST +SVar:GrothamaFight:DB$ Fight | Defined$ TriggeredAttackerLKICopy & OriginalHost | AILogic$ Grothama | SpellDescription$ You may have it fight ORIGINALHOST. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigRepeat | TriggerDescription$ When NICKNAME leaves the battlefield, each player draws cards equal to the amount of damage dealt to NICKNAME this turn by sources they controlled. SVar:TrigRepeat:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ TrigDraw SVar:TrigDraw:DB$ Draw | Defined$ Remembered | NumCards$ X diff --git a/forge-gui/res/cardsfolder/g/guardian_of_the_great_door.txt b/forge-gui/res/cardsfolder/g/guardian_of_the_great_door.txt index 2adac170db1..2aa19b4ac6c 100644 --- a/forge-gui/res/cardsfolder/g/guardian_of_the_great_door.txt +++ b/forge-gui/res/cardsfolder/g/guardian_of_the_great_door.txt @@ -3,6 +3,6 @@ ManaCost:W W Types:Creature Angel PT:4/4 K:Flying -A:SP$ PermanentCreature | Cost$ W W tapXType<4/Artifact;Creature;Land/artifacts, creatures, and/or lands> | CostDesc$ As an additional cost to cast this spell, tap four untapped artifacts, creatures, and/or lands you control +A:SP$ PermanentCreature | Cost$ W W tapXType<4/Artifact;Creature;Land/artifacts, creatures, and/or lands> DeckHints:Type$Artifact Oracle:As an additional cost to cast this spell, tap four untapped artifacts, creatures, and/or lands you control.\nFlying diff --git a/forge-gui/res/cardsfolder/h/hag_of_ceaseless_torment.txt b/forge-gui/res/cardsfolder/h/hag_of_ceaseless_torment.txt index ec386259880..dbc05792a0c 100644 --- a/forge-gui/res/cardsfolder/h/hag_of_ceaseless_torment.txt +++ b/forge-gui/res/cardsfolder/h/hag_of_ceaseless_torment.txt @@ -4,8 +4,8 @@ Types:Creature Hag Warlock PT:2/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your upkeep, each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. SVar:TrigChoose:DB$ GenericChoice | Defined$ Opponent | TempRemember$ Chooser | Choices$ SacNonland,Discard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent -SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card +SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. +SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card. SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 DeckHas:Ability$Sacrifice|Discard Oracle:At the beginning of your upkeep, each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. diff --git a/forge-gui/res/cardsfolder/h/hamlet_captain.txt b/forge-gui/res/cardsfolder/h/hamlet_captain.txt index c4b41e5d4f0..b9bc338fd51 100644 --- a/forge-gui/res/cardsfolder/h/hamlet_captain.txt +++ b/forge-gui/res/cardsfolder/h/hamlet_captain.txt @@ -3,7 +3,7 @@ ManaCost:1 G 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 +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.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/hans_eriksson.txt b/forge-gui/res/cardsfolder/h/hans_eriksson.txt index 9d769352d68..ab237e5e72e 100644 --- a/forge-gui/res/cardsfolder/h/hans_eriksson.txt +++ b/forge-gui/res/cardsfolder/h/hans_eriksson.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Scout PT:1/4 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Whenever CARDNAME attacks, reveal the top card of your library. If it's a creature card, put it onto the battlefield tapped and attacking defending player or a planeswalker they control. Otherwise, put that card into your hand. When you put a creature card onto the battlefield this way, it fights CARDNAME. SVar:TrigDig:DB$ Dig | DigNum$ 1 | ChangeNum$ All | Optional$ True | Reveal$ True | ChangeValid$ Creature | DestinationZone$ Battlefield | DestinationZone2$ Hand | Tapped$ True | Attacking$ DefendingPlayer & Valid Planeswalker.ControlledBy DefendingPlayer | RememberChanged$ True | SubAbility$ DBImmediateTriggerCheck -SVar:DBImmediateTriggerCheck:DB$ ImmediateTrigger | Execute$ DBFight | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | TriggerDescription$ When you put a creature card onto the battlefield this way, it fights CARDNAME +SVar:DBImmediateTriggerCheck:DB$ ImmediateTrigger | Execute$ DBFight | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | TriggerDescription$ When you put a creature card onto the battlefield this way, it fights CARDNAME. SVar:DBFight:DB$ Fight | Defined$ Remembered & Self | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:HasAttackEffect:TRUE diff --git a/forge-gui/res/cardsfolder/h/harold_and_bob_first_numens.txt b/forge-gui/res/cardsfolder/h/harold_and_bob_first_numens.txt index 01ef1024572..47be18f67e8 100644 --- a/forge-gui/res/cardsfolder/h/harold_and_bob_first_numens.txt +++ b/forge-gui/res/cardsfolder/h/harold_and_bob_first_numens.txt @@ -7,7 +7,7 @@ K:Reach T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self+Creature | Execute$ DBReturn | TriggerDescription$ When CARDNAME dies, if it was a creature, return it to the battlefield. It's an Aura enchantment with enchant Forest you control and "Enchanted Forest has '{T}: Add three mana of any one color. You get two rad counters.'" NICKNAME loses all other abilities. SVar:DBReturn:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | AnimateSubAbility$ DBAnimate SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Types$ Enchantment,Aura | RemoveCardTypes$ True | RemoveAllAbilities$ True | Keywords$ Enchant Forest you control | Abilities$ SPAttach | staticAbilities$ STAura | Duration$ Permanent -SVar:STAura:Mode$ Continuous | Affected$ Land.EnchantedBy | AddAbility$ ABMana | Description$ Enchanted Forest has '{T}: Add three mana of any one color. You get two rad counters.' +SVar:STAura:Mode$ Continuous | Affected$ Land.EnchantedBy | AddAbility$ ABMana | Description$ Enchanted Forest has "{T}: Add three mana of any one color. You get two rad counters." SVar:SPAttach:SP$ Attach | Cost$ 0 | ValidTgts$ Forest.YouCtrl | AILogic$ Pump SVar:ABMana:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 3 | SubAbility$ DBRadiation | SpellDescription$ Add three mana of any one color. You get two rad counters. SVar:DBRadiation:DB$ Radiation | Defined$ You | Num$ 2 diff --git a/forge-gui/res/cardsfolder/h/haruspex.txt b/forge-gui/res/cardsfolder/h/haruspex.txt index 77e7c5b25cb..2a88a4c74a1 100644 --- a/forge-gui/res/cardsfolder/h/haruspex.txt +++ b/forge-gui/res/cardsfolder/h/haruspex.txt @@ -4,7 +4,7 @@ Types:Creature Tyranid PT:2/2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Rapacious Hunger — Whenever another creature dies, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 -A:AB$ Mana | Cost$ T SubCounter | Produced$ Any | PreCostDesc$ Devouring Monster — {T} | Amount$ X | SpellDescription$ Add X mana of any one color. +A:AB$ Mana | Cost$ T SubCounter | Produced$ Any | PrecostDesc$ Devouring Monster — {T} | Amount$ X | SpellDescription$ Add X mana of any one color. SVar:X:Count$xPaid DeckHas:Ability$Counters DeckHints:Ability$Sacrifice|Counters diff --git a/forge-gui/res/cardsfolder/h/haughty_djinn.txt b/forge-gui/res/cardsfolder/h/haughty_djinn.txt index 31a0057c9dd..ddc20ec2368 100644 --- a/forge-gui/res/cardsfolder/h/haughty_djinn.txt +++ b/forge-gui/res/cardsfolder/h/haughty_djinn.txt @@ -4,7 +4,7 @@ Types:Creature Djinn PT:*/4 K:Flying S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | Description$ CARDNAME's power is equal to the number of instant and sorcery cards in your graveyard. -S:Mode$ ReduceCost | ValidCard$ Instant,Sorcery | Type$ Spell | Activator$ You | Amount$ 1 | Description$ Instant and sorcery spells you cast cost {1} less to cast +S:Mode$ ReduceCost | ValidCard$ Instant,Sorcery | Type$ Spell | Activator$ You | Amount$ 1 | Description$ Instant and sorcery spells you cast cost {1} less to cast. SVar:X:Count$ValidGraveyard Instant.YouOwn,Sorcery.YouOwn DeckNeeds:Type$Instant|Sorcery AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/h/havengul_lich.txt b/forge-gui/res/cardsfolder/h/havengul_lich.txt index a1857b9b132..6c5d0021926 100644 --- a/forge-gui/res/cardsfolder/h/havengul_lich.txt +++ b/forge-gui/res/cardsfolder/h/havengul_lich.txt @@ -2,7 +2,7 @@ Name:Havengul Lich ManaCost:3 U B Types:Creature Zombie Wizard PT:4/4 -A:AB$ Effect | Name$ Havengul Lich Delayed Trigger | Cost$ 1 | ValidTgts$ Creature | TgtZone$ Graveyard | TgtPrompt$ Select target creature card | StaticAbilities$ STPlay | Triggers$ DTCast | RememberObjects$ Targeted | ExileOnMoved$ Graveyard | SpellDescription$ You may cast target creature card in a graveyard this turn. When you cast it this turn, CARDNAME gains all activated abilities of that card until end of turn. +A:AB$ Effect | Name$ Havengul Lich's Delayed Trigger | Cost$ 1 | ValidTgts$ Creature | TgtZone$ Graveyard | TgtPrompt$ Select target creature card | StaticAbilities$ STPlay | Triggers$ DTCast | RememberObjects$ Targeted | ExileOnMoved$ Graveyard | SpellDescription$ You may cast target creature card in a graveyard this turn. When you cast it this turn, CARDNAME gains all activated abilities of that card until end of turn. SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Graveyard | Description$ Until end of turn, you may cast a creature card in a graveyard. SVar:DTCast:Mode$ SpellCast | ValidCard$ Card.IsRemembered+nonLand | Execute$ StealAbs | TriggerDescription$ When you cast that card this turn, EFFECTSOURCE gains all activated abilities of that card until end of turn. SVar:StealAbs:DB$ Effect | RememberObjects$ TriggeredCard | StaticAbilities$ STSteal | Duration$ UntilHostLeavesPlayOrEOT diff --git a/forge-gui/res/cardsfolder/h/hazezon_shaper_of_sand.txt b/forge-gui/res/cardsfolder/h/hazezon_shaper_of_sand.txt index 7d95e66c335..28e95cd0a14 100644 --- a/forge-gui/res/cardsfolder/h/hazezon_shaper_of_sand.txt +++ b/forge-gui/res/cardsfolder/h/hazezon_shaper_of_sand.txt @@ -3,7 +3,7 @@ ManaCost:R G W Types:Legendary Creature Human Warrior PT:3/3 K:Landwalk:Desert -S:Mode$ Continuous | Affected$ Desert.YouOwn | MayPlay$ True | AffectedZone$ Graveyard | Description$ You may play Desert lands from your graveyard +S:Mode$ Continuous | Affected$ Desert.YouOwn | MayPlay$ True | AffectedZone$ Graveyard | Description$ You may play Desert lands from your graveyard. T:Mode$ ChangesZone | ValidCard$ Desert.YouCtrl | Origin$ Any | Destination$ Battlefield | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever a Desert you control enters, create two 1/1 red, green, and white Sand Warrior creature tokens. SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ rgw_1_1_sand_warrior | TokenOwner$ You DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/h/hedron_detonator.txt b/forge-gui/res/cardsfolder/h/hedron_detonator.txt index f30a182a1e9..a8699a80488 100644 --- a/forge-gui/res/cardsfolder/h/hedron_detonator.txt +++ b/forge-gui/res/cardsfolder/h/hedron_detonator.txt @@ -10,4 +10,4 @@ SVar:EffSModeContinuous:Mode$ Continuous | EffectZone$ Command | Affected$ Card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Sacrifice DeckHints:Type$Artifact -Oracle:Whenever an artifact you control enters, Hedron Detonator deals 1 damage to target opponent.\n{T}, Sacrifice two artifacts: Exile the top card of your library. You may play that card this turn +Oracle:Whenever an artifact you control enters, Hedron Detonator deals 1 damage to target opponent.\n{T}, Sacrifice two artifacts: Exile the top card of your library. You may play that card this turn. diff --git a/forge-gui/res/cardsfolder/h/hellspur_posse_boss.txt b/forge-gui/res/cardsfolder/h/hellspur_posse_boss.txt index b9ae1894404..46a57817735 100644 --- a/forge-gui/res/cardsfolder/h/hellspur_posse_boss.txt +++ b/forge-gui/res/cardsfolder/h/hellspur_posse_boss.txt @@ -5,6 +5,6 @@ PT:2/4 S:Mode$ Continuous | Affected$ Card.Outlaw+YouCtrl+Other | AddKeyword$ Haste | Description$ Other outlaws you control have haste. (Assassins, Mercenaries, Pirates, Rogues, and Warlocks are outlaws.) T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create two 1/1 red Mercenary creature tokens with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery." SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ r_1_1_mercenary_tappump | TokenOwner$ You -DeckHints:Type$Mercenary|Pirate|Rogue|Warlock +DeckHints:Type$Mercenary|Assassin|Pirate|Rogue|Warlock DeckHas:Ability$Token Oracle:Other outlaws you control have haste. (Assassins, Mercenaries, Pirates, Rogues, and Warlocks are outlaws.)\nWhen Hellspur Posse Boss enters, create two 1/1 red Mercenary creature tokens with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery." diff --git a/forge-gui/res/cardsfolder/h/helm_of_the_ghastlord.txt b/forge-gui/res/cardsfolder/h/helm_of_the_ghastlord.txt index 2178292b184..f41bbc21406 100644 --- a/forge-gui/res/cardsfolder/h/helm_of_the_ghastlord.txt +++ b/forge-gui/res/cardsfolder/h/helm_of_the_ghastlord.txt @@ -5,7 +5,7 @@ K:Enchant creature A:SP$ Attach | Cost$ 3 UB | ValidTgts$ Creature | AITgts$ Card.Black,Card.Blue | AILogic$ Curiosity S:Mode$ Continuous | Affected$ Creature.EnchantedBy+Blue | AddPower$ 1 | AddToughness$ 1 | AddTrigger$ BlueTrigger | AddSVar$ HelmTrigDraw | Description$ As long as enchanted creature is blue, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, draw a card." S:Mode$ Continuous | Affected$ Creature.EnchantedBy+Black | AddPower$ 1 | AddToughness$ 1 | AddTrigger$ BlackTrigger | AddSVar$ HelmTrigDiscard | Description$ As long as enchanted creature is black, it gets +1/+1 and has "Whenever this creature deals damage to an opponent, that player discards a card." -SVar:BlueTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ HelmTrigDraw | TriggerDescription$ Whenever this creature deals damage to an opponent, draw a card +SVar:BlueTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ HelmTrigDraw | TriggerDescription$ Whenever this creature deals damage to an opponent, draw a card. SVar:BlackTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ HelmTrigDiscard | TriggerDescription$ Whenever this creature deals damage to an opponent, that player discards a card. SVar:HelmTrigDraw:DB$ Draw | NumCards$ 1 SVar:HelmTrigDiscard:DB$ Discard | Defined$ TriggeredTarget | NumCards$ 1 | Mode$ TgtChoose diff --git a/forge-gui/res/cardsfolder/h/hibernation_sliver.txt b/forge-gui/res/cardsfolder/h/hibernation_sliver.txt index d589147c5a0..d9e5bb00655 100644 --- a/forge-gui/res/cardsfolder/h/hibernation_sliver.txt +++ b/forge-gui/res/cardsfolder/h/hibernation_sliver.txt @@ -3,6 +3,6 @@ ManaCost:U B Types:Creature Sliver PT:2/2 S:Mode$ Continuous | Affected$ Sliver | AddAbility$ Bounce | Description$ All Slivers have "Pay 2 life, Return this permanent to its owner's hand." -SVar:Bounce:AB$ ChangeZone | Cost$ PayLife<2> | Defined$ Self | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return this permanent to its owner's hand +SVar:Bounce:AB$ ChangeZone | Cost$ PayLife<2> | Defined$ Self | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return this permanent to its owner's hand. SVar:PlayMain1:TRUE Oracle:All Slivers have "Pay 2 life: Return this permanent to its owner's hand." diff --git a/forge-gui/res/cardsfolder/h/hierophant_bio_titan.txt b/forge-gui/res/cardsfolder/h/hierophant_bio_titan.txt index 782f138006e..38ccd19105a 100644 --- a/forge-gui/res/cardsfolder/h/hierophant_bio_titan.txt +++ b/forge-gui/res/cardsfolder/h/hierophant_bio_titan.txt @@ -5,8 +5,8 @@ PT:12/12 K:Vigilance K:Reach K:Ward:2 -A:SP$ PermanentCreature | Cost$ 10 G G RemoveAnyCounter -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Description$ Frenzied Metabolism — As an additional cost to cast this spell, you may remove any number of +1/+1 counters from among creatures you control. This spell costs {2} less to cast for each counter removed this way. +A:SP$ PermanentCreature | Cost$ 10 G G RemoveAnyCounter | PrecostDesc$ Frenzied Metabolism — | AdditionalDesc$ This spell costs {2} less to cast for each counter removed this way. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True S:Mode$ CantBlockBy | ValidAttacker$ Card.Self | ValidBlocker$ Creature.powerLE2 | Description$ Titanic — CARDNAME can't be blocked by creatures with power 2 or less. SVar:X:Count$xPaid SVar:Y:SVar$X/Times.2 diff --git a/forge-gui/res/cardsfolder/h/highway_robbery.txt b/forge-gui/res/cardsfolder/h/highway_robbery.txt index e816d96aa0f..efa2d6e8df9 100644 --- a/forge-gui/res/cardsfolder/h/highway_robbery.txt +++ b/forge-gui/res/cardsfolder/h/highway_robbery.txt @@ -2,8 +2,8 @@ Name:Highway Robbery ManaCost:1 R Types:Sorcery A:SP$ GenericChoice | Choices$ DBDiscardToDraw,DBSacToDraw | SpellDescription$ You may discard a card or sacrifice a land. If you do, draw two cards. -SVar:DBSacToDraw:DB$ Draw | UnlessCost$ Sac<1/Land> | NumCards$ 2 | UnlessPayer$ You | UnlessSwitched$ True | SpellDescription$ Sacrifice a Land: Draw two cards. -SVar:DBDiscardToDraw:DB$ Draw | UnlessCost$ Discard<1/Card> | NumCards$ 2 | UnlessPayer$ You | UnlessSwitched$ True | SpellDescription$ Discard a card: Draw two cards. +SVar:DBSacToDraw:DB$ Draw | UnlessCost$ Sac<1/Land> | NumCards$ 2 | UnlessPayer$ You | UnlessSwitched$ True | SpellDescription$ Sacrifice a land. If you do, draw two cards. +SVar:DBDiscardToDraw:DB$ Draw | UnlessCost$ Discard<1/Card> | NumCards$ 2 | UnlessPayer$ You | UnlessSwitched$ True | SpellDescription$ Discard a card. If you do, draw two cards. K:Plot:1 R DeckHas:Ability$Sacrifice|Discard Oracle:You may discard a card or sacrifice a land. If you do, draw two cards.\nPlot {1}{R} (You may pay {1}{R} and exile this card from your hand. Cast it as a sorcery on a later turn without paying its mana cost. Plot only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/h/hulking_raptor.txt b/forge-gui/res/cardsfolder/h/hulking_raptor.txt index 677e45cf962..85bd03e8086 100644 --- a/forge-gui/res/cardsfolder/h/hulking_raptor.txt +++ b/forge-gui/res/cardsfolder/h/hulking_raptor.txt @@ -3,6 +3,6 @@ ManaCost:2 G G Types:Creature Dinosaur PT:5/3 K:Ward:2 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your precombat main phase, add {G}{G}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your first main phase, add {G}{G}. SVar:TrigMana:DB$ Mana | Produced$ G | Amount$ 2 | Defined$ TriggeredPlayer -Oracle:Ward {2}\nAt the beginning of your precombat main phase, add {G}{G}. +Oracle:Ward {2}\nAt the beginning of your first main phase, add {G}{G}. diff --git a/forge-gui/res/cardsfolder/h/hypergenesis.txt b/forge-gui/res/cardsfolder/h/hypergenesis.txt index 35ccdfe5310..5f7b9e3900d 100644 --- a/forge-gui/res/cardsfolder/h/hypergenesis.txt +++ b/forge-gui/res/cardsfolder/h/hypergenesis.txt @@ -5,11 +5,11 @@ Types:Sorcery K:Suspend:3:1 G G A:SP$ Repeat | RepeatSubAbility$ ResetCheck | RepeatCheckSVar$ NumPlayerGiveup | RepeatSVarCompare$ LTTotalPlayer | SubAbility$ FinalReset | StackDescription$ SpellDescription | SpellDescription$ Starting with you, each player may put an artifact, creature, enchantment, or land card from their hand onto the battlefield. Repeat this process until no one puts a card onto the battlefield. SVar:ResetCheck:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ Number | Expression$ 0 | SubAbility$ DBRepeatChoice -SVar:DBRepeatChoice:DB$ RepeatEach | StartingWithActivator$ True | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player +SVar:DBRepeatChoice:DB$ RepeatEach | StartingWith$ You | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player SVar:DBChoice:DB$ GenericChoice | Choices$ DBCheckHand,DBNoChange | Defined$ Player.IsRemembered -SVar:DBCheckHand:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose | SpellDescription$ Choose an artifact, creature, enchantment, or land card from your hand onto the battlefield +SVar:DBCheckHand:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ EQ0 | SubAbility$ DBChoose | SpellDescription$ Choose an artifact, creature, enchantment, or land card from your hand onto the battlefield. SVar:DBChoose:DB$ ChangeZone | DefinedPlayer$ Player.IsRemembered | Origin$ Hand | Destination$ Battlefield | ChangeType$ Artifact,Creature,Enchantment,Land | ChangeNum$ 1 | ConditionCheckSVar$ CheckHand | ConditionSVarCompare$ GE1 -SVar:DBNoChange:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | SpellDescription$ Do not put an artifact, creature, enchantment, or land card from your hand onto the battlefield +SVar:DBNoChange:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | SpellDescription$ Do not put an artifact, creature, enchantment, or land card from your hand onto the battlefield. SVar:FinalReset:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ Number | Expression$ 0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NumPlayerGiveup:Number$0 diff --git a/forge-gui/res/cardsfolder/i/ichormoon_gauntlet.txt b/forge-gui/res/cardsfolder/i/ichormoon_gauntlet.txt index 4e5d110672f..07fc181aaf7 100644 --- a/forge-gui/res/cardsfolder/i/ichormoon_gauntlet.txt +++ b/forge-gui/res/cardsfolder/i/ichormoon_gauntlet.txt @@ -2,7 +2,7 @@ Name:Ichormoon Gauntlet ManaCost:2 U Types:Artifact S:Mode$ Continuous | Affected$ Planeswalker.YouCtrl | AddAbility$ PWProliferate & PWExtraTurn | Description$ Planeswalkers you control have "[0]: Proliferate" and "[-12]: Take an extra turn after this one." -SVar:PWProliferate:AB$ Proliferate | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | SpellDescription$ Proliferate +SVar:PWProliferate:AB$ Proliferate | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | SpellDescription$ Proliferate. SVar:PWExtraTurn:AB$ AddTurn | Cost$ SubCounter<12/LOYALTY> | Planeswalker$ True | NumTurns$ 1 | SpellDescription$ Take an extra turn after this one. T:Mode$ SpellCast | ValidCard$ Card.nonCreature | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you cast a noncreature spell, choose a counter on target permanent. Put an additional counter of that kind on that permanent. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ ExistingCounter | CounterNum$ 1 diff --git a/forge-gui/res/cardsfolder/i/illuminated_wings.txt b/forge-gui/res/cardsfolder/i/illuminated_wings.txt index 5abee4b9b65..6cc0e490fa0 100644 --- a/forge-gui/res/cardsfolder/i/illuminated_wings.txt +++ b/forge-gui/res/cardsfolder/i/illuminated_wings.txt @@ -4,6 +4,6 @@ Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 1 U | ValidTgts$ Creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Flying | Description$ Enchanted creature has flying. -A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | Defined$ You | NumCards$ 1 | SpellDescription$ Draw a card +A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | Defined$ You | NumCards$ 1 | SpellDescription$ Draw a card. AI:RemoveDeck:All Oracle:Enchant creature\nEnchanted creature has flying.\n{2}, Sacrifice Illuminated Wings: Draw a card. diff --git a/forge-gui/res/cardsfolder/i/indulgent_tormentor.txt b/forge-gui/res/cardsfolder/i/indulgent_tormentor.txt index 8f4e568959d..37302221955 100644 --- a/forge-gui/res/cardsfolder/i/indulgent_tormentor.txt +++ b/forge-gui/res/cardsfolder/i/indulgent_tormentor.txt @@ -5,6 +5,6 @@ PT:5/3 K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoice | TriggerDescription$ At the beginning of your upkeep, draw a card unless target opponent sacrifices a creature or pays 3 life. SVar:TrigChoice:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ DBPayLife,DBSacCreature | AILogic$ PayUnlessCost -SVar:DBSacCreature:DB$ Draw | Defined$ You | UnlessCost$ Sac<1/Creature> | UnlessPayer$ Targeted | UnlessAI$ Never | SpellDescription$ That player draws a card unless You sacrifices a creature -SVar:DBPayLife:DB$ Draw | Defined$ You | UnlessCost$ PayLife<3> | UnlessPayer$ Targeted | UnlessAI$ LowPriority | SpellDescription$ That player draws a card unless You pays 3 life. +SVar:DBSacCreature:DB$ Draw | Defined$ You | UnlessCost$ Sac<1/Creature> | UnlessPayer$ Targeted | UnlessAI$ Never | SpellDescription$ CARDNAME's controller draws a card unless you sacrifice a creature. +SVar:DBPayLife:DB$ Draw | Defined$ You | UnlessCost$ PayLife<3> | UnlessPayer$ Targeted | UnlessAI$ LowPriority | SpellDescription$ CARDNAME's controller draws a card unless you pay 3 life. Oracle:Flying\nAt the beginning of your upkeep, draw a card unless target opponent sacrifices a creature or pays 3 life. diff --git a/forge-gui/res/cardsfolder/i/infectious_bite.txt b/forge-gui/res/cardsfolder/i/infectious_bite.txt index c1378b02a5d..9b4acce3b42 100644 --- a/forge-gui/res/cardsfolder/i/infectious_bite.txt +++ b/forge-gui/res/cardsfolder/i/infectious_bite.txt @@ -5,5 +5,5 @@ A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you SVar:DBFight:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl | DamageSource$ ParentTarget | TgtPrompt$ Choose target creature you don't control | NumDmg$ X | SubAbility$ DBPoison SVar:DBPoison:DB$ Poison | Defined$ Player.Opponent | Num$ 1 SVar:X:ParentTargeted$CardPower -DeckHints:Ability$Proliferate a Keyword$Infect|Toxic +DeckHints:Ability$Proliferate & Keyword$Infect|Toxic Oracle:Target creature you control deals damage equal to its power to target creature you don't control. Each opponent gets a poison counter. diff --git a/forge-gui/res/cardsfolder/i/infectious_inquiry.txt b/forge-gui/res/cardsfolder/i/infectious_inquiry.txt index fe602f88dad..231c971077b 100644 --- a/forge-gui/res/cardsfolder/i/infectious_inquiry.txt +++ b/forge-gui/res/cardsfolder/i/infectious_inquiry.txt @@ -4,5 +4,5 @@ Types:Sorcery A:SP$ Draw | NumCards$ 2 | SubAbility$ DBLoseLife | SpellDescription$ You draw two cards and you lose 2 life. Each opponent gets a poison counter. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 2 | SubAbility$ DBPoison SVar:DBPoison:DB$ Poison | Defined$ Player.Opponent | Num$ 1 -DeckHints:Ability$Proliferate a Keyword$Infect|Toxic +DeckHints:Ability$Proliferate & Keyword$Infect|Toxic Oracle:You draw two cards and you lose 2 life. Each opponent gets a poison counter. diff --git a/forge-gui/res/cardsfolder/i/introductions_are_in_order.txt b/forge-gui/res/cardsfolder/i/introductions_are_in_order.txt index 7dedcf1bf7a..70d3af5d4e0 100644 --- a/forge-gui/res/cardsfolder/i/introductions_are_in_order.txt +++ b/forge-gui/res/cardsfolder/i/introductions_are_in_order.txt @@ -3,6 +3,6 @@ ManaCost:no cost Types:Scheme T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBTutorCreature,DBPutCreature | CharmNum$ 1 -SVar:DBTutorCreature:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.Creature | ChangeNum$ 1 | SpellDescription$ Search your library for a creature card, reveal it, put it into your hand, then shuffle; +SVar:DBTutorCreature:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Card.Creature | ChangeNum$ 1 | SpellDescription$ Search your library for a creature card, reveal it, put it into your hand, then shuffle. SVar:DBPutCreature:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Card.Creature | ChangeNum$ 1 | SpellDescription$ or you may put a creature card from your hand onto the battlefield. Oracle:When you set this scheme in motion, choose one —\n• Search your library for a creature card, reveal it, put it into your hand, then shuffle.\n• You may put a creature card from your hand onto the battlefield. diff --git a/forge-gui/res/cardsfolder/i/invasion_of_tolvada_the_broken_sky.txt b/forge-gui/res/cardsfolder/i/invasion_of_tolvada_the_broken_sky.txt index 3f5e3df1aac..f64a2275875 100644 --- a/forge-gui/res/cardsfolder/i/invasion_of_tolvada_the_broken_sky.txt +++ b/forge-gui/res/cardsfolder/i/invasion_of_tolvada_the_broken_sky.txt @@ -5,9 +5,9 @@ Defense:5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters, return target nonbattle permanent card from your graveyard to the battlefield. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Permanent.nonBattle+YouCtrl | TgtPrompt$ Select target nonbattle permanent card in your graveyard DeckHas:Ability$Graveyard|Token & Type$Spirit -DeckHints:Ability$Graveyard|Mill|Tokens|LifeGain +DeckHints:Ability$Graveyard|Mill|Token|LifeGain AlternateMode:DoubleFaced -Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Tolvada enters, return target nonbattle permanent card from your graveyard to the battlefield +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Tolvada enters, return target nonbattle permanent card from your graveyard to the battlefield. ALTERNATE diff --git a/forge-gui/res/cardsfolder/i/inys_haen.txt b/forge-gui/res/cardsfolder/i/inys_haen.txt index 4cb6edf82db..dee4395336e 100644 --- a/forge-gui/res/cardsfolder/i/inys_haen.txt +++ b/forge-gui/res/cardsfolder/i/inys_haen.txt @@ -4,7 +4,7 @@ Types:Plane Cridhe T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ TrigMill | TriggerZones$ Command | TriggerDescription$ When you planeswalk to CARDNAME and at the beginning of your upkeep, mill three cards. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigMill | TriggerZones$ Command | Secondary$ True | TriggerDescription$ When you planeswalk to CARDNAME and at the beginning of your upkeep, mill three cards. SVar:TrigMill:DB$ Mill | NumCards$ 3 | Defined$ You -T:Mode$ PlaneswalkedFrom | ValidCard$ Plane.Self | Execute$ TrigChangeZoneAll | TriggerDescription$ When you planeswalk away from CARDNAME, each player returns all land cards from their graveyard to the battlefield tapped +T:Mode$ PlaneswalkedFrom | ValidCard$ Plane.Self | Execute$ TrigChangeZoneAll | TriggerDescription$ When you planeswalk away from CARDNAME, each player returns all land cards from their graveyard to the battlefield tapped. SVar:TrigChangeZoneAll:DB$ ChangeZoneAll | Tapped$ True | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Land T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, return target nonland card from your graveyard to your hand. SVar:RolledChaos:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.nonLand+YouCtrl | TgtPrompt$ Select target nonland card in your graveyard diff --git a/forge-gui/res/cardsfolder/j/jinnie_fay_jetmirs_second.txt b/forge-gui/res/cardsfolder/j/jinnie_fay_jetmirs_second.txt index a82cfb59aa2..8ca8ef7479b 100644 --- a/forge-gui/res/cardsfolder/j/jinnie_fay_jetmirs_second.txt +++ b/forge-gui/res/cardsfolder/j/jinnie_fay_jetmirs_second.txt @@ -4,8 +4,8 @@ Types:Legendary Creature Elf Druid PT:3/3 R:Event$ CreateToken | ActiveZones$ Battlefield | ValidToken$ Card.YouCtrl | ReplaceWith$ GenericChoice | Optional$ True | Description$ If you would create one or more tokens, you may instead create that many 2/2 green Cat creature tokens with haste or that many 3/1 green Dog creature tokens with vigilance. SVar:GenericChoice:DB$ GenericChoice | Choices$ Cat,Dog -SVar:Cat:DB$ ReplaceToken | Type$ ReplaceToken | ValidCard$ Card.YouCtrl | TokenScript$ g_2_2_cat_haste | SpellDescription$ Create that many 2/2 green Cat creature tokens with haste -SVar:Dog:DB$ ReplaceToken | Type$ ReplaceToken | ValidCard$ Card.YouCtrl | TokenScript$ g_3_1_dog_vigilance | SpellDescription$ Create that many 3/1 green Dog creature tokens with vigilance +SVar:Cat:DB$ ReplaceToken | Type$ ReplaceToken | ValidCard$ Card.YouCtrl | TokenScript$ g_2_2_cat_haste | SpellDescription$ Create that many 2/2 green Cat creature tokens with haste. +SVar:Dog:DB$ ReplaceToken | Type$ ReplaceToken | ValidCard$ Card.YouCtrl | TokenScript$ g_3_1_dog_vigilance | SpellDescription$ Create that many 3/1 green Dog creature tokens with vigilance. DeckNeeds:Ability$Token DeckHas:Type$Cat|Dog AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/k/kamachal_ships_mascot.txt b/forge-gui/res/cardsfolder/k/kamachal_ships_mascot.txt index 77491068c77..10d4f1748f9 100644 --- a/forge-gui/res/cardsfolder/k/kamachal_ships_mascot.txt +++ b/forge-gui/res/cardsfolder/k/kamachal_ships_mascot.txt @@ -9,7 +9,7 @@ SVar:TrigTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | SubAbility$ DBChoo SVar:DBChoose:DB$ ChooseCard | Choices$ Card.cmcEQX+ControlledBy TriggeredTarget | ChoiceZone$ Library | Amount$ 1 | AtRandom$ True | SubAbility$ DBChangeZoneAll SVar:DBChangeZoneAll:DB$ ChangeZoneAll | Origin$ Library | Destination$ Exile | ChangeType$ Card.ChosenCard | RememberChanged$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | StaticAbilities$ MayPlay | RememberObjects$ Remembered | SubAbility$ DBCleanup -SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered+nonLand | EffectZone$ Command | AffectedZone$ Exile | MayPlay$ True | Description$ You may cast that card this turn +SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered+nonLand | EffectZone$ Command | AffectedZone$ Exile | MayPlay$ True | Description$ You may cast that card this turn. SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True SVar:X:TriggerCount$DamageAmount DeckHas:Ability$Token & Type$Treasure diff --git a/forge-gui/res/cardsfolder/k/kami_of_restless_shadows.txt b/forge-gui/res/cardsfolder/k/kami_of_restless_shadows.txt index f92e454e1c8..660bcad1ac2 100644 --- a/forge-gui/res/cardsfolder/k/kami_of_restless_shadows.txt +++ b/forge-gui/res/cardsfolder/k/kami_of_restless_shadows.txt @@ -4,7 +4,7 @@ Types:Creature Spirit PT:3/3 T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ When CARDNAME enters, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ RaiseScoundrel,HauntedHarvest -SVar:RaiseScoundrel:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.Ninja+YouOwn,Creature.Rogue+YouOwn | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target Ninja or Rogue creature card from your graveyard | SpellDescription$ Return up to one target Ninja or Rogue creature card from your graveyard to your hand +SVar:RaiseScoundrel:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.Ninja+YouOwn,Creature.Rogue+YouOwn | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target Ninja or Rogue creature card from your graveyard | SpellDescription$ Return up to one target Ninja or Rogue creature card from your graveyard to your hand. SVar:HauntedHarvest:DB$ ChangeZone | Origin$ Graveyard | Destination$ Library | ValidTgts$ Creature.YouOwn | TgtPrompt$ Select target creature card from your graveyard | SpellDescription$ Put target creature card from your graveyard on top of your library. DeckHas:Ability$Graveyard DeckHints:Type$Ninja|Rogue diff --git a/forge-gui/res/cardsfolder/k/kaya_ghost_assassin.txt b/forge-gui/res/cardsfolder/k/kaya_ghost_assassin.txt index fb4d5036bd7..a55ffebc55e 100644 --- a/forge-gui/res/cardsfolder/k/kaya_ghost_assassin.txt +++ b/forge-gui/res/cardsfolder/k/kaya_ghost_assassin.txt @@ -4,8 +4,8 @@ Types:Legendary Planeswalker Kaya Loyalty:5 A:AB$ Pump | Cost$ AddCounter<0/LOYALTY> | ValidTgts$ Creature | TargetMax$ 1 | TargetMin$ 0 | Planeswalker$ True | SubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Exile CARDNAME or up to one target creature. Return that card to the battlefield under its owner's control at the beginning of your next upkeep. You lose 2 life. SVar:DBChoose:DB$ GenericChoice | Choices$ DBExileSelf,DBExileTarget | Defined$ You -SVar:DBExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBDelTrig | SpellDescription$ Exile CARDNAME -SVar:DBExileTarget:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBDelTrig | SpellDescription$ Exile up to one target creature +SVar:DBExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBDelTrig | SpellDescription$ Exile CARDNAME. +SVar:DBExileTarget:DB$ ChangeZone | Defined$ Targeted | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBDelTrig | SpellDescription$ Exile up to one target creature. SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ DBReturn | TriggerDescription$ Return that card to the battlefield under its owner's control at the beginning of your next upkeep. | RememberObjects$ RememberedLKI | SubAbility$ DBCleanup SVar:DBReturn:DB$ ChangeZone | Origin$ Exile | Defined$ DelayTriggerRememberedLKI | Destination$ Battlefield SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBLoseLife diff --git a/forge-gui/res/cardsfolder/k/kaylas_command.txt b/forge-gui/res/cardsfolder/k/kaylas_command.txt index 8f5816180d6..3bf17bb2b14 100644 --- a/forge-gui/res/cardsfolder/k/kaylas_command.txt +++ b/forge-gui/res/cardsfolder/k/kaylas_command.txt @@ -9,5 +9,5 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Plains.Basic | ChangeNum$ 1 | SpellDescription$ Search your library for a basic Plains card, reveal it, put it into your hand, then shuffle. SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 | SubAbility$ DBScry | SpellDescription$ You gain 2 life and scry 2. SVar:DBScry:DB$ Scry | ScryNum$ 2 -DeckHas:Ability$Token|LifeGain|Counters & Type$Construct|Artifact & Keyword$DoubleStrike +DeckHas:Ability$Token|LifeGain|Counters & Type$Construct|Artifact & Keyword$Double Strike Oracle:Choose two —\n• Create a 2/2 colorless Construct artifact creature token.\n• Put a +1/+1 counter on a creature you control. It gains double strike until end of turn.\n• Search your library for a basic Plains card, reveal it, put it into your hand, then shuffle.\n• You gain 2 life and scry 2. diff --git a/forge-gui/res/cardsfolder/k/keldon_twilight.txt b/forge-gui/res/cardsfolder/k/keldon_twilight.txt index 33cc02e402c..f79cb7b47c6 100644 --- a/forge-gui/res/cardsfolder/k/keldon_twilight.txt +++ b/forge-gui/res/cardsfolder/k/keldon_twilight.txt @@ -2,6 +2,6 @@ Name:Keldon Twilight ManaCost:1 B R Types:Enchantment T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigSac | CheckSVar$ AttackedThisTurn | SVarCompare$ EQ0 | TriggerDescription$ At the beginning of each player's end step, if no creatures attacked this turn, that player sacrifices a creature they controlled since the beginning of the turn. -SVar:TrigSac:DB$ Sacrifice | Defined$ TriggeredPlayer | SacValid$ Creature.notFirstTurnControlled +SVar:TrigSac:DB$ Sacrifice | Defined$ TriggeredPlayer | SacValid$ Creature.!firstTurnControlled SVar:AttackedThisTurn:PlayerCountPlayers$AttackersDeclared Oracle:At the beginning of each player's end step, if no creatures attacked this turn, that player sacrifices a creature they controlled since the beginning of the turn. diff --git a/forge-gui/res/cardsfolder/k/kirri_talented_sprout.txt b/forge-gui/res/cardsfolder/k/kirri_talented_sprout.txt index 63fac432f91..d9839f850de 100644 --- a/forge-gui/res/cardsfolder/k/kirri_talented_sprout.txt +++ b/forge-gui/res/cardsfolder/k/kirri_talented_sprout.txt @@ -3,7 +3,7 @@ ManaCost:1 R G W Types:Legendary Creature Plant Druid PT:0/3 S:Mode$ Continuous | Affected$ Plant.Other+YouCtrl,Treefolk.Other+YouCtrl | AddPower$ 2 | Description$ Other Plants and Treefolk you control get +2/+0. -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your postcombat main phase, return target Plant, Treefolk, or land card from your graveyard to your hand. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of each of your postcombat main phases, return target Plant, Treefolk, or land card from your graveyard to your hand. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Plant.YouOwn,Treefolk.YouOwn,Land.YouOwn | TgtPrompt$ Select target Plant, Treefolk, or land card from your graveyard DeckNeeds:Ability$Graveyard & Type$Plant|Treefolk -Oracle:Other Plants and Treefolk you control get +2/+0.\nAt the beginning of your postcombat main phase, return target Plant, Treefolk, or land card from your graveyard to your hand. +Oracle:Other Plants and Treefolk you control get +2/+0.\nAt the beginning of each of your postcombat main phases, return target Plant, Treefolk, or land card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/k/kitsune_ace.txt b/forge-gui/res/cardsfolder/k/kitsune_ace.txt index d97fb4f811e..7f76932f8d8 100644 --- a/forge-gui/res/cardsfolder/k/kitsune_ace.txt +++ b/forge-gui/res/cardsfolder/k/kitsune_ace.txt @@ -4,7 +4,7 @@ Types:Creature Fox Pilot PT:2/2 T:Mode$ Attacks | ValidCard$ Vehicle.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCharm | TriggerDescription$ Whenever a Vehicle you control attacks, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBPump,DBUntap -SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ First Strike | SpellDescription$ That Vehicle gains first strike until end of turn -SVar:DBUntap:DB$ Untap | Defined$ Self | SpellDescription$ Untap CARDNAME +SVar:DBPump:DB$ Pump | Defined$ TriggeredAttackerLKICopy | KW$ First Strike | SpellDescription$ That Vehicle gains first strike until end of turn. +SVar:DBUntap:DB$ Untap | Defined$ Self | SpellDescription$ Untap CARDNAME. DeckNeeds:Type$Vehicle Oracle:Whenever a Vehicle you control attacks, choose one —\n• That Vehicle gains first strike until end of turn.\n• Untap Kitsune Ace. diff --git a/forge-gui/res/cardsfolder/k/klothys_god_of_destiny.txt b/forge-gui/res/cardsfolder/k/klothys_god_of_destiny.txt index 565142eeb55..00e5d24320b 100644 --- a/forge-gui/res/cardsfolder/k/klothys_god_of_destiny.txt +++ b/forge-gui/res/cardsfolder/k/klothys_god_of_destiny.txt @@ -5,11 +5,11 @@ PT:4/5 K:Indestructible S:Mode$ Continuous | Affected$ Card.Self | RemoveType$ Creature | CheckSVar$ X | SVarCompare$ LT7 | Description$ As long as your devotion to red and green is less than seven, NICKNAME isn't a creature. SVar:X:Count$DevotionDual.Red.Green -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your precombat main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and NICKNAME deals 2 damage to each opponent. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your first main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and NICKNAME deals 2 damage to each opponent. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | TgtPrompt$ Select target card in a graveyard | RememberChanged$ True | SubAbility$ DBMana SVar:DBMana:DB$ Mana | Amount$ 1 | Produced$ Combo R G | ConditionDefined$ Remembered | ConditionPresent$ Land | ConditionCompare$ EQ1 | SubAbility$ DBGainLife SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Land | ConditionCompare$ EQ0 | SubAbility$ DBDamage SVar:DBDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Land | ConditionCompare$ EQ0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$LifeGain -Oracle:Indestructible\nAs long as your devotion to red and green is less than seven, Klothys isn't a creature.\nAt the beginning of your precombat main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and Klothys deals 2 damage to each opponent. +Oracle:Indestructible\nAs long as your devotion to red and green is less than seven, Klothys isn't a creature.\nAt the beginning of your first main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and Klothys deals 2 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/k/koth_of_the_hammer.txt b/forge-gui/res/cardsfolder/k/koth_of_the_hammer.txt index 0257e12addd..4a55b39990d 100644 --- a/forge-gui/res/cardsfolder/k/koth_of_the_hammer.txt +++ b/forge-gui/res/cardsfolder/k/koth_of_the_hammer.txt @@ -5,9 +5,9 @@ Loyalty:3 A:AB$ Untap | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Mountain | TgtPrompt$ Select target Mountain | SubAbility$ DBAnimate | SpellDescription$ Untap target Mountain. It becomes a 4/4 red Elemental creature until end of turn. It's still a land. SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Power$ 4 | Toughness$ 4 | Types$ Creature,Elemental | Colors$ Red | OverwriteColors$ True A:AB$ Mana | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Produced$ R | Amount$ X | SpellDescription$ Add {R} for each Mountain you control. -A:AB$ Effect | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem — Koth of the Hammer | Image$ emblem_koth_of_the_hammer | StaticAbilities$ STDamage | Stackable$ False | Duration$ Permanent | SpellDescription$ You get an emblem with "Mountains you control have '{T}: This land deals 1 damage to any target." +A:AB$ Effect | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem — Koth of the Hammer | Image$ emblem_koth_of_the_hammer | StaticAbilities$ STDamage | Stackable$ False | Duration$ Permanent | SpellDescription$ You get an emblem with "Mountains you control have '{T}: This land deals 1 damage to any target.'" SVar:STDamage:Mode$ Continuous | EffectZone$ Command | Affected$ Mountain.YouCtrl | AddAbility$ ABDealDamage | AffectedZone$ Battlefield | Description$ Mountains you control have "{T}: This land deals 1 damage to any target." -SVar:ABDealDamage:AB$ DealDamage | Cost$ T | ValidTgts$ Any | NumDmg$ 1 | SpellDescription$ Deal 1 damage to any target +SVar:ABDealDamage:AB$ DealDamage | Cost$ T | ValidTgts$ Any | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to any target. SVar:X:Count$Valid Mountain.YouCtrl SVar:PlayMain1:ALWAYS DeckNeeds:Type$Mountain diff --git a/forge-gui/res/cardsfolder/k/kyler_sigardian_emissary.txt b/forge-gui/res/cardsfolder/k/kyler_sigardian_emissary.txt index 3c6fcf5e85f..075b37d400c 100644 --- a/forge-gui/res/cardsfolder/k/kyler_sigardian_emissary.txt +++ b/forge-gui/res/cardsfolder/k/kyler_sigardian_emissary.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Cleric PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Human.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever another Human you control enters, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 -S:Mode$ Continuous | Affected$ Card.Human+Other+YouCtrl | AddPower$ X | AddToughness$ X | Description$ Other Humans you control get +1/+1 for each counter on CARDNAME +S:Mode$ Continuous | Affected$ Card.Human+Other+YouCtrl | AddPower$ X | AddToughness$ X | Description$ Other Humans you control get +1/+1 for each counter on CARDNAME. SVar:X:Count$CardCounters.ALL DeckNeeds:Type$Human DeckHas:Ability$Counters diff --git a/forge-gui/res/cardsfolder/k/kytheon_hero_of_akros_gideon_battle_forged.txt b/forge-gui/res/cardsfolder/k/kytheon_hero_of_akros_gideon_battle_forged.txt index 9175ca161be..28de2c27c8e 100644 --- a/forge-gui/res/cardsfolder/k/kytheon_hero_of_akros_gideon_battle_forged.txt +++ b/forge-gui/res/cardsfolder/k/kytheon_hero_of_akros_gideon_battle_forged.txt @@ -2,7 +2,7 @@ Name:Kytheon, Hero of Akros ManaCost:W Types:Legendary Creature Human Soldier PT:2/1 -T:Mode$ Phase | Mode$ Phase | Phase$ EndCombat | IsPresent$ Card.Self+attackedThisCombat GE3 | Execute$ TrigExile | TriggerDescription$ At end of combat, if CARDNAME and at least two other creatures attacked this combat, exile NICKNAME, then return him to the battlefield transformed under his owner's control. +T:Mode$ Phase | Phase$ EndCombat | IsPresent$ Card.Self+attackedThisCombat GE3 | Execute$ TrigExile | TriggerDescription$ At end of combat, if CARDNAME and at least two other creatures attacked this combat, exile NICKNAME, then return him to the battlefield transformed under his owner's control. SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Transformed$ True | ForgetOtherRemembered$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/l/lava_storm.txt b/forge-gui/res/cardsfolder/l/lava_storm.txt index 308a39c8681..8d130cd654e 100644 --- a/forge-gui/res/cardsfolder/l/lava_storm.txt +++ b/forge-gui/res/cardsfolder/l/lava_storm.txt @@ -1,7 +1,7 @@ Name:Lava Storm ManaCost:3 R R Types:Instant -A:SP$ GenericChoice | Choices$ DBDmgAttackers,DBDmgBlockers | Defined$ You | AILogic$ BestOption | StackDescription$ SpellDescription | SpellDescription$ CARDNAME deals 2 damage to each attacking creature or CARDNAME deals 2 damage to each blocking creature -SVar:DBDmgAttackers:DB$ DamageAll | ValidCards$ Creature.attacking | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to each attacking creature +A:SP$ GenericChoice | Choices$ DBDmgAttackers,DBDmgBlockers | Defined$ You | AILogic$ BestOption | StackDescription$ SpellDescription | SpellDescription$ CARDNAME deals 2 damage to each attacking creature or CARDNAME deals 2 damage to each blocking creature. +SVar:DBDmgAttackers:DB$ DamageAll | ValidCards$ Creature.attacking | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to each attacking creature. SVar:DBDmgBlockers:DB$ DamageAll | ValidCards$ Creature.blocking | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to each blocking creature. Oracle:Lava Storm deals 2 damage to each attacking creature or Lava Storm deals 2 damage to each blocking creature. diff --git a/forge-gui/res/cardsfolder/l/legion_loyalist.txt b/forge-gui/res/cardsfolder/l/legion_loyalist.txt index 36ced6d644f..6cd275a81fa 100644 --- a/forge-gui/res/cardsfolder/l/legion_loyalist.txt +++ b/forge-gui/res/cardsfolder/l/legion_loyalist.txt @@ -6,5 +6,5 @@ K:Haste T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | IsPresent$ Creature.attacking+Other | NoResolvingCheck$ True | PresentCompare$ GE2 | TriggerDescription$ Battalion — Whenever CARDNAME and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ First Strike & Trample | SubAbility$ TrigEffect SVar:TrigEffect:DB$ Effect | StaticAbilities$ KWPump -SVar:KWPump:Mode$ CantBlockBy | ValidAttacker$ Creature.YouCtrl | ValidBlocker$ Creature.token | EffectZone$ Command | Description$ Creatures you control can't be blocked by creature tokens this turn +SVar:KWPump:Mode$ CantBlockBy | ValidAttacker$ Creature.YouCtrl | ValidBlocker$ Creature.token | EffectZone$ Command | Description$ Creatures you control can't be blocked by creature tokens this turn. Oracle:Haste\nBattalion — Whenever Legion Loyalist and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. diff --git a/forge-gui/res/cardsfolder/l/legolass_quick_reflexes.txt b/forge-gui/res/cardsfolder/l/legolass_quick_reflexes.txt index e04737015cf..ed4b17319a4 100644 --- a/forge-gui/res/cardsfolder/l/legolass_quick_reflexes.txt +++ b/forge-gui/res/cardsfolder/l/legolass_quick_reflexes.txt @@ -5,7 +5,7 @@ K:Split second A:SP$ Untap | ValidTgts$ Creature | SubAbility$ DBEffect | SpellDescription$ Untap target creature. Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature." SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | StaticAbilities$ PumpStatic SVar:PumpStatic:Mode$ Continuous | AddKeyword$ Hexproof & Reach | AddTrigger$ BecomesTapped | Affected$ Card.IsRemembered | EffectZone$ Command | Description$ Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature." -SVar:BecomesTapped:Mode$ Taps | ValidCard$ Card.Self | Execute$ TrigFight | TriggerDescription$ Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature +SVar:BecomesTapped:Mode$ Taps | ValidCard$ Card.Self | Execute$ TrigFight | TriggerDescription$ Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature. SVar:TrigFight:DB$ DealDamage | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 1 | AILogic$ PowerDmg | NumDmg$ X | DamageSource$ Self SVar:X:Count$CardPower Oracle:Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.)\nUntap target creature. Until end of turn, it gains hexproof, reach, and "Whenever this creature becomes tapped, it deals damage equal to its power to up to one target creature." diff --git a/forge-gui/res/cardsfolder/l/leovolds_operative.txt b/forge-gui/res/cardsfolder/l/leovolds_operative.txt index 69ae38fab0d..0b8ea4a9122 100644 --- a/forge-gui/res/cardsfolder/l/leovolds_operative.txt +++ b/forge-gui/res/cardsfolder/l/leovolds_operative.txt @@ -4,4 +4,4 @@ Types:Creature Elf Rogue PT:3/2 Draft:Draft CARDNAME face up. Draft:As you draft a card, you may draft an additional card from that booster pack. If you do, turn CARDNAME face down, then pass the next booster pack without drafting a card from it. (You may look at that booster pack.) -Oracle:Draft Leovold's Operative face up.\n\nAs you draft a card, you may draft an additional card from that booster pack. If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it. (You may look at that booster pack.) +Oracle:Draft Leovold's Operative face up.\nAs you draft a card, you may draft an additional card from that booster pack. If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it. (You may look at that booster pack.) diff --git a/forge-gui/res/cardsfolder/l/liars_pendulum.txt b/forge-gui/res/cardsfolder/l/liars_pendulum.txt index eb55b730a35..1475f39bbdd 100644 --- a/forge-gui/res/cardsfolder/l/liars_pendulum.txt +++ b/forge-gui/res/cardsfolder/l/liars_pendulum.txt @@ -3,8 +3,8 @@ ManaCost:1 Types:Artifact A:AB$ NameCard | Cost$ 2 T | Defined$ You | SubAbility$ DBGuess | SpellDescription$ Choose a card name. Target opponent guesses whether a card with that name is in your hand. You may reveal your hand. If you do and your opponent guessed wrong, draw a card. SVar:DBGuess:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ GuessInHand,GuessNotInHand | AILogic$ Random | ShowChoice$ True | Guess$ True -SVar:GuessInHand:DB$ RevealHand | Defined$ You | Optional$ True | RememberRevealedPlayer$ True | SubAbility$ DBInHandDraw | SpellDescription$ A card with the chosen name is in that player's hand -SVar:GuessNotInHand:DB$ RevealHand | Defined$ You | Optional$ True | RememberRevealedPlayer$ True | SubAbility$ DBNotInHandDraw | SpellDescription$ A card with the chosen name is not in that player's hand +SVar:GuessInHand:DB$ RevealHand | Defined$ You | Optional$ True | RememberRevealedPlayer$ True | SubAbility$ DBInHandDraw | SpellDescription$ A card with the chosen name is in that player's hand. +SVar:GuessNotInHand:DB$ RevealHand | Defined$ You | Optional$ True | RememberRevealedPlayer$ True | SubAbility$ DBNotInHandDraw | SpellDescription$ A card with the chosen name is not in that player's hand. SVar:DBInHandDraw:DB$ Draw | Defined$ You | ConditionPlayerDefined$ Remembered | ConditionPlayerContains$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup SVar:DBNotInHandDraw:DB$ Draw | Defined$ You | ConditionPlayerDefined$ Remembered | ConditionPlayerContains$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/l/liege_of_the_hollows.txt b/forge-gui/res/cardsfolder/l/liege_of_the_hollows.txt index 71dd7229cf5..40553ef6370 100644 --- a/forge-gui/res/cardsfolder/l/liege_of_the_hollows.txt +++ b/forge-gui/res/cardsfolder/l/liege_of_the_hollows.txt @@ -3,7 +3,7 @@ ManaCost:2 G G Types:Creature Spirit PT:3/4 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ RepeatPayment | TriggerDescription$ When CARDNAME dies, each player may pay any amount of mana. Then each player creates a number of 1/1 green Squirrel creature tokens equal to the amount of mana they paid this way. -SVar:RepeatPayment:DB$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | ChangeZoneTable$ True | RepeatSubAbility$ DBPay | StackDescription$ When CARDNAME dies, each player may pay any amount of mana. Then each player creates a number of 1/1 green Squirrel creature tokens equal to the amount of mana they paid this way. +SVar:RepeatPayment:DB$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | ChangeZoneTable$ True | RepeatSubAbility$ DBPay | StackDescription$ When CARDNAME dies, each player may pay any amount of mana. Then each player creates a number of 1/1 green Squirrel creature tokens equal to the amount of mana they paid this way. SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | AILogic$ MaxForAnyController | SubAbility$ DBToken # TODO: ideally the tokens should be created simultaneously after all the players have finished paying mana, but that's difficult to implement. SVar:DBToken:DB$ Token | TokenAmount$ X | TokenScript$ g_1_1_squirrel | TokenOwner$ Player.IsRemembered | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True diff --git a/forge-gui/res/cardsfolder/l/life_cloud.txt b/forge-gui/res/cardsfolder/l/life_cloud.txt index 6610ea329f3..d69d4060035 100644 --- a/forge-gui/res/cardsfolder/l/life_cloud.txt +++ b/forge-gui/res/cardsfolder/l/life_cloud.txt @@ -8,4 +8,4 @@ SVar:DBReturnCreature:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefi SVar:DBRepeatLand:DB$ RepeatEach | RepeatSubAbility$ DBReturnLand | RepeatPlayers$ Player SVar:DBReturnLand:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Land.RememberedPlayerCtrl | DefinedPlayer$ Player.IsRemembered | Chooser$ Player.IsRemembered | ChangeNum$ X | Hidden$ True | Mandatory$ True SVar:X:Count$xPaid -Oracle:Each player gains X life, draws X cards, returns X creatures from their graveyard to the battlefield, then returns X lands from their graveyard to the battlefield. +Oracle:Each player gains X life, draws X cards, returns X creatures from their graveyard to the battlefield, then returns X lands from their graveyard to the battlefield. diff --git a/forge-gui/res/cardsfolder/l/liliana_of_the_dark_realms.txt b/forge-gui/res/cardsfolder/l/liliana_of_the_dark_realms.txt index 552c7510fd5..5315010b550 100644 --- a/forge-gui/res/cardsfolder/l/liliana_of_the_dark_realms.txt +++ b/forge-gui/res/cardsfolder/l/liliana_of_the_dark_realms.txt @@ -2,13 +2,13 @@ Name:Liliana of the Dark Realms ManaCost:2 B B Types:Legendary Planeswalker Liliana Loyalty:3 -A:AB$ ChangeZone | Cost$ AddCounter<1/LOYALTY> | Origin$ Library | Destination$ Hand | Planeswalker$ True | NumCards$ 1 | ChangeType$ Swamp | SpellDescription$ Search your library for a swamp card, reveal it, put it into your hand, then shuffle. -A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ ABChoice | SpellDescription$ Target creature gets +X/+X or -X/-X until end of turn, where X is the number of swamps you control. | StackDescription$ Target creature gets +X/+X or -X/-X until end of turn, where X is the number of swamps you control. -A:AB$ Effect | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem — Liliana Of The Dark Realms | Image$ emblem_liliana_of_the_dark_realms | StaticAbilities$ SwampBoost | Stackable$ False | Duration$ Permanent | SpellDescription$ You get an emblem with "Swamps you control have '{T}: Add {B}{B}{B}{B}.'". +A:AB$ ChangeZone | Cost$ AddCounter<1/LOYALTY> | Origin$ Library | Destination$ Hand | Planeswalker$ True | NumCards$ 1 | ChangeType$ Swamp | SpellDescription$ Search your library for a Swamp card, reveal it, put it into your hand, then shuffle. +A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ ABChoice | SpellDescription$ Target creature gets +X/+X or -X/-X until end of turn, where X is the number of Swamps you control. | StackDescription$ Target creature gets +X/+X or -X/-X until end of turn, where X is the number of Swamps you control. +A:AB$ Effect | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem — Liliana Of The Dark Realms | Image$ emblem_liliana_of_the_dark_realms | StaticAbilities$ SwampBoost | Stackable$ False | Duration$ Permanent | SpellDescription$ You get an emblem with "Swamps you control have '{T}: Add {B}{B}{B}{B}.'" SVar:X:Count$Valid Swamp.YouCtrl SVar:ABChoice:DB$ GenericChoice | Defined$ You | Choices$ ABPump1,ABPump2 -SVar:ABPump1:DB$ Pump | Defined$ Targeted | NumAtt$ +X | NumDef$ +X | SpellDescription$ +X/+X -SVar:ABPump2:DB$ Pump | Defined$ Targeted | NumAtt$ -X | NumDef$ -X | SpellDescription$ -X/-X -SVar:SwampBoost:Mode$ Continuous | EffectZone$ Command | Affected$ Swamp.YouCtrl | AffectedZone$ Battlefield | AddAbility$ BlackTap | Description$ Swamps you control have '{T}: Add {B}{B}{B}{B}.' +SVar:ABPump1:DB$ Pump | Defined$ Targeted | NumAtt$ +X | NumDef$ +X | SpellDescription$ Target creature gets +X/+X until end of turn, where X is the number of Swamps you control. +SVar:ABPump2:DB$ Pump | Defined$ Targeted | NumAtt$ -X | NumDef$ -X | SpellDescription$ Target creature gets -X/-X until end of turn, where X is the number of Swamps you control. +SVar:SwampBoost:Mode$ Continuous | EffectZone$ Command | Affected$ Swamp.YouCtrl | AffectedZone$ Battlefield | AddAbility$ BlackTap | Description$ Swamps you control have "{T}: Add {B}{B}{B}{B}." SVar:BlackTap:AB$ Mana | Cost$ T | Produced$ B | Amount$ 4 | SpellDescription$ Add {B}{B}{B}{B}. Oracle:[+1]: Search your library for a Swamp card, reveal it, put it into your hand, then shuffle.\n[-3]: Target creature gets +X/+X or -X/-X until end of turn, where X is the number of Swamps you control.\n[-6]: You get an emblem with "Swamps you control have '{T}: Add {B}{B}{B}{B}.'" diff --git a/forge-gui/res/cardsfolder/l/lord_skitters_blessing.txt b/forge-gui/res/cardsfolder/l/lord_skitters_blessing.txt index 426c600f8fc..e6730914fc0 100644 --- a/forge-gui/res/cardsfolder/l/lord_skitters_blessing.txt +++ b/forge-gui/res/cardsfolder/l/lord_skitters_blessing.txt @@ -1,11 +1,11 @@ Name:Lord Skitter's Blessing ManaCost:1 B Types:Enchantment -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a Wicked Role token attached to target creature you control. (if you control another Role on it, put that one into the graveyard. Enchanted creature gets +1/+1. When this Aura is put into a graveyard, each opponent loses 1 life.) +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a Wicked Role token attached to target creature you control. (If you control another Role on it, put that one into the graveyard. Enchanted creature gets +1/+1. When this Aura is put into a graveyard, each opponent loses 1 life.) SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ role_wicked | TokenOwner$ You | AttachedTo$ Targeted | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control T:Mode$ Phase | Phase$ Draw | ValidPlayer$ You | IsPresent$ Creature.enchanted+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of your draw step, if you control an enchanted creature, you lose 1 life and you draw an additional card. SVar:TrigLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 1 | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | NumCards$ 1 | Defined$ You DeckHas:Ability$Token & Type$Role|Aura DeckHints:Type$Aura -Oracle:When Lord Skitter's Blessing enters, create a Wicked Role token attached to target creature you control. (if you control another Role on it, put that one into the graveyard. Enchanted creature gets +1/+1. When this Aura is put into a graveyard, each opponent loses 1 life.)\nAt the beginning of your draw step, if you control an enchanted creature, you lose 1 life and you draw an additional card. +Oracle:When Lord Skitter's Blessing enters, create a Wicked Role token attached to target creature you control. (If you control another Role on it, put that one into the graveyard. Enchanted creature gets +1/+1. When this Aura is put into a graveyard, each opponent loses 1 life.)\nAt the beginning of your draw step, if you control an enchanted creature, you lose 1 life and you draw an additional card. diff --git a/forge-gui/res/cardsfolder/l/love_song_of_night_and_day.txt b/forge-gui/res/cardsfolder/l/love_song_of_night_and_day.txt index b42f76303aa..7f7529cf446 100644 --- a/forge-gui/res/cardsfolder/l/love_song_of_night_and_day.txt +++ b/forge-gui/res/cardsfolder/l/love_song_of_night_and_day.txt @@ -6,5 +6,5 @@ K:Chapter:3:DBDraw,DBToken,DBPutCounter SVar:DBDraw:DB$ Draw | NumCards$ 2 | ValidTgts$ Opponent | Defined$ TargetedAndYou | SpellDescription$ You and target opponent each draw two cards. SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_bird_flying | SpellDescription$ Create a 1/1 white Bird creature token with flying. SVar:DBPutCounter:DB$ PutCounter | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on each of up to two target creatures. -DeckHas:Ability$Counters|Tokens +DeckHas:Ability$Counters|Token Oracle:Read ahead (Choose a chapter and start with that many lore counters. Add one after your draw step. Skipped chapters don't trigger. Sacrifice after III.)\nI — You and target opponent each draw two cards.\nII — Create a 1/1 white Bird creature token with flying.\nIII — Put a +1/+1 counter on each of up to two target creatures. diff --git a/forge-gui/res/cardsfolder/l/loyal_cathar_unhallowed_cathar.txt b/forge-gui/res/cardsfolder/l/loyal_cathar_unhallowed_cathar.txt index 42bc1d13fec..44ef5d2394f 100644 --- a/forge-gui/res/cardsfolder/l/loyal_cathar_unhallowed_cathar.txt +++ b/forge-gui/res/cardsfolder/l/loyal_cathar_unhallowed_cathar.txt @@ -4,7 +4,7 @@ Types:Creature Human Soldier PT:2/2 K:Vigilance T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDelay | TriggerDescription$ When CARDNAME dies, return it to the battlefield transformed under your control at the beginning of the next end step. -SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ return CARDNAME to the battlefield transformed +SVar:TrigDelay:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return CARDNAME to the battlefield transformed under your control. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield | Transformed$ True | GainControl$ True AlternateMode:DoubleFaced Oracle:Vigilance\nWhen Loyal Cathar dies, return it to the battlefield transformed under your control at the beginning of the next end step. diff --git a/forge-gui/res/cardsfolder/l/luxior_and_shadowspear.txt b/forge-gui/res/cardsfolder/l/luxior_and_shadowspear.txt index 9e6e4d5071f..e2cdd2ad41d 100644 --- a/forge-gui/res/cardsfolder/l/luxior_and_shadowspear.txt +++ b/forge-gui/res/cardsfolder/l/luxior_and_shadowspear.txt @@ -5,6 +5,6 @@ K:Equip:3:Planeswalker.YouCtrl:planeswalker K:Equip:3 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | AddKeyword$ Trample & Lifelink | Description$ Equipped creature gets +1/+1 for each counter on it, and has trample and lifelink. SVar:X:Equipped$CardCounters.ALL -S:Mode$ Continuous | Affected$ Permanent.EquippedBy | RemoveType$ Planeswalker | AddType$ Creature | Description$ Equipped permanent isn't a planeswalker and is a creature in addition it its other types. (Loyalty abilities can still be activated.) +S:Mode$ Continuous | Affected$ Permanent.EquippedBy | RemoveType$ Planeswalker | AddType$ Creature | Description$ Equipped permanent isn't a planeswalker and is a creature in addition to its other types. (Loyalty abilities can still be activated.) A:AB$ AnimateAll | Cost$ 1 | ValidCards$ Permanent.OppCtrl | RemoveKeywords$ Hexproof & Indestructible | SpellDescription$ Permanents your opponents control lose hexproof and indestructible until end of turn. | StackDescription$ SpellDescription -Oracle:Equipped creature gets +1/+1 for each counter on it, and has trample and lifelink.\n{1}: Permanents your opponents control lose hexproof and indestructible until end of turn.\nEquipped permanent isn't a planeswalker and is a creature in addition it its other types. (Loyalty abilities can still be activated.)\Equip creature or planeswalker {3} +Oracle:Equipped creature gets +1/+1 for each counter on it, and has trample and lifelink.\n{1}: Permanents your opponents control lose hexproof and indestructible until end of turn.\nEquipped permanent isn't a planeswalker and is a creature in addition to its other types. (Loyalty abilities can still be activated.)\Equip creature or planeswalker {3} diff --git a/forge-gui/res/cardsfolder/l/luxior_giadas_gift.txt b/forge-gui/res/cardsfolder/l/luxior_giadas_gift.txt index fb96c2470d6..f773e40ed73 100644 --- a/forge-gui/res/cardsfolder/l/luxior_giadas_gift.txt +++ b/forge-gui/res/cardsfolder/l/luxior_giadas_gift.txt @@ -5,5 +5,5 @@ K:Equip:1:Planeswalker.YouCtrl:planeswalker K:Equip:3 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each counter on it. SVar:X:Equipped$CardCounters.ALL -S:Mode$ Continuous | Affected$ Permanent.EquippedBy | RemoveType$ Planeswalker | AddType$ Creature | Description$ Equipped permanent isn't a planeswalker and is a creature in addition it its other types. (Loyalty abilities can still be activated.) -Oracle:Equipped creature gets +1/+1 for each counter on it.\nEquipped permanent isn't a planeswalker and is a creature in addition it its other types. (Loyalty abilities can still be activated.)\nEquip planeswalker 1\nEquip 3 +S:Mode$ Continuous | Affected$ Permanent.EquippedBy | RemoveType$ Planeswalker | AddType$ Creature | Description$ Equipped permanent isn't a planeswalker and is a creature in addition to its other types. (Loyalty abilities can still be activated.) +Oracle:Equipped creature gets +1/+1 for each counter on it.\nEquipped permanent isn't a planeswalker and is a creature in addition to its other types. (Loyalty abilities can still be activated.)\nEquip planeswalker 1\nEquip 3 diff --git a/forge-gui/res/cardsfolder/m/magus_of_the_vineyard.txt b/forge-gui/res/cardsfolder/m/magus_of_the_vineyard.txt index 5bd04b55780..b63aded5aaf 100644 --- a/forge-gui/res/cardsfolder/m/magus_of_the_vineyard.txt +++ b/forge-gui/res/cardsfolder/m/magus_of_the_vineyard.txt @@ -2,6 +2,6 @@ Name:Magus of the Vineyard ManaCost:G Types:Creature Human Wizard PT:1/1 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | Execute$ TrigMana | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's precombat main phase, that player adds {G}{G}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ Player | Execute$ TrigMana | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's first main phase, that player adds {G}{G}. SVar:TrigMana:DB$ Mana | Produced$ G | Amount$ 2 | Defined$ TriggeredPlayer -Oracle:At the beginning of each player's precombat main phase, that player adds {G}{G}. +Oracle:At the beginning of each player's first main phase, that player adds {G}{G}. diff --git a/forge-gui/res/cardsfolder/m/mana_charged_dragon.txt b/forge-gui/res/cardsfolder/m/mana_charged_dragon.txt index 25931d10f07..047144bf6b5 100644 --- a/forge-gui/res/cardsfolder/m/mana_charged_dragon.txt +++ b/forge-gui/res/cardsfolder/m/mana_charged_dragon.txt @@ -6,7 +6,7 @@ K:Flying K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigJoinForces | TriggerDescription$ Join forces — Whenever CARDNAME attacks or blocks, each player starting with you may pay any amount of mana. CARDNAME gets +X/+0 until end of turn, where X is the total amount of mana paid this way. T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigJoinForces | Secondary$ True | TriggerDescription$ Join forces — Whenever CARDNAME attacks or blocks, each player starting with you may pay any amount of mana. CARDNAME gets +X/+0 until end of turn, where X is the total amount of mana paid this way. -SVar:TrigJoinForces:DB$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBPump +SVar:TrigJoinForces:DB$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBPay | SubAbility$ DBPump SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.Y | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn SVar:DBPump:DB$ Pump | Defined$ Self | NumAtt$ JoinForcesAmount | SubAbility$ DBReset diff --git a/forge-gui/res/cardsfolder/m/manifold_insights.txt b/forge-gui/res/cardsfolder/m/manifold_insights.txt index 81a8f98ccdd..0758892e217 100644 --- a/forge-gui/res/cardsfolder/m/manifold_insights.txt +++ b/forge-gui/res/cardsfolder/m/manifold_insights.txt @@ -2,7 +2,7 @@ Name:Manifold Insights ManaCost:2 U Types:Sorcery A:SP$ PeekAndReveal | PeekAmount$ 10 | RevealValid$ Card | RememberRevealed$ True | SubAbility$ ChooseNonLand | SpellDescription$ Reveal the top ten cards of your library. Starting with the next opponent in turn order, each opponent chooses a different nonland card from among them. Put the chosen cards into your hand and the rest on the bottom of your library in a random order. -SVar:ChooseNonLand:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ OpponentsChoose | SubAbility$ ShipToBottom +SVar:ChooseNonLand:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | StartingWith$ Opponent | RepeatSubAbility$ OpponentsChoose | SubAbility$ ShipToBottom SVar:OpponentsChoose:DB$ ChooseCard | ChoiceZone$ Library | Choices$ Card.nonLand+IsRemembered | Defined$ Player.IsRemembered | ForgetChosen$ True | SubAbility$ ChosenToHand SVar:ChosenToHand:DB$ ChangeZone | Origin$ Library | Destination$ Hand | Defined$ ChosenCard SVar:ShipToBottom:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/m/marker_beetles.txt b/forge-gui/res/cardsfolder/m/marker_beetles.txt index a5331739422..a476fe59fbc 100644 --- a/forge-gui/res/cardsfolder/m/marker_beetles.txt +++ b/forge-gui/res/cardsfolder/m/marker_beetles.txt @@ -2,7 +2,7 @@ Name:Marker Beetles ManaCost:1 G G Types:Creature Insect PT:2/3 -A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | NumCards$ 1 | SpellDescription$ Draw a card +A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | NumCards$ 1 | SpellDescription$ Draw a card. T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigPump | TriggerDescription$ When CARDNAME dies, target creature gets +1/+1 until end of turn. SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | NumDef$ +1 AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/m/masters_rebuke.txt b/forge-gui/res/cardsfolder/m/masters_rebuke.txt index 621e9150a52..bb2d2e62e1d 100644 --- a/forge-gui/res/cardsfolder/m/masters_rebuke.txt +++ b/forge-gui/res/cardsfolder/m/masters_rebuke.txt @@ -1,7 +1,7 @@ Name:Master's Rebuke ManaCost:1 G Types:Instant -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ RebukeDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ RebukeDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker you don't control. SVar:RebukeDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature or planeswalker you don't control | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower Oracle:Target creature you control deals damage equal to its power to target creature or planeswalker you don't control. diff --git a/forge-gui/res/cardsfolder/m/megatron_tyrant_megatron_destructive_force.txt b/forge-gui/res/cardsfolder/m/megatron_tyrant_megatron_destructive_force.txt index 74a08752c74..27f25f7fdca 100644 --- a/forge-gui/res/cardsfolder/m/megatron_tyrant_megatron_destructive_force.txt +++ b/forge-gui/res/cardsfolder/m/megatron_tyrant_megatron_destructive_force.txt @@ -4,13 +4,13 @@ Types:Legendary Artifact Creature Robot PT:7/5 K:More Than Meets the Eye:1 R W B S:Mode$ CantBeCast | ValidCard$ Card | Caster$ Opponent | Phases$ BeginCombat->EndCombat | Description$ Your opponents can't cast spells during combat. -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigConvert | OptionalDecider$ You | TriggerDescription$ At the beginning of your postcombat main phase, you may convert NICKNAME. If you do, add {C} for each 1 life your opponents have lost this turn. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigConvert | OptionalDecider$ You | TriggerDescription$ At the beginning of each of your postcombat main phases, you may convert NICKNAME. If you do, add {C} for each 1 life your opponents have lost this turn. SVar:TrigConvert:DB$ SetState | Mode$ Transform | RememberChanged$ True | SubAbility$ DBMana SVar:DBMana:DB$ Mana | ConditionDefined$ Remembered | ConditionPresent$ Card | Produced$ C | Amount$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$LifeOppsLostThisTurn AlternateMode:DoubleFaced -Oracle:More Than Meets the Eye {1}{R}{W}{B} (You may cast this card converted for {1}{R}{W}{B}.)\nYour opponents can't cast spells during combat.\nAt the beginning of your postcombat main phase, you may convert Megatron. If you do, add {C} for each 1 life your opponents have lost this turn. +Oracle:More Than Meets the Eye {1}{R}{W}{B} (You may cast this card converted for {1}{R}{W}{B}.)\nYour opponents can't cast spells during combat.\nAt the beginning of each of your postcombat main phases, you may convert Megatron. If you do, add {C} for each 1 life your opponents have lost this turn. ALTERNATE diff --git a/forge-gui/res/cardsfolder/m/millicent_restless_revenant.txt b/forge-gui/res/cardsfolder/m/millicent_restless_revenant.txt index 5f3190601f2..5356e05f1b2 100644 --- a/forge-gui/res/cardsfolder/m/millicent_restless_revenant.txt +++ b/forge-gui/res/cardsfolder/m/millicent_restless_revenant.txt @@ -8,6 +8,6 @@ SVar:X:Count$TypeYouCtrl.Spirit T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self,Spirit.Other+nonToken+YouCtrl | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME or another nontoken Spirit you control dies or deals combat damage to a player, create a 1/1 white Spirit creature token with flying. T:Mode$ DamageDone | ValidSource$ Card.Self,Spirit.Other+nonToken+YouCtrl | ValidTarget$ Player | Execute$ TrigToken | TriggerZones$ Battlefield | CombatDamage$ True | Secondary$ True | TriggerDescription$ Whenever CARDNAME or another nontoken Spirit you control dies or deals combat damage to a player, create a 1/1 white Spirit creature token with flying. SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_spirit_flying -DeckHints:Type$Spirit & Ability$Disturb +DeckHints:Type$Spirit & Keyword$Disturb DeckHas:Ability$Token Oracle:This spell costs {1} less to cast for each Spirit you control.\nFlying\nWhenever Millicent, Restless Revenant or another nontoken Spirit you control dies or deals combat damage to a player, create a 1/1 white Spirit creature token with flying. diff --git a/forge-gui/res/cardsfolder/m/minds_aglow.txt b/forge-gui/res/cardsfolder/m/minds_aglow.txt index bda0d93f44a..0c734eb5066 100644 --- a/forge-gui/res/cardsfolder/m/minds_aglow.txt +++ b/forge-gui/res/cardsfolder/m/minds_aglow.txt @@ -1,7 +1,7 @@ Name:Minds Aglow ManaCost:U Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player draws X cards, where X is the total amount of mana paid this way. +A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBPay | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player draws X cards, where X is the total amount of mana paid this way. SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.Y | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn SVar:DBDraw:DB$ Draw | Defined$ Player | NumCards$ JoinForcesAmount | SubAbility$ DBReset | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/m/mishra_claimed_by_gix_mishra_lost_to_phyrexia.txt b/forge-gui/res/cardsfolder/m/mishra_claimed_by_gix_mishra_lost_to_phyrexia.txt index 171eb5edf79..317b64ce50d 100644 --- a/forge-gui/res/cardsfolder/m/mishra_claimed_by_gix_mishra_lost_to_phyrexia.txt +++ b/forge-gui/res/cardsfolder/m/mishra_claimed_by_gix_mishra_lost_to_phyrexia.txt @@ -26,7 +26,7 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerZones$ Batt SVar:TrigCharm:DB$ Charm | Choices$ DBDiscard,DBDamage,DBDestroy,DBPump,DBCurse,DBToken | CharmNum$ 3 SVar:DBDiscard:DB$ Discard | ValidTgts$ Opponent | NumCards$ 2 | Mode$ TgtChoose | SpellDescription$ Target opponent discards two cards. SVar:DBDamage:DB$ DealDamage | NumDmg$ 3 | ValidTgts$ Any | SpellDescription$ NICKNAME deals 3 damage to any target. -SVar:DBDestroy:DB$ Destroy | TargetMax$ 1 | ValidTgts$ Artifact,Planeswalker | TgtPrompt$ Select target artifact or planeswalker | SpellDescription$ Destroy target artifact or planeswalker +SVar:DBDestroy:DB$ Destroy | TargetMax$ 1 | ValidTgts$ Artifact,Planeswalker | TgtPrompt$ Select target artifact or planeswalker | SpellDescription$ Destroy target artifact or planeswalker. SVar:DBPump:DB$ PumpAll | ValidCards$ Card.Creature+YouCtrl | KW$ Menace & Trample | SpellDescription$ Creatures you control gain menace and trample until end of turn. SVar:DBCurse:DB$ PumpAll | ValidCards$ Card.Creature+YouDontCtrl | NumAtt$ -1 | NumDef$ -1 | SpellDescription$ Creatures you don't control get -1/-1 until end of turn. SVar:DBToken:DB$ Token | TokenAmount$ 2 | TokenTapped$ True | TokenScript$ c_a_powerstone | TokenOwner$ You | SpellDescription$ Create two tapped Powerstone tokens. diff --git a/forge-gui/res/cardsfolder/m/missy.txt b/forge-gui/res/cardsfolder/m/missy.txt index c7f54b8911c..89288159ddc 100644 --- a/forge-gui/res/cardsfolder/m/missy.txt +++ b/forge-gui/res/cardsfolder/m/missy.txt @@ -6,7 +6,7 @@ T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ SVar:TrigChangeZone:DB$ ChangeZone | Defined$ TriggeredCard | GainControl$ True | FaceDown$ True | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | FaceDownSetType$ Artifact & Creature & Cyberman | FaceDownPower$ 2 | FaceDownToughness$ 2 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ VillainousChoice | TriggerDescription$ At the beginning of your end step, each opponent faces a villainous choice — Each artifact creature you control deals 1 damage to that opponent, or you draw a card and chaos ensues. SVar:VillainousChoice:DB$ VillainousChoice | Defined$ Opponent | Choices$ DBDamage,DBDraw -SVar:DBDamage:DB$ DealDamage | NumDmg$ 1 | DamageSource$ Valid Artifact.Creature+YouCtrl | Defined$ Remembered | SpellDescription$ Each artifact creature you control deals 1 damage to that opponent +SVar:DBDamage:DB$ DealDamage | NumDmg$ 1 | DamageSource$ Valid Artifact.Creature+YouCtrl | Defined$ Remembered | SpellDescription$ Each artifact creature you control deals 1 damage to that opponent. SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SubAbility$ DBChaos | SpellDescription$ You draw a card and chaos ensues. SVar:DBChaos:DB$ ChaosEnsues DeckHints:Type$Artifact diff --git a/forge-gui/res/cardsfolder/m/morphic_tide.txt b/forge-gui/res/cardsfolder/m/morphic_tide.txt index fe65d16b233..daaf2f8f4ce 100644 --- a/forge-gui/res/cardsfolder/m/morphic_tide.txt +++ b/forge-gui/res/cardsfolder/m/morphic_tide.txt @@ -2,7 +2,7 @@ Name:Morphic Tide ManaCost:no cost Types:Phenomenon T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ TrigPut | TriggerDescription$ When you encounter CARDNAME, each player shuffles all permanents they own into their library, then reveals that many cards from the top of their library. Each player puts all artifact, creature, land, and planeswalker cards revealed this way onto the battlefield, then does the same for enchantment cards, then puts all cards revealed this way that weren't put onto the battlefield on the bottom of their library in any order. (Then planeswalk away from this phenomenon.) -SVar:TrigPut:DB$ RepeatEach | StartingWithActivator$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBShuffle | SubAbility$ ChangePermanent +SVar:TrigPut:DB$ RepeatEach | StartingWith$ You | RepeatPlayers$ Player | RepeatSubAbility$ DBShuffle | SubAbility$ ChangePermanent SVar:DBShuffle:DB$ ChangeZoneAll | ChangeType$ Permanent.RememberedPlayerOwn | Imprint$ True | Origin$ Battlefield | Destination$ Library | Shuffle$ True | SubAbility$ DBReveal SVar:DBReveal:DB$ PeekAndReveal | Defined$ Remembered | PeekAmount$ WarpX | NoPeek$ True | RememberRevealed$ True | SubAbility$ DBCleanImprint SVar:DBCleanImprint:DB$ Cleanup | ClearImprinted$ True diff --git a/forge-gui/res/cardsfolder/m/mox_poison.txt b/forge-gui/res/cardsfolder/m/mox_poison.txt index 6747b294fc7..648a4e1cc45 100644 --- a/forge-gui/res/cardsfolder/m/mox_poison.txt +++ b/forge-gui/res/cardsfolder/m/mox_poison.txt @@ -1,6 +1,6 @@ Name:Mox Poison ManaCost:0 Types:Artifact -A:AB$ Mana | Cost$ T | Produced$ Any | SubAbility$ DBPain | SpellDescription$ Add one mana of any color. You get two poison counters +A:AB$ Mana | Cost$ T | Produced$ Any | SubAbility$ DBPain | SpellDescription$ Add one mana of any color. You get two poison counters. SVar:DBPain:DB$ Poison | Defined$ You | Num$ 2 -Oracle:{T}: Add one mana of any color. You get two poison counters +Oracle:{T}: Add one mana of any color. You get two poison counters. diff --git a/forge-gui/res/cardsfolder/m/mutual_epiphany.txt b/forge-gui/res/cardsfolder/m/mutual_epiphany.txt index 8cc47f3a06a..40ffe03986b 100644 --- a/forge-gui/res/cardsfolder/m/mutual_epiphany.txt +++ b/forge-gui/res/cardsfolder/m/mutual_epiphany.txt @@ -1,7 +1,7 @@ Name:Mutual Epiphany ManaCost:no cost Types:Phenomenon -T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ Epiphany | TriggerDescription$ When you encounter CARDNAME, each player draws four cards. (Then planeswalk away from this phenomenon) +T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ Epiphany | TriggerDescription$ When you encounter CARDNAME, each player draws four cards. (Then planeswalk away from this phenomenon.) SVar:Epiphany:DB$ Draw | Defined$ Player | NumCards$ 4 | SubAbility$ PWAway | SpellDescription$ Each player draws four cards. SVar:PWAway:DB$ Planeswalk Oracle:When you encounter Mutual Epiphany, each player draws four cards. (Then planeswalk away from this phenomenon.) diff --git a/forge-gui/res/cardsfolder/n/1996_world_champion.txt b/forge-gui/res/cardsfolder/n/1996_world_champion.txt new file mode 100644 index 00000000000..2873fe8c99e --- /dev/null +++ b/forge-gui/res/cardsfolder/n/1996_world_champion.txt @@ -0,0 +1,18 @@ +Name:1996 World Champion +ManaCost:W U B R G +Types:Legendary Creature Human Gamer +PT:*/* +Text:[Developer's note: Updated and adapted with reference to subsequent Oracle updates and EDH Silver's unofficial errata. This updated rules text is displayed in-game.] +# EDH Silver unofficial errata found at https://edhsilver.com/cards/uc/occ/1996-world-champion/ +K:MayEffectFromOpeningDeck:DBReveal +SVar:DBReveal:DB$ Reveal | RevealDefined$ Self | OptionalDecider$ You | SubAbility$ DBEffect | SpellDescription$ Before you shuffle your deck to start the game, you may reveal this card from your deck. If you do, you get an emblem with "Discard your hand: Search your library for a card named 1996 World Champion, reveal it, then shuffle and put that card on top. Activate only during your upkeep and only if a card named 1996 World Champion is in your library." +SVar:DBEffect:DB$ Effect | Name$ Emblem — 1996 World Champion | Image$ emblem_1996_world_champion | Abilities$ ABRiseToTop | Stackable$ False | Duration$ Permanent | AILogic$ Always +SVar:ABRiseToTop:AB$ ChangeZone | Cost$ Discard<1/Hand> | Origin$ Library | Destination$ Library | LibraryPosition$ 0 | ChangeType$ Card.named1996 World Champion | ActivationPhases$ Upkeep | PlayerTurn$ True | ActivationZone$ Command | IsPresent$ Card.YouOwn+named1996 World Champion | PresentZone$ Library | StackDescription$ REP Search your_{p:You} searches their & reveal_reveals & shuffle and put_{p:You} shuffles and puts & . Activate only during your upkeep and only if a card named 1996 World Champion is in your library._. | SpellDescription$ Search your library for a card named 1996 World Champion, reveal it, then shuffle and put that card on top. Activate only during your upkeep and only if a card named 1996 World Champion is in your library. +K:ETBReplacement:Other:ChooseP +SVar:ChooseP:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | RememberChosen$ True | SpellDescription$ As CARDNAME enters, choose an opponent. +K:Shroud +S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the chosen player's life total. +SVar:X:PlayerCountRemembered$LifeTotal +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:Cannot be the target of spells or effects.\nWorld Champion has power and toughness equal to the life total of target opponent.\n{0}: Discard your hand to search your library for 1996 World Champion and reveal it to all players. Shuffle your library and put 1996 World Champion on top of it. Use this ability only at the beginning of your upkeep, and only if 1996 World Champion is in your library. diff --git a/forge-gui/res/cardsfolder/n/nantuko_monastery.txt b/forge-gui/res/cardsfolder/n/nantuko_monastery.txt index fc6036e92ae..9af9c4fbcca 100644 --- a/forge-gui/res/cardsfolder/n/nantuko_monastery.txt +++ b/forge-gui/res/cardsfolder/n/nantuko_monastery.txt @@ -2,6 +2,6 @@ Name:Nantuko Monastery ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. -A:AB$ Animate | Cost$ G W | Activation$ Threshold | Defined$ Self | Power$ 4 | Toughness$ 4 | Types$ Creature,Insect,Monk | Colors$ Green,White | OverwriteColors$ True | Keywords$ First Strike | SpellDescription$ CARDNAME becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate only if seven or more cards are in your graveyard. | PrecostDesc$ Threshold — +A:AB$ Animate | Cost$ G W | Activation$ Threshold | PrecostDesc$ Threshold — | Defined$ Self | Power$ 4 | Toughness$ 4 | Types$ Creature,Insect,Monk | Colors$ Green,White | OverwriteColors$ True | Keywords$ First Strike | SpellDescription$ CARDNAME becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate only if seven or more cards are in your graveyard. AI:RemoveDeck:Random Oracle:{T}: Add {C}.\nThreshold — {G}{W}: Nantuko Monastery becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate only if seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/n/nantuko_slicer.txt b/forge-gui/res/cardsfolder/n/nantuko_slicer.txt index dfc99c4fcfb..afa44542c7b 100644 --- a/forge-gui/res/cardsfolder/n/nantuko_slicer.txt +++ b/forge-gui/res/cardsfolder/n/nantuko_slicer.txt @@ -3,7 +3,7 @@ ManaCost:2 G G Types:Creature Insect PT:3/2 K:Kicker:B -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters, return target card from your graveyard to your hand. If this spell was kicked, conjure a duplicate of target card in an opponent's graveyard into your hand. It perpetually gains: "You may spend mana as though it were mana of any color to cast this spell." +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters, return target card from your graveyard to your hand. If this spell was kicked, conjure a duplicate of target card in an opponent's graveyard into your hand. It perpetually gains "You may spend mana as though it were mana of any color to cast this spell." SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.YouOwn | TgtPrompt$ Select target card from your graveyard | SubAbility$ DBConjure SVar:DBConjure:DB$ MakeCard | Condition$ Kicked | Conjure$ True | TgtPrompt$ Select target creature card in an opponent's graveyard | ValidTgts$ Creature.OppOwn | TgtZone$ Graveyard | DefinedName$ ThisTargetedCard | Zone$ Hand | RememberMade$ True | SubAbility$ DBAnimate SVar:DBAnimate:DB$ Animate | Defined$ Remembered | staticAbilities$ SpendAnyMana | Duration$ Perpetual | SubAbility$ DBCleanup diff --git a/forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt b/forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt index 03414882ed7..59e9be926b4 100644 --- a/forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt +++ b/forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt @@ -4,6 +4,6 @@ Types:Legendary Snow Creature Zombie Wizard PT:4/3 S:Mode$ Continuous | Affected$ Creature.Zombie+Other+YouCtrl,Creature.Snow+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Snow and Zombie creatures you control get +1/+1. SVar:PlayMain1:TRUE -A:AB$ ChangeZone | Cost$ S S S | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | Tapped$ True | SpellDescription$ Return CARDNAME from your graveyard to the battlefield tapped +A:AB$ ChangeZone | Cost$ S S S | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | Tapped$ True | SpellDescription$ Return CARDNAME from your graveyard to the battlefield tapped. DeckHints:Type$Snow|Zombie Oracle:Other snow and Zombie creatures you control get +1/+1.\n{S}{S}{S}: Return Narfi, Betrayer King from your graveyard to the battlefield tapped. ({S} can be paid with one mana from a snow source.) diff --git a/forge-gui/res/cardsfolder/n/natures_blessing.txt b/forge-gui/res/cardsfolder/n/natures_blessing.txt index 8783a9869bd..ac8a645eace 100644 --- a/forge-gui/res/cardsfolder/n/natures_blessing.txt +++ b/forge-gui/res/cardsfolder/n/natures_blessing.txt @@ -3,8 +3,8 @@ ManaCost:2 G W Types:Enchantment A:AB$ GenericChoice | Cost$ G W Discard<1/Card> | ValidTgts$ Creature | Defined$ You | Choices$ DBPutCounter,DBBanding,DBFirstStrike,DBTrample | SpellDescription$ Put a +1/+1 counter on target creature or that creature gains banding, first strike, or trample. SVar:DBPutCounter:DB$ PutCounter | Defined$ Targeted | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on target creature. -SVar:DBBanding:DB$ Pump | Defined$ Targeted | KW$ Banding | Duration$ Permanent | SpellDescription$ Target creature gains Banding -SVar:DBFirstStrike:DB$ Pump | Defined$ Targeted | KW$ First Strike | Duration$ Permanent | SpellDescription$ Target creature gains first strike -SVar:DBTrample:DB$ Pump | Defined$ Targeted | KW$ Trample | Duration$ Permanent | SpellDescription$ Target creature gains Trample +SVar:DBBanding:DB$ Pump | Defined$ Targeted | KW$ Banding | Duration$ Permanent | SpellDescription$ Target creature gains banding. +SVar:DBFirstStrike:DB$ Pump | Defined$ Targeted | KW$ First Strike | Duration$ Permanent | SpellDescription$ Target creature gains first strike. +SVar:DBTrample:DB$ Pump | Defined$ Targeted | KW$ Trample | Duration$ Permanent | SpellDescription$ Target creature gains trample. SVar:NonStackingEffect:True Oracle:{G}{W}, Discard a card: Put a +1/+1 counter on target creature or that creature gains banding, first strike, or trample. (This effect lasts indefinitely. Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding a player controls are blocking or being blocked by a creature, that player divides that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) diff --git a/forge-gui/res/cardsfolder/n/neheb_the_eternal.txt b/forge-gui/res/cardsfolder/n/neheb_the_eternal.txt index 899663e0718..94e034129b1 100644 --- a/forge-gui/res/cardsfolder/n/neheb_the_eternal.txt +++ b/forge-gui/res/cardsfolder/n/neheb_the_eternal.txt @@ -3,8 +3,8 @@ ManaCost:3 R R Types:Legendary Creature Zombie Minotaur Warrior PT:4/6 K:Afflict:3 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your postcombat main phase, add {R} for each 1 life your opponents have lost this turn. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of each of your postcombat main phases, add {R} for each 1 life your opponents have lost this turn. SVar:TrigMana:DB$ Mana | Produced$ R | Amount$ X SVar:X:Count$LifeOppsLostThisTurn SVar:PlayMain1:TRUE -Oracle:Afflict 3 (Whenever this creature becomes blocked, defending player loses 3 life.)\nAt the beginning of your postcombat main phase, add {R} for each 1 life your opponents have lost this turn. +Oracle:Afflict 3 (Whenever this creature becomes blocked, defending player loses 3 life.)\nAt the beginning of each of your postcombat main phases, add {R} for each 1 life your opponents have lost this turn. diff --git a/forge-gui/res/cardsfolder/n/nettling_host.txt b/forge-gui/res/cardsfolder/n/nettling_host.txt index 07d650f8f79..b9c7c746cdd 100644 --- a/forge-gui/res/cardsfolder/n/nettling_host.txt +++ b/forge-gui/res/cardsfolder/n/nettling_host.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Phyrexian Rat PT:3/3 K:Toxic:2 -A:AB$ MakeCard | Cost$ ExileFromGrave<1/CARDNAME> | Conjure$ True | Name$ Nettlecyst | Zone$ Hand | ActivationZone$ Graveyard | PrecostDesc$ Corrupted — | CheckSVar$ X | SVarCompare$ GE3 | SpellDescription$ Conjure a card named Nettlecyst into your hand. Activate only if an opponent has three or more poison counters +A:AB$ MakeCard | Cost$ ExileFromGrave<1/CARDNAME> | Conjure$ True | Name$ Nettlecyst | Zone$ Hand | ActivationZone$ Graveyard | PrecostDesc$ Corrupted — | CheckSVar$ X | SVarCompare$ GE3 | SpellDescription$ Conjure a card named Nettlecyst into your hand. Activate only if an opponent has three or more poison counters. SVar:X:PlayerCountOpponents$HighestCounters.Poison SVar:SacMe:1 SVar:DiscardMe:1 diff --git a/forge-gui/res/cardsfolder/n/nettling_imp.txt b/forge-gui/res/cardsfolder/n/nettling_imp.txt index cb83ee4640e..89829e1e1f0 100644 --- a/forge-gui/res/cardsfolder/n/nettling_imp.txt +++ b/forge-gui/res/cardsfolder/n/nettling_imp.txt @@ -2,7 +2,7 @@ Name:Nettling Imp ManaCost:2 B Types:Creature Imp PT:1/1 -A:AB$ Animate | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | OpponentTurn$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only during an opponent's turn, before attackers are declared. +A:AB$ Animate | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+!firstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | OpponentTurn$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only during an opponent's turn, before attackers are declared. SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able. SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | RememberObjects$ ParentTarget | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the next end step, destroy that creature if it didn't attack this turn. SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1 diff --git a/forge-gui/res/cardsfolder/n/nicol_bolas_the_deceiver.txt b/forge-gui/res/cardsfolder/n/nicol_bolas_the_deceiver.txt index 007af168685..09461f571a7 100644 --- a/forge-gui/res/cardsfolder/n/nicol_bolas_the_deceiver.txt +++ b/forge-gui/res/cardsfolder/n/nicol_bolas_the_deceiver.txt @@ -3,8 +3,8 @@ ManaCost:5 U B R Types:Legendary Planeswalker Bolas Loyalty:5 A:AB$ GenericChoice | Cost$ AddCounter<3/LOYALTY> | Planeswalker$ True | Defined$ Opponent | Choices$ SacNonland,Discard | TempRemember$ Chooser | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost | SpellDescription$ Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. -SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card -SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent +SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card. +SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 A:AB$ Destroy | Cost$ SubCounter<3/LOYALTY> | ValidTgts$ Creature | Planeswalker$ True | SubAbility$ DBDraw | SpellDescription$ Destroy target creature. Draw a card. SVar:DBDraw:DB$ Draw | NumCards$ 1 diff --git a/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt b/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt index 0345b7a370b..590158405f4 100644 --- a/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt +++ b/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt @@ -6,5 +6,5 @@ SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | SpellDescription$ You gain 2 life SVar:X:Count$ValidExile Card.foretold+YouOwn/Times.2 SVar:DBMana:DB$ Mana | Produced$ W U | RestrictValid$ Static.Foretelling,Spell.withForetell | SpellDescription$ Add {W}{U}. Spend this mana only to foretell cards or cast spells that have foretell. SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.YouOwn+withForetell | SpellDescription$ Return target card with foretell from your graveyard to your hand. -DeckHas:Ability$Graveyard|GainLife +DeckHas:Ability$Graveyard|LifeGain Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — You gain 2 life for each foretold card you own in exile.\nII — Add {W}{U}. Spend this mana only to foretell cards or cast spells that have foretell.\nIII — Return target card with foretell from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/n/nissa_steward_of_elements.txt b/forge-gui/res/cardsfolder/n/nissa_steward_of_elements.txt index 2174eef7165..588ee6770cd 100644 --- a/forge-gui/res/cardsfolder/n/nissa_steward_of_elements.txt +++ b/forge-gui/res/cardsfolder/n/nissa_steward_of_elements.txt @@ -4,7 +4,7 @@ Types:Legendary Planeswalker Nissa Loyalty:X SVar:X:Count$xPaid A:AB$ Scry | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | ScryNum$ 2 | SpellDescription$ Scry 2. -A:AB$ Dig | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | DigNum$ 1 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Land,Creature.cmcLEY | ForceRevealToController$ True | PromptToSkipOptionalAbility$ True | AILogic$ AlwaysConfirm | OptionalAbilityPrompt$ Would you like to put the permanent onto the battlefield? | DestinationZone$ Battlefield | LibraryPosition2$ 0 | SpellDescription$ Look at the top card of your library. If it's a land card or a creature card with mana value less than or equal to the number of loyalty counters on Nissa, Steward of Elements, you may put that card onto the battlefield. +A:AB$ Dig | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | DigNum$ 1 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Land,Creature.cmcLEY | ForceRevealToController$ True | PromptToSkipOptionalAbility$ True | AILogic$ AlwaysConfirm | OptionalAbilityPrompt$ Would you like to put the permanent onto the battlefield? | DestinationZone$ Battlefield | LibraryPosition2$ 0 | SpellDescription$ Look at the top card of your library. If it's a land card or a creature card with mana value less than or equal to the number of loyalty counters on CARDNAME, you may put that card onto the battlefield. A:AB$ Untap | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Land.YouCtrl | TargetMin$ 0 | TargetMax$ 2 | SubAbility$ Animate | SpellDescription$ Untap up to two target lands you control. They become 5/5 Elemental creatures with flying and haste until end of turn. They're still lands. SVar:Animate:DB$ Animate | Defined$ Targeted | Power$ 5 | Toughness$ 5 | Types$ Creature,Elemental | Keywords$ Flying & Haste SVar:Y:Count$CardCounters.LOYALTY diff --git a/forge-gui/res/cardsfolder/n/nissas_pilgrimage.txt b/forge-gui/res/cardsfolder/n/nissas_pilgrimage.txt index 45c76eca43b..ff82211904d 100644 --- a/forge-gui/res/cardsfolder/n/nissas_pilgrimage.txt +++ b/forge-gui/res/cardsfolder/n/nissas_pilgrimage.txt @@ -2,7 +2,7 @@ Name:Nissa's Pilgrimage ManaCost:2 G Types:Sorcery A:SP$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Land.Basic+Forest | ChangeNum$ X | RememberChanged$ True | SubAbility$ DBBattlefield | Shuffle$ False | StackDescription$ SpellDescription | SpellDescription$ Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle. Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, search your library for up to three basic Forest cards instead of two. -SVar:DBBattlefield:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ DBHand | ChangeType$ Card.IsRemembered | ChangeNum$ 1 | ForgetChanged$ True | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card to go to the battlefield | Shuffle$ False | StackDescription$ None +SVar:DBBattlefield:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | Tapped$ True | SubAbility$ DBHand | ChangeType$ Card.IsRemembered | ChangeNum$ 1 | ForgetChanged$ True | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card to put onto the battlefield | Shuffle$ False | StackDescription$ None SVar:DBHand:DB$ ChangeZone | Origin$ Library | Destination$ Hand | Defined$ Remembered | NoLooking$ True | StackDescription$ None | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$Compare Y GE2.3.2 diff --git a/forge-gui/res/cardsfolder/n/nomad_decoy.txt b/forge-gui/res/cardsfolder/n/nomad_decoy.txt index 31e034cefad..033b6e27baf 100644 --- a/forge-gui/res/cardsfolder/n/nomad_decoy.txt +++ b/forge-gui/res/cardsfolder/n/nomad_decoy.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Human Nomad PT:1/2 A:AB$ Tap | Cost$ W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. -A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | CheckSVar$ X | SVarCompare$ GE7 | SpellDescription$ Tap two target creatures. Activate only if seven or more cards are in your graveyard. | PrecostDesc$ Threshold — +A:AB$ Tap | Cost$ W W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | TargetMin$ 2 | TargetMax$ 2 | CheckSVar$ X | SVarCompare$ GE7 | PrecostDesc$ Threshold — | SpellDescription$ Tap two target creatures. Activate only if seven or more cards are in your graveyard. SVar:X:Count$InYourYard SVar:NonCombatPriority:1 Oracle:{W}, {T}: Tap target creature.\nThreshold — {W}{W}, {T}: Tap two target creatures. Activate only if seven or more cards are in your graveyard. diff --git a/forge-gui/res/cardsfolder/n/norritt.txt b/forge-gui/res/cardsfolder/n/norritt.txt index f5ac365ec4d..d03eff15dc0 100644 --- a/forge-gui/res/cardsfolder/n/norritt.txt +++ b/forge-gui/res/cardsfolder/n/norritt.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Imp PT:1/1 A:AB$ Untap | Cost$ T | ValidTgts$ Creature.Blue | TgtPrompt$ Select target blue creature | SpellDescription$ Untap target blue creature. -A:AB$ Pump | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+notFirstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only before attackers are declared. +A:AB$ Pump | Cost$ T | ValidTgts$ Creature.nonWall+ActivePlayerCtrl+!firstTurnControlled | TgtPrompt$ Select target non-Wall creature the active player has controlled continuously since the beginning of the turn | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | staticAbilities$ MustAttack | SubAbility$ DestroyPacifist | SpellDescription$ Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. Destroy it at the beginning of the next end step if it didn't attack this turn. Activate only before attackers are declared. SVar:MustAttack:Mode$ MustAttack | ValidCreature$ Card.Self | Description$ This creature attacks this turn if able. SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | RememberObjects$ ParentTarget | TriggerDescription$ At the beginning of the next end step, destroy that creature if it didn't attack this turn. SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Creature.notAttackedThisTurn | ConditionCompare$ GE1 diff --git a/forge-gui/res/cardsfolder/n/nuclear_fallout.txt b/forge-gui/res/cardsfolder/n/nuclear_fallout.txt index cc0745b0114..00d31ae49dc 100644 --- a/forge-gui/res/cardsfolder/n/nuclear_fallout.txt +++ b/forge-gui/res/cardsfolder/n/nuclear_fallout.txt @@ -1,7 +1,7 @@ Name:Nuclear Fallout ManaCost:X B B Types:Sorcery -A:SP$ PumpAll | ValidCards$ Creature | NumAtt$ -Y | NumDef$ -Y | SubAbility$ DBRadiation | SpellDescription$ Each creature gets twice -X/-X until end of turn +A:SP$ PumpAll | ValidCards$ Creature | NumAtt$ -Y | NumDef$ -Y | SubAbility$ DBRadiation | SpellDescription$ Each creature gets twice -X/-X until end of turn. SVar:DBRadiation:DB$ Radiation | Defined$ Player | Num$ X | SpellDescription$ Each player gets X rad counters. SVar:X:Count$xPaid SVar:Y:SVar$X/Twice diff --git a/forge-gui/res/cardsfolder/n/nuka_nuke_launcher.txt b/forge-gui/res/cardsfolder/n/nuka_nuke_launcher.txt index 5a4b968db75..41c0bfe2e21 100644 --- a/forge-gui/res/cardsfolder/n/nuka_nuke_launcher.txt +++ b/forge-gui/res/cardsfolder/n/nuka_nuke_launcher.txt @@ -4,7 +4,7 @@ Types:Artifact Equipment S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddKeyword$ Intimidate | Description$ Equipped creature gets +3/+0 and has intimidate. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.) T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ TrigEffect | TriggerDescription$ Whenever equipped creature attacks, until the end of defending player's next turn, that player gets two rad counters whenever they cast a spell. SVar:TrigEffect:DB$ Effect | Duration$ UntilTheEndOfYourNextTurn | Triggers$ CastTrig | EffectOwner$ TriggeredDefendingPlayer -SVar:CastTrig:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigRadiation | TriggerDescription$ When you cast a spell, you get two rad counters +SVar:CastTrig:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigRadiation | TriggerDescription$ When you cast a spell, you get two rad counters. SVar:TrigRadiation:DB$ Radiation | Defined$ You | Num$ 2 K:Equip:3 Oracle:Equipped creature gets +3/+0 and has intimidate. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.)\nWhenever equipped creature attacks, until the end of defending player's next turn, that player gets two rad counters whenever they cast a spell.\nEquip {3} diff --git a/forge-gui/res/cardsfolder/o/old_fogey.txt b/forge-gui/res/cardsfolder/o/old_fogey.txt index 8c49c70cf2d..e2b2bec0cad 100644 --- a/forge-gui/res/cardsfolder/o/old_fogey.txt +++ b/forge-gui/res/cardsfolder/o/old_fogey.txt @@ -8,7 +8,7 @@ K:Echo:G G K:Fading:3 K:Bands with other:Dinosaur K:Landwalk:Plains.Snow:Snow Plains -K:Protection:Homarid:Homarids +K:Protection:Homarid K:Flanking K:Rampage:2 Oracle:Phasing, cumulative upkeep {1}, echo {G}{G}, fading 3, bands with other Dinosaurs, protection from Homarids, snow-covered plainswalk, flanking, rampage 2 diff --git a/forge-gui/res/cardsfolder/o/old_growth_troll.txt b/forge-gui/res/cardsfolder/o/old_growth_troll.txt index f20ec371995..7b2c5e61209 100644 --- a/forge-gui/res/cardsfolder/o/old_growth_troll.txt +++ b/forge-gui/res/cardsfolder/o/old_growth_troll.txt @@ -6,7 +6,7 @@ K:Trample T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self+Creature | Execute$ DBReturn | TriggerDescription$ When CARDNAME dies, if it was a creature, return it to the battlefield. It's an Aura enchantment with enchant Forest you control and "Enchanted Forest has '{T}: Add {G}{G}' and '{1}, {T}, Sacrifice this land: Create a tapped 4/4 green Troll Warrior creature token with trample.'" SVar:DBReturn:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | AnimateSubAbility$ DBAnimate SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Types$ Enchantment,Aura | RemoveCardTypes$ True | RemoveAllAbilities$ True | Keywords$ Enchant Forest you control | Abilities$ SPAttach | staticAbilities$ STAura | Duration$ Permanent -SVar:STAura:Mode$ Continuous | Affected$ Land.EnchantedBy | AddAbility$ ABMana & ABToken | Description$ Enchanted Forest has '{T}: Add {G}{G}' and '{1}, {T}, Sacrifice this land: Create a tapped 4/4 green Troll Warrior creature token with trample.' +SVar:STAura:Mode$ Continuous | Affected$ Land.EnchantedBy | AddAbility$ ABMana & ABToken | Description$ Enchanted Forest has "{T}: Add {G}{G}" and "{1}, {T}, Sacrifice this land: Create a tapped 4/4 green Troll Warrior creature token with trample." SVar:SPAttach:SP$ Attach | Cost$ 0 | ValidTgts$ Forest.YouCtrl | AILogic$ Pump SVar:ABMana:AB$ Mana | Cost$ T | Produced$ G | Amount$ 2 | SpellDescription$ Add {G}{G}. SVar:ABToken:AB$ Token | Cost$ 1 T Sac<1/CARDNAME> | TokenAmount$ 1 | TokenScript$ g_4_4_troll_warrior_trample | TokenOwner$ You | TokenTapped$ True | SpellDescription$ Create a tapped 4/4 green Troll Warrior creature token with trample. diff --git a/forge-gui/res/cardsfolder/o/old_one_eye.txt b/forge-gui/res/cardsfolder/o/old_one_eye.txt index 1fa1d08d869..09d5e4b9fc1 100644 --- a/forge-gui/res/cardsfolder/o/old_one_eye.txt +++ b/forge-gui/res/cardsfolder/o/old_one_eye.txt @@ -6,8 +6,8 @@ K:Trample S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddKeyword$ Trample | Description$ Other creatures you control have trample. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a 5/5 green Tyranid creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_5_5_tyranid | TokenOwner$ You -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | IsPresent$ Card.StrictlySelf | TriggerZones$ Graveyard | PresentZone$ Graveyard | PresentPlayer$ You | Execute$ TrigReturn | TriggerDescription$ Fast Healing — At the beginning of your precombat main phase, you may discard two cards. If you do, return CARDNAME from your graveyard to your hand. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | IsPresent$ Card.StrictlySelf | TriggerZones$ Graveyard | PresentZone$ Graveyard | PresentPlayer$ You | Execute$ TrigReturn | TriggerDescription$ Fast Healing — At the beginning of your first main phase, you may discard two cards. If you do, return CARDNAME from your graveyard to your hand. SVar:TrigReturn:AB$ ChangeZone | Cost$ Discard<2/Card> | Defined$ Self | Origin$ Graveyard | Destination$ Hand DeckHas:Ability$Graveyard|Discard|Token & Keyword$Trample SVar:PlayMain1:TRUE -Oracle:Trample\nOther creatures you control have trample.\nWhen Old One Eye enters, create a 5/5 green Tyranid creature token.\nFast Healing — At the beginning of your precombat main phase, you may discard two cards. If you do, return Old One Eye from your graveyard to your hand. +Oracle:Trample\nOther creatures you control have trample.\nWhen Old One Eye enters, create a 5/5 green Tyranid creature token.\nFast Healing — At the beginning of your first main phase, you may discard two cards. If you do, return Old One Eye from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/o/omnath_locus_of_all.txt b/forge-gui/res/cardsfolder/o/omnath_locus_of_all.txt index 17e388fda54..c571246d822 100644 --- a/forge-gui/res/cardsfolder/o/omnath_locus_of_all.txt +++ b/forge-gui/res/cardsfolder/o/omnath_locus_of_all.txt @@ -4,11 +4,11 @@ Types:Legendary Creature Phyrexian Elemental PT:4/4 R:Event$ LoseMana | ValidPlayer$ You | ReplacementResult$ Replaced | ReplaceWith$ ConvertMana | ActiveZones$ Battlefield | Description$ If you would lose unspent mana, that mana becomes black instead. SVar:ConvertMana:DB$ ReplaceMana | ReplaceType$ Black -T:Mode$ Phase | ValidPlayer$ You | Phase$ Main1 | TriggerZones$ Battlefield | Execute$ TrigPeek | TriggerDescription$ At the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand. +T:Mode$ Phase | ValidPlayer$ You | Phase$ Main1 | TriggerZones$ Battlefield | Execute$ TrigPeek | TriggerDescription$ At the beginning of your first main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand. SVar:TrigPeek:DB$ PeekAndReveal | Defined$ You | NoReveal$ True | RememberPeeked$ True | SubAbility$ DBReveal SVar:DBReveal:DB$ PeekAndReveal | Defined$ You | NoPeek$ True | RevealOptional$ True | ImprintRevealed$ True | ConditionCheckSVar$ ColorAmount | ConditionSVarCompare$ GE3 | SubAbility$ DBMana SVar:DBMana:DB$ ManaReflected | Produced$ Combo | ReflectProperty$ Is | ColorOrType$ Color | Amount$ 3 | Valid$ Defined.Imprinted | ConditionDefined$ Imprinted | ConditionPresent$ Card | SubAbility$ DBMove SVar:DBMove:DB$ ChangeZone | Origin$ Library | Destination$ Hand | Defined$ Remembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True SVar:ColorAmount:Remembered$ChromaSource -Oracle:If you would lose unspent mana, that mana becomes black instead.\nAt the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand. +Oracle:If you would lose unspent mana, that mana becomes black instead.\nAt the beginning of your first main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand. diff --git a/forge-gui/res/cardsfolder/o/oust.txt b/forge-gui/res/cardsfolder/o/oust.txt index 75df80c1602..c5678e4f3c0 100644 --- a/forge-gui/res/cardsfolder/o/oust.txt +++ b/forge-gui/res/cardsfolder/o/oust.txt @@ -2,6 +2,6 @@ Name:Oust ManaCost:W Types:Sorcery A:SP$ ChangeZone | Origin$ Battlefield | Destination$ Library | ValidTgts$ Creature | LibraryPosition$ 1 | SubAbility$ DBGainLife | SpellDescription$ Put target creature into its owner's library second from the top. Its controller gains 3 life. -# Library Position is zero indexed. So 1 is second from the top +# LibraryPosition is zero indexed. So 1 is second from the top SVar:DBGainLife:DB$ GainLife | Defined$ TargetedController | LifeAmount$ 3 Oracle:Put target creature into its owner's library second from the top. Its controller gains 3 life. diff --git a/forge-gui/res/cardsfolder/p/party_thrasher.txt b/forge-gui/res/cardsfolder/p/party_thrasher.txt index 075bf7bdcb2..765b13b5a45 100644 --- a/forge-gui/res/cardsfolder/p/party_thrasher.txt +++ b/forge-gui/res/cardsfolder/p/party_thrasher.txt @@ -3,10 +3,10 @@ ManaCost:1 R Types:Creature Lizard Wizard PT:1/4 S:Mode$ Continuous | Affected$ Card.YouCtrl+nonCreature+wasCastFromExile | AffectedZone$ Stack | AddKeyword$ Convoke | Description$ Noncreature spells you cast from exile have convoke. (Each creature you tap while casting a noncreature spell from exile pays for {1} or one mana of that creature's color.) -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your precombat main phase, you may discard a card. If you do, exile the top two cards of your library, then choose one of them. You may play that card this turn. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ At the beginning of your first main phase, you may discard a card. If you do, exile the top two cards of your library, then choose one of them. You may play that card this turn. SVar:TrigExile:AB$ Dig | Cost$ Discard<1/Card> | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBChoose SVar:DBChoose:DB$ ChooseCard | Amount$ 1 | Mandatory$ True | Choices$ Card.IsRemembered | ChoiceZone$ Exile | ChoiceTitle$ Choose one of the exiled cards | SubAbility$ DBPlayEffect SVar:DBPlayEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | SubAbility$ DBClearChosen SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.ChosenCard | AffectedZone$ Exile | Description$ You may play the chosen card this turn. SVar:DBClearChosen:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True -Oracle:Noncreature spells you cast from exile have convoke. (Each creature you tap while casting a noncreature spell from exile pays for {1} or one mana of that creature's color.)\nAt the beginning of your precombat main phase, you may discard a card. If you do, exile the top two cards of your library, then choose one of them. You may play that card this turn. +Oracle:Noncreature spells you cast from exile have convoke. (Each creature you tap while casting a noncreature spell from exile pays for {1} or one mana of that creature's color.)\nAt the beginning of your first main phase, you may discard a card. If you do, exile the top two cards of your library, then choose one of them. You may play that card this turn. diff --git a/forge-gui/res/cardsfolder/p/penregon_strongbull.txt b/forge-gui/res/cardsfolder/p/penregon_strongbull.txt index e92971a012d..7fb1bb9530f 100644 --- a/forge-gui/res/cardsfolder/p/penregon_strongbull.txt +++ b/forge-gui/res/cardsfolder/p/penregon_strongbull.txt @@ -5,6 +5,6 @@ PT:2/3 A:AB$ Pump | Cost$ 1 Sac<1/Artifact> | Defined$ Self | NumAtt$ 1 | NumDef$ 1 | SubAbility$ DBPing | SpellDescription$ CARDNAME gets +1/+1 until end of turn and deals 1 damage to each opponent. SVar:DBPing:DB$ DealDamage | Defined$ Opponent | NumDmg$ 1 SVar:AIPreference:SacCost$Artifact.token -DeckHas:Ability$Artifact +DeckHas:Ability$Sacrifice DeckHints:Type$Artifact Oracle:{1}, Sacrifice an artifact: Penregon Strongbull gets +1/+1 until end of turn and deals 1 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/p/phyrexian_esthetician.txt b/forge-gui/res/cardsfolder/p/phyrexian_esthetician.txt index 45fc8721a8d..13ee3ab85ce 100644 --- a/forge-gui/res/cardsfolder/p/phyrexian_esthetician.txt +++ b/forge-gui/res/cardsfolder/p/phyrexian_esthetician.txt @@ -3,6 +3,6 @@ ManaCost:3 R Types:Artifact Creature Phyrexian Cleric PT:4/3 K:Haste -A:AB$ PutCounter | Cost$ 3 R ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | ValidTgts$ Creature | CounterType$ OIL | CounterNum$ ScavengeX | SorcerySpeed$ True | PrecostDesc$ Oil Scavenge | CostDesc$ {3}{R} | SpellDescription$ ({3}{R}, Exile this card from your graveyard: Put a number of oil counters equal to this card's power on target creature. Oil Scavenge only as a sorcery.) +A:AB$ PutCounter | Cost$ 3 R ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | ValidTgts$ Creature | CounterType$ OIL | CounterNum$ ScavengeX | SorcerySpeed$ True | PrecostDesc$ Oil Scavenge {3}{R} | CostDesc$ ({3}{R}, Exile this card from your graveyard: | StackDescription$ {p:You} puts a number of oil counters equal to CARDNAME's power on {c:Targeted}. | SpellDescription$ Put a number of oil counters equal to this card's power on target creature. Oil Scavenge only as a sorcery.) SVar:ScavengeX:Exiled$CardPower Oracle:Haste\nOil Scavenge {3}{R} ({3}{R}, Exile this card from your graveyard: Put a number of oil counters equal to this card's power on target creature. Oil Scavenge only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/p/pirates_landing.txt b/forge-gui/res/cardsfolder/p/pirates_landing.txt index c86a9c7df84..f71d8fd9343 100644 --- a/forge-gui/res/cardsfolder/p/pirates_landing.txt +++ b/forge-gui/res/cardsfolder/p/pirates_landing.txt @@ -3,7 +3,7 @@ ManaCost:R Types:Sorcery A:SP$ Branch | BranchConditionSVar$ TreasureCheck | BranchConditionSVarCompare$ GE1 | FalseSubAbility$ DBDraw | TrueSubAbility$ DBSeek | SpellDescription$ Draw a card. If mana from a Treasure was spent to cast this spell, seek a Pirate card instead. SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ Draw a card. -SVar:DBSeek:DB$ Seek | Type$ Pirate | SpellDescription$ Seek a Pirate card +SVar:DBSeek:DB$ Seek | Type$ Pirate | SpellDescription$ Seek a Pirate card. SVar:TreasureCheck:Count$CastTotalManaSpent Treasure SVar:AIPreference:ManaFrom$Treasure DeckNeeds:Type$Pirate|Treasure diff --git a/forge-gui/res/cardsfolder/p/plague_of_vermin.txt b/forge-gui/res/cardsfolder/p/plague_of_vermin.txt index 6e52ad2ac50..8c4371d78e8 100644 --- a/forge-gui/res/cardsfolder/p/plague_of_vermin.txt +++ b/forge-gui/res/cardsfolder/p/plague_of_vermin.txt @@ -3,7 +3,7 @@ ManaCost:6 B Types:Sorcery A:SP$ Repeat | RepeatSubAbility$ DBResetCheck | RepeatCheckSVar$ NumPlayerGiveup | RepeatSVarCompare$ LTTotalPlayer | SubAbility$ DBRepeatToken | StackDescription$ REP you_{p:You} | SpellDescription$ Starting with you, each player may pay any amount of life. Repeat this process until no one pays life. Each player creates a 1/1 black Rat creature token for each 1 life they paid this way. SVar:DBResetCheck:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ Number | Expression$ 0 | SubAbility$ DBRepeatChoice -SVar:DBRepeatChoice:DB$ RepeatEach | StartingWithActivator$ True | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player +SVar:DBRepeatChoice:DB$ RepeatEach | StartingWith$ You | RepeatSubAbility$ DBChoice | RepeatPlayers$ Player SVar:DBChoice:DB$ ChooseNumber | Defined$ Remembered | Max$ LifeTotal | AILogic$ Vermin | ListTitle$ amount of life to pay | SubAbility$ DBCheckPaid SVar:DBCheckPaid:DB$ StoreSVar | SVar$ NumPlayerGiveup | Type$ CountSVar | Expression$ NumPlayerGiveup/Plus.1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ EachPlayer | Type$ AdditiveForEach | Expression$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | UnlessCost$ PayLife | UnlessPayer$ Remembered | UnlessSwitched$ True | UnlessResolveSubs$ WhenNotPaid | SubAbility$ DBGiveUp | SpellDescription$ Pay the chosen amount of life. diff --git a/forge-gui/res/cardsfolder/p/planewide_disaster.txt b/forge-gui/res/cardsfolder/p/planewide_disaster.txt index a0947197e15..7ad040241d4 100644 --- a/forge-gui/res/cardsfolder/p/planewide_disaster.txt +++ b/forge-gui/res/cardsfolder/p/planewide_disaster.txt @@ -1,7 +1,7 @@ Name:Planewide Disaster ManaCost:no cost Types:Phenomenon -T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ Disaster | TriggerDescription$ When you encounter CARDNAME, destroy all creatures. (Then planeswalk away from this phenomenon) +T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ Disaster | TriggerDescription$ When you encounter CARDNAME, destroy all creatures. (Then planeswalk away from this phenomenon.) SVar:Disaster:DB$ DestroyAll | ValidCards$ Creature | SubAbility$ PWAway SVar:PWAway:DB$ Planeswalk Oracle:When you encounter Planewide Disaster, destroy all creatures. (Then planeswalk away from this phenomenon.) diff --git a/forge-gui/res/cardsfolder/p/plasm_capture.txt b/forge-gui/res/cardsfolder/p/plasm_capture.txt index 53deb55ad0f..714035c3392 100644 --- a/forge-gui/res/cardsfolder/p/plasm_capture.txt +++ b/forge-gui/res/cardsfolder/p/plasm_capture.txt @@ -1,9 +1,9 @@ Name:Plasm Capture ManaCost:G G U U Types:Instant -A:SP$ Counter | TargetType$ Spell | RememberCounteredCMC$ True | ValidTgts$ Card | SubAbility$ DBDelTrig | SpellDescription$ Counter target spell. At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value. -SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | Execute$ AddMana | TriggerDescription$ At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value. | RememberNumber$ True | SubAbility$ DBCleanup +A:SP$ Counter | TargetType$ Spell | RememberCounteredCMC$ True | ValidTgts$ Card | SubAbility$ DBDelTrig | SpellDescription$ Counter target spell. At the beginning of your next first main phase, add X mana in any combination of colors, where X is that spell's mana value. +SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | Execute$ AddMana | TriggerDescription$ At the beginning of your next first main phase, add X mana in any combination of colors, where X is that spell's mana value. | RememberNumber$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:AddMana:DB$ Mana | Produced$ Combo Any | Amount$ X SVar:X:Count$TriggerRememberAmount -Oracle:Counter target spell. At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value. +Oracle:Counter target spell. At the beginning of your next first main phase, add X mana in any combination of colors, where X is that spell's mana value. diff --git a/forge-gui/res/cardsfolder/p/pool_resources.txt b/forge-gui/res/cardsfolder/p/pool_resources.txt index 0a2903f6899..253544eeb6a 100644 --- a/forge-gui/res/cardsfolder/p/pool_resources.txt +++ b/forge-gui/res/cardsfolder/p/pool_resources.txt @@ -3,6 +3,6 @@ ManaCost:2 U Types:Instant K:Gift SVar:GiftAbility:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_fish | TokenTapped$ True | TokenOwner$ Promised | LockTokenScript$ True | GiftDescription$ a tapped Fish -A:SP$ Draw | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ0 | SubAbility$ DBSeek | NumCards$ 2 | SpellDescription$ -SVar:DBSeek:DB$ Seek | Defined$ You | Num$ 2 | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 |Type$ Card.nonLand +A:SP$ Draw | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ0 | SubAbility$ DBSeek | NumCards$ 2 | StackDescription$ {p:You} draws two cards. | SpellDescription$ Draw two cards. If the gift was promised, seek two nonland cards instead. +SVar:DBSeek:DB$ Seek | Defined$ You | Num$ 2 | ConditionZone$ Stack | ConditionPresent$ Card.Self+PromisedGift | ConditionCompare$ EQ1 | Type$ Card.nonLand | StackDescription$ If the gift was promised, {p:You} seeks two nonland cards instead. Oracle:Gift a tapped Fish\nDraw two cards. If the gift was promised, seek two nonland cards instead. diff --git a/forge-gui/res/cardsfolder/p/portent_tracker.txt b/forge-gui/res/cardsfolder/p/portent_tracker.txt index 29f094446d9..14f466a8726 100644 --- a/forge-gui/res/cardsfolder/p/portent_tracker.txt +++ b/forge-gui/res/cardsfolder/p/portent_tracker.txt @@ -3,6 +3,6 @@ ManaCost:1 G Types:Creature Satyr Scout PT:1/1 A:AB$ Untap | Cost$ T | ValidTgts$ Land | AILogic$ PoolExtraMana | SpellDescription$ Untap target land. -A:AB$ AddOrRemoveCounter | Cost$ T | ValidTgts$ Battle | RemoveConditionSVar$ Targeted$Valid Battle.OppProtect | CounterType$ DEFENSE | SorcerySpeed$ True | StackDescription$ REP Choose target battle. _ & it_{c:Targeted} & Activate only as a sorcery._ | SpellDescription$ Choose target battle. If an opponent protects it, remove a defense counter from it. Otherwise, put a defense counter on it. Activate only as a sorcery. +A:AB$ AddOrRemoveCounter | Cost$ T | ValidTgts$ Battle | RemoveConditionSVar$ Targeted$Valid Battle.OppProtect | CounterType$ DEFENSE | SorcerySpeed$ True | StackDescription$ REP Choose target battle_{p:You} chooses {c:Targeted} & remove_{p:You} removes & put_{p:You} puts & . Activate only as a sorcery._. | SpellDescription$ Choose target battle. If an opponent protects it, remove a defense counter from it. Otherwise, put a defense counter on it. Activate only as a sorcery. DeckHints:Type$Battle Oracle:{T}: Untap target land.\n{T}: Choose target battle. If an opponent protects it, remove a defense counter from it. Otherwise, put a defense counter on it. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/p/primal_clay.txt b/forge-gui/res/cardsfolder/p/primal_clay.txt index 6b8d16d7e57..c528b2acd6a 100644 --- a/forge-gui/res/cardsfolder/p/primal_clay.txt +++ b/forge-gui/res/cardsfolder/p/primal_clay.txt @@ -4,9 +4,9 @@ Types:Artifact Creature Shapeshifter PT:*/* K:ETBReplacement:Other:MoldChoice SVar:MoldChoice:DB$ GenericChoice | Defined$ You | Choices$ GroundMold,AirMold,WallMold | SpellDescription$ As CARDNAME enters, it becomes your choice of a 3/3 artifact creature, a 2/2 artifact creature with flying, or a 1/6 Wall artifact creature with defender in addition to its other types. -SVar:GroundMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 3 | Toughness$ 3 | SpellDescription$ CARDNAME is 3/3 -SVar:AirMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 2 | Toughness$ 2 | Keywords$ Flying | SpellDescription$ CARDNAME is 2/2 with flying -SVar:WallMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 1 | Toughness$ 6 | Types$ Wall | Keywords$ Defender | SpellDescription$ CARDNAME is 1/6 with defender and is a wall in addition to its other types +SVar:GroundMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 3 | Toughness$ 3 | SpellDescription$ CARDNAME is 3/3. +SVar:AirMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 2 | Toughness$ 2 | Keywords$ Flying | SpellDescription$ CARDNAME is 2/2 with flying. +SVar:WallMold:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 1 | Toughness$ 6 | Types$ Wall | Keywords$ Defender | SpellDescription$ CARDNAME is 1/6 with defender and is a Wall in addition to its other types. AI:RemoveDeck:Random DeckHas:Keyword$Defender|Flying & Type$Wall Oracle:As Primal Clay enters, it becomes your choice of a 3/3 artifact creature, a 2/2 artifact creature with flying, or a 1/6 Wall artifact creature with defender in addition to its other types. (A creature with defender can't attack.) diff --git a/forge-gui/res/cardsfolder/p/primal_plasma.txt b/forge-gui/res/cardsfolder/p/primal_plasma.txt index 6d93e0b3c01..2399b2b57ef 100644 --- a/forge-gui/res/cardsfolder/p/primal_plasma.txt +++ b/forge-gui/res/cardsfolder/p/primal_plasma.txt @@ -4,8 +4,8 @@ Types:Creature Elemental Shapeshifter PT:*/* R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ PlasmaChoice | ReplacementResult$ Updated | Description$ As CARDNAME enters, it becomes your choice of a 3/3 creature, a 2/2 creature with flying, or a 1/6 creature with defender. SVar:PlasmaChoice:DB$ GenericChoice | Defined$ You | Choices$ GroundPlasma,AirPlasma,WallPlasma -SVar:GroundPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 3 | Toughness$ 3 | SpellDescription$ CARDNAME is 3/3 -SVar:AirPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 2 | Toughness$ 2 | Keywords$ Flying | SpellDescription$ CARDNAME is 2/2 with flying -SVar:WallPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 1 | Toughness$ 6 | Keywords$ Defender | SpellDescription$ CARDNAME is 1/6 with defender +SVar:GroundPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 3 | Toughness$ 3 | SpellDescription$ CARDNAME is 3/3. +SVar:AirPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 2 | Toughness$ 2 | Keywords$ Flying | SpellDescription$ CARDNAME is 2/2 with flying. +SVar:WallPlasma:DB$ Animate | Defined$ Self | Duration$ Permanent | Power$ 1 | Toughness$ 6 | Keywords$ Defender | SpellDescription$ CARDNAME is 1/6 with defender. AI:RemoveDeck:All Oracle:As Primal Plasma enters, it becomes your choice of a 3/3 creature, a 2/2 creature with flying, or a 1/6 creature with defender. diff --git a/forge-gui/res/cardsfolder/p/protean_war_engine.txt b/forge-gui/res/cardsfolder/p/protean_war_engine.txt index 12890282241..89681b142d5 100644 --- a/forge-gui/res/cardsfolder/p/protean_war_engine.txt +++ b/forge-gui/res/cardsfolder/p/protean_war_engine.txt @@ -8,5 +8,5 @@ T:Mode$ BecomesCrewed | ValidVehicle$ Card.Self | Execute$ TrigClone | TriggerDe SVar:TrigClone:DB$ Clone | Cost$ 3 | Defined$ Remembered | CloneTarget$ Self | AddTypes$ Vehicle | Duration$ UntilEndOfTurn K:Crew:3 SVar:HasAttackingEffect:TRUE -DeckHas:Type$Angel|Bird|Dragon|Elk|Human|Ogre|Cleric|Knight|Pirate|Soldier|Warrior & Ability$LifeGain|Token & Keyword$DoubleStrike|Haste|FirstStrike|Flying +DeckHas:Type$Angel|Bird|Dragon|Elk|Human|Ogre|Cleric|Knight|Pirate|Soldier|Warrior & Ability$LifeGain|Token & Keyword$Double Strike|Haste|First Strike|Flying Oracle:As Protean War Engine enters, draft a card from Protean War Engine's spellbook and exile it.\nWhenever Protean War Engine becomes crewed, until end of turn, it becomes a copy of the exiled card, except it's a Vehicle artifact in addition to its other types. diff --git a/forge-gui/res/cardsfolder/p/protection_racket.txt b/forge-gui/res/cardsfolder/p/protection_racket.txt index 20a66c85bd1..2b177e11f52 100644 --- a/forge-gui/res/cardsfolder/p/protection_racket.txt +++ b/forge-gui/res/cardsfolder/p/protection_racket.txt @@ -2,7 +2,7 @@ Name:Protection Racket ManaCost:2 B Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRepeat | TriggerDescription$ At the beginning of your upkeep, repeat the following process for each opponent in turn order. Reveal the top card of your library. That player may pay life equal to that card's mana value. If they do, exile that card. Otherwise, put it into your hand. -SVar:TrigRepeat:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBReveal +SVar:TrigRepeat:DB$ RepeatEach | RepeatPlayers$ Opponent | StartingWith$ Opponent | RepeatSubAbility$ DBReveal SVar:DBReveal:DB$ PeekAndReveal | PeekAmount$ 1 | NoPeek$ True | RememberRevealed$ True | SubAbility$ DBExile SVar:DBExile:DB$ ChangeZone | UnlessCost$ PayLife | UnlessPayer$ Remembered | UnlessSwitched$ True | Defined$ Remembered | Origin$ Library | Destination$ Exile | ForgetChanged$ True | SubAbility$ DBChangeZone SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand | ForgetChanged$ True diff --git a/forge-gui/res/cardsfolder/p/psychic_allergy.txt b/forge-gui/res/cardsfolder/p/psychic_allergy.txt index 14e84f0b930..53ddd707d87 100644 --- a/forge-gui/res/cardsfolder/p/psychic_allergy.txt +++ b/forge-gui/res/cardsfolder/p/psychic_allergy.txt @@ -3,7 +3,7 @@ ManaCost:3 U U Types:Enchantment K:ETBReplacement:Other:ChooseColor SVar:ChooseColor:DB$ ChooseColor | Defined$ You | SpellDescription$ As CARDNAME enters, choose a color. | AILogic$ MostProminentInHumanDeck -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDamageOpp | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is the number of nontoken permanents of the chosen color they control +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDamageOpp | TriggerDescription$ At the beginning of each opponent's upkeep, CARDNAME deals X damage to that player, where X is the number of nontoken permanents of the chosen color they control. SVar:TrigDamageOpp:DB$ DealDamage | Defined$ TriggeredPlayer | NumDmg$ X SVar:X:Count$Valid Permanent.ActivePlayerCtrl+ChosenColor+nonToken T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ At the beginning of your upkeep, destroy CARDNAME unless you sacrifice two Islands. diff --git a/forge-gui/res/cardsfolder/p/psychic_overload.txt b/forge-gui/res/cardsfolder/p/psychic_overload.txt index b6530aab9ce..354c90c95f2 100644 --- a/forge-gui/res/cardsfolder/p/psychic_overload.txt +++ b/forge-gui/res/cardsfolder/p/psychic_overload.txt @@ -6,5 +6,5 @@ A:SP$ Attach | Cost$ 3 U | ValidTgts$ Permanent | AILogic$ KeepTapped T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigTap | TriggerDescription$ When CARDNAME enters, tap enchanted permanent. SVar:TrigTap:DB$ Tap | Defined$ Enchanted S:Mode$ Continuous | Affected$ Card.EnchantedBy | AddHiddenKeyword$ CARDNAME doesn't untap during your untap step. | AddAbility$ Untap | Description$ Enchanted permanent doesn't untap during its controller's untap step. Enchanted permanent has "Discard two artifact cards: Untap this permanent." -SVar:Untap:AB$ Untap | Cost$ Discard<2/Artifact> | Defined$ Self | SpellDescription$ Discard two artifact cards: Untap this permanent. +SVar:Untap:AB$ Untap | Cost$ Discard<2/Artifact> | Defined$ Self | SpellDescription$ Untap CARDNAME. Oracle:Enchant permanent\nWhen Psychic Overload enters, tap enchanted permanent.\nEnchanted permanent doesn't untap during its controller's untap step.\nEnchanted permanent has "Discard two artifact cards: Untap this permanent." diff --git a/forge-gui/res/cardsfolder/p/psychic_trance.txt b/forge-gui/res/cardsfolder/p/psychic_trance.txt index 9392860693e..da1a09cdbae 100644 --- a/forge-gui/res/cardsfolder/p/psychic_trance.txt +++ b/forge-gui/res/cardsfolder/p/psychic_trance.txt @@ -2,7 +2,7 @@ Name:Psychic Trance ManaCost:2 U U Types:Instant A:SP$ AnimateAll | Abilities$ Counter | ValidCards$ Card.Wizard+YouCtrl | SpellDescription$ Until end of turn, Wizards you control gain "{T}: Counter target spell." -SVar:Counter:AB$ Counter | Cost$ T | TargetType$ Spell | ValidTgts$ Card | SpellDescription$ Counter target spell +SVar:Counter:AB$ Counter | Cost$ T | TargetType$ Spell | ValidTgts$ Card | SpellDescription$ Counter target spell. AI:RemoveDeck:Random AI:RemoveDeck:All Oracle:Until end of turn, Wizards you control gain "{T}: Counter target spell." diff --git a/forge-gui/res/cardsfolder/p/pursue_glory.txt b/forge-gui/res/cardsfolder/p/pursue_glory.txt index d8d65d064b0..e1d8de5b451 100644 --- a/forge-gui/res/cardsfolder/p/pursue_glory.txt +++ b/forge-gui/res/cardsfolder/p/pursue_glory.txt @@ -1,6 +1,6 @@ Name:Pursue Glory ManaCost:3 R Types:Instant -A:SP$ PumpAll | ValidCards$ Creature.attacking | NumAtt$ 2 | SpellDescription$ Attacking creatures get +2/+0 until end of turn +A:SP$ PumpAll | ValidCards$ Creature.attacking | NumAtt$ 2 | SpellDescription$ Attacking creatures get +2/+0 until end of turn. K:Cycling:2 Oracle:Attacking creatures get +2/+0 until end of turn.\nCycling {2} ({2}, Discard this card: Draw a card.) diff --git a/forge-gui/res/cardsfolder/p/pygmy_hippo.txt b/forge-gui/res/cardsfolder/p/pygmy_hippo.txt index b059c6bc002..ccdea29e8e8 100644 --- a/forge-gui/res/cardsfolder/p/pygmy_hippo.txt +++ b/forge-gui/res/cardsfolder/p/pygmy_hippo.txt @@ -7,7 +7,7 @@ SVar:TrigActivateManaAbility:DB$ ActivateAbility | Defined$ DefendingPlayer | Ty SVar:DBEmptyPool:DB$ DrainMana | Defined$ DefendingPlayer | SubAbility$ DBNoCombatDamage | RememberDrainedMana$ True SVar:DBNoCombatDamage:DB$ Effect | StaticAbilities$ SNoCombatDamage | Duration$ UntilHostLeavesPlayOrEOT | SubAbility$ DBDelTrig SVar:SNoCombatDamage:Mode$ AssignNoCombatDamage | ValidCard$ Card.EffectSource | Description$ EFFECTSOURCE assigns no combat damage this turn. -SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Main2 | Execute$ TrigAddMana | TriggerDescription$ At the beginning of your postcombat main phase, you add an amount of {C} equal to the amount of mana the defending player lost this way | SubAbility$ DBCleanup | RememberNumber$ True +SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ Main2 | Execute$ TrigAddMana | TriggerDescription$ At the beginning of your postcombat main phase, you add an amount of {C} equal to the amount of mana the defending player lost this way. | SubAbility$ DBCleanup | RememberNumber$ True SVar:TrigAddMana:DB$ Mana | Produced$ C | Amount$ X SVar:X:Count$TriggerRememberAmount SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/q/questing_cosplayer.txt b/forge-gui/res/cardsfolder/q/questing_cosplayer.txt index a1df0385b6d..fd2ecbe0138 100644 --- a/forge-gui/res/cardsfolder/q/questing_cosplayer.txt +++ b/forge-gui/res/cardsfolder/q/questing_cosplayer.txt @@ -2,7 +2,7 @@ Name:Questing Cosplayer ManaCost:1 G Types:Creature Human Bard PT:1/1 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When Questing Cosplayer enters the battlefield, create a Questing Role token and attach it to target creature. (If you control another Role on it, put that one into the graveyard. Enchanted creature has all the abilities of Questing Beast.) +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a Questing Role token and attach it to target creature. (If you control another Role on it, put that one into the graveyard. Enchanted creature has all the abilities of Questing Beast.) SVar:TrigToken:DB$ Token | TokenScript$ role_questing | AttachedTo$ Targeted | ValidTgts$ Creature DeckHas:Type$Aura|Role & Ability$Token DeckHints:Type$Aura diff --git a/forge-gui/res/cardsfolder/r/rabid_bite.txt b/forge-gui/res/cardsfolder/r/rabid_bite.txt index 70239fe8503..6bbffb02dbd 100644 --- a/forge-gui/res/cardsfolder/r/rabid_bite.txt +++ b/forge-gui/res/cardsfolder/r/rabid_bite.txt @@ -1,7 +1,7 @@ Name:Rabid Bite ManaCost:1 G Types:Sorcery -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control. SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you don't control | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower Oracle:Target creature you control deals damage equal to its power to target creature you don't control. diff --git a/forge-gui/res/cardsfolder/r/raid_bombardment.txt b/forge-gui/res/cardsfolder/r/raid_bombardment.txt index d19dec9551b..0611cd3964a 100644 --- a/forge-gui/res/cardsfolder/r/raid_bombardment.txt +++ b/forge-gui/res/cardsfolder/r/raid_bombardment.txt @@ -1,7 +1,7 @@ Name:Raid Bombardment ManaCost:2 R Types:Enchantment -T:Mode$ Attacks | ValidCard$ Creature.powerLE2+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature you control with power 2 or less attacks, CARDNAME deals 1 damage to the player or planeswalker that creature is attacking +T:Mode$ Attacks | ValidCard$ Creature.powerLE2+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a creature you control with power 2 or less attacks, CARDNAME deals 1 damage to the player or planeswalker that creature is attacking. SVar:TrigDamage:DB$ DealDamage | Defined$ TriggeredDefender.Player & Valid Planeswalker.TriggeredDefender | NumDmg$ 1 SVar:PlayMain1:TRUE Oracle:Whenever a creature you control with power 2 or less attacks, Raid Bombardment deals 1 damage to the player or planeswalker that creature is attacking. diff --git a/forge-gui/res/cardsfolder/r/rankles_prank.txt b/forge-gui/res/cardsfolder/r/rankles_prank.txt index 4073d2d7325..b138d517cc0 100644 --- a/forge-gui/res/cardsfolder/r/rankles_prank.txt +++ b/forge-gui/res/cardsfolder/r/rankles_prank.txt @@ -3,7 +3,7 @@ ManaCost:2 B B Types:Sorcery A:SP$ Charm | Choices$ DBDiscard,DBLoseLife,DBSac | MinCharmNum$ 1 | CharmNum$ 3 SVar:DBDiscard:DB$ Discard | NumCards$ 2 | Mode$ TgtChoose | Defined$ Player | AILogic$ AnyPhaseIfFavored | SpellDescription$ Each player discards two cards. -SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 4 | Defined$ Player | AILogic$ AnyPhase | SpellDescription$ Each player loses 4 life +SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 4 | Defined$ Player | AILogic$ AnyPhase | SpellDescription$ Each player loses 4 life. SVar:DBSac:DB$ Sacrifice | SacValid$ Creature | Defined$ Player | Amount$ 2 | SpellDescription$ Each player sacrifices two creatures. DeckHas:Ability$Sacrifice|Discard Oracle:Choose one or more —\n• Each player discards two cards.\n• Each player loses 4 life.\n• Each player sacrifices two creatures. diff --git a/forge-gui/res/cardsfolder/r/rapid_fire.txt b/forge-gui/res/cardsfolder/r/rapid_fire.txt index 1ed74d616a1..0b3ec1f34ae 100644 --- a/forge-gui/res/cardsfolder/r/rapid_fire.txt +++ b/forge-gui/res/cardsfolder/r/rapid_fire.txt @@ -5,5 +5,5 @@ Text:Cast this spell only before blockers are declared. A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ First Strike | ActivationPhases$ Upkeep->Declare Attackers | ActivationFirstCombat$ True | SubAbility$ DBPump | SpellDescription$ Target creature gains first strike until end of turn. If it doesn't have rampage, that creature gains rampage 2 until end of turn. (Whenever the creature becomes blocked, it gets +2/+2 until end of turn for each creature blocking it beyond the first.) SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Rampage:2 | ConditionDefined$ Targeted | ConditionPresent$ Creature.withoutRampage AI:RemoveDeck:All -DeckHas:Keyword$FirstStrike|Rampage +DeckHas:Keyword$First Strike|Rampage Oracle:Cast this spell only before blockers are declared.\nTarget creature gains first strike until end of turn. If it doesn't have rampage, that creature gains rampage 2 until end of turn. (Whenever the creature becomes blocked, it gets +2/+2 until end of turn for each creature blocking it beyond the first.) diff --git a/forge-gui/res/cardsfolder/r/ratonhnhake_ton.txt b/forge-gui/res/cardsfolder/r/ratonhnhake_ton.txt index 91e29497cde..20b78d63103 100644 --- a/forge-gui/res/cardsfolder/r/ratonhnhake_ton.txt +++ b/forge-gui/res/cardsfolder/r/ratonhnhake_ton.txt @@ -11,4 +11,4 @@ SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefiel SVar:DBAttach:DB$ Attach | Object$ Targeted | Defined$ Remembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token -Oracle:As long as Ratonhnhaké꞉ton hasn't dealt damage yet, it has hexproof and can't be blocked.\nWhenever Ratonhnhaké꞉ton deals combat damage to a player, create a 1/1 black Assassin creature token with menace. When you do, return target Equipment card from your graveyard to the battlefield, then attach it to that token. +Oracle:As long as Ratonhnhaké:ton hasn't dealt damage yet, it has hexproof and can't be blocked.\nWhenever Ratonhnhaké:ton deals combat damage to a player, create a 1/1 black Assassin creature token with menace. When you do, return target Equipment card from your graveyard to the battlefield, then attach it to that token. diff --git a/forge-gui/res/cardsfolder/r/raze_the_effigy.txt b/forge-gui/res/cardsfolder/r/raze_the_effigy.txt index 3f02dc39908..657777d929c 100644 --- a/forge-gui/res/cardsfolder/r/raze_the_effigy.txt +++ b/forge-gui/res/cardsfolder/r/raze_the_effigy.txt @@ -2,6 +2,6 @@ Name:Raze the Effigy ManaCost:R Types:Instant A:SP$ Charm | Choices$ DBDestroy,DBPump -SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact +SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact | TgtPrompt$ Select target artifact | SpellDescription$ Destroy target artifact. SVar:DBPump:DB$ Pump | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Target attacking creature gets +2/+2 until end of turn. Oracle:Choose one —\n• Destroy target artifact.\n• Target attacking creature gets +2/+2 until end of turn. diff --git a/forge-gui/res/cardsfolder/r/reality_shaping.txt b/forge-gui/res/cardsfolder/r/reality_shaping.txt index 745d771e073..88e550b3dd0 100644 --- a/forge-gui/res/cardsfolder/r/reality_shaping.txt +++ b/forge-gui/res/cardsfolder/r/reality_shaping.txt @@ -2,7 +2,7 @@ Name:Reality Shaping ManaCost:no cost Types:Phenomenon T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ TrigPutFromHand | TriggerDescription$ When you encounter CARDNAME, starting with you, each player may put a permanent card from their hand onto the battlefield. (Then planeswalk away from this phenomenon.) -SVar:TrigPutFromHand:DB$ RepeatEach | StartingWithActivator$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBChangeZone | SubAbility$ PWAway +SVar:TrigPutFromHand:DB$ RepeatEach | StartingWith$ You | RepeatPlayers$ Player | RepeatSubAbility$ DBChangeZone | SubAbility$ PWAway SVar:DBChangeZone:DB$ ChangeZone | DefinedPlayer$ Player.IsRemembered | Choser$ Player.IsRemembered | ChangeType$ Permanent | ChangeNum$ 1 | Origin$ Hand | Destination$ Battlefield SVar:PWAway:DB$ Planeswalk Oracle:When you encounter Reality Shaping, starting with you, each player may put a permanent card from their hand onto the battlefield. (Then planeswalk away from this phenomenon.) diff --git a/forge-gui/res/cardsfolder/r/reality_spasm.txt b/forge-gui/res/cardsfolder/r/reality_spasm.txt index 2af1c71cf71..399826b9e2f 100644 --- a/forge-gui/res/cardsfolder/r/reality_spasm.txt +++ b/forge-gui/res/cardsfolder/r/reality_spasm.txt @@ -2,7 +2,7 @@ Name:Reality Spasm ManaCost:X U U Types:Instant A:SP$ Charm | Choices$ Tap,Untap -SVar:Tap:DB$ Tap | TargetMin$ X | TargetMax$ X | ValidTgts$ Permanent | TgtPrompt$ Select X target permanents | SpellDescription$ Tap X target permanents +SVar:Tap:DB$ Tap | TargetMin$ X | TargetMax$ X | ValidTgts$ Permanent | TgtPrompt$ Select X target permanents | SpellDescription$ Tap X target permanents. SVar:Untap:DB$ Untap | TargetMin$ X | TargetMax$ X | ValidTgts$ Permanent | TgtPrompt$ Select X target permanents | SpellDescription$ Untap X target permanents. SVar:X:Count$xPaid AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/r/reckless_detective.txt b/forge-gui/res/cardsfolder/r/reckless_detective.txt index f3118eb267b..af4e5213135 100644 --- a/forge-gui/res/cardsfolder/r/reckless_detective.txt +++ b/forge-gui/res/cardsfolder/r/reckless_detective.txt @@ -4,8 +4,8 @@ Types:Creature Devil Detective PT:0/3 T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigChoice | TriggerDescription$ Whenever CARDNAME attacks, you may sacrifice an artifact or discard a card. If you do, draw a card and CARDNAME gets +2/+0 until end of turn. SVar:TrigChoice:DB$ GenericChoice | Choices$ DBSacToDraw,DBDiscardToDraw -SVar:DBSacToDraw:DB$ Draw | UnlessCost$ Sac<1/Artifact> | UnlessPayer$ You | UnlessSwitched$ True | SubAbility$ DBPump | SpellDescription$ Sacrifice an artifact -SVar:DBDiscardToDraw:DB$ Draw | UnlessCost$ Discard<1/Card> | UnlessPayer$ You | UnlessSwitched$ True | SubAbility$ DBPump | SpellDescription$ Discard a card +SVar:DBSacToDraw:DB$ Draw | UnlessCost$ Sac<1/Artifact> | UnlessPayer$ You | UnlessSwitched$ True | SubAbility$ DBPump | SpellDescription$ Sacrifice an artifact. +SVar:DBDiscardToDraw:DB$ Draw | UnlessCost$ Discard<1/Card> | UnlessPayer$ You | UnlessSwitched$ True | SubAbility$ DBPump | SpellDescription$ Discard a card. SVar:DBPump:DB$ Pump | Defined$ Self | NumAtt$ 2 DeckHas:Ability$Sacrifice|Graveyard|Discard DeckHints:Type$Artifact|Clue|Treasure diff --git a/forge-gui/res/cardsfolder/r/recruit_instructor.txt b/forge-gui/res/cardsfolder/r/recruit_instructor.txt index 8dcbfd34da3..14717fa2544 100644 --- a/forge-gui/res/cardsfolder/r/recruit_instructor.txt +++ b/forge-gui/res/cardsfolder/r/recruit_instructor.txt @@ -5,5 +5,5 @@ PT:1/1 T:Mode$ AttackersDeclared | ValidAttackers$ Mouse.YouCtrl | Execute$ TrigDraft | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more Mice you control attack, draft a card from CARDNAME's spellbook. SVar:TrigDraft:DB$ Draft | Spellbook$ Angelfire Ignition,Barge In,Become Brutes,Boon of Safety,Cheeky House-Mouse,Crumb and Get It,Defiant Strike,Embercleave,Feather of Flight,Mabel's Mettle,Might of the Meek,Moment of Heroism,Unleash Fury,War Squeak T:Mode$ BecomesTarget | ValidTarget$ Card.Self | ValidSource$ SpellAbility.YouCtrl | TriggerZones$ Battlefield | FirstTime$ True | Execute$ TrigToken | TriggerDescription$ Valiant — Whenever CARDNAME becomes the target of a spell or ability you control for the first time each turn, create a 1/1 white Mouse creature token. -SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_mouse | TokenAmount$ 1 | TokenOwner$ You +SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_mouse | TokenAmount$ 1 | TokenOwner$ You Oracle:Whenever one or more Mice you control attack, draft a card from Recruit Instructor's spellbook.\nValiant — Whenever Recruit Instructor becomes the target of a spell or ability you control for the first time each turn, create a 1/1 white Mouse creature token. diff --git a/forge-gui/res/cardsfolder/r/recruitment_drive.txt b/forge-gui/res/cardsfolder/r/recruitment_drive.txt index f6f7bb7c00d..f8bd6a20515 100644 --- a/forge-gui/res/cardsfolder/r/recruitment_drive.txt +++ b/forge-gui/res/cardsfolder/r/recruitment_drive.txt @@ -5,6 +5,5 @@ A:SP$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:DBSToken,10-19:DBKToken,20: SVar:DBSToken:DB$ Token | TokenAmount$ 2 | TokenScript$ w_1_1_soldier | TokenOwner$ You | SpellDescription$ 1—9 VERT Create two 1/1 white Soldier creature tokens. SVar:DBKToken:DB$ Token | TokenAmount$ 2 | TokenScript$ w_2_2_knight | TokenOwner$ You | SpellDescription$ 10—19 VERT Create two 2/2 white Knight creature tokens. SVar:DBTokens:DB$ Token | TokenAmount$ 3 | TokenScript$ w_2_2_knight | TokenOwner$ You | SpellDescription$ 20 VERT Create three 2/2 white Knight creature tokens. -DeckHas:Ability$Token DeckHas:Ability$Token & Type$Soldier|Knight Oracle:Roll a d20.\n1—9 | Create two 1/1 white Soldier creature tokens.\n10—19 | Create two 2/2 white Knight creature tokens.\n20 | Create three 2/2 white Knight creature tokens. diff --git a/forge-gui/res/cardsfolder/r/redemptor_dreadnought.txt b/forge-gui/res/cardsfolder/r/redemptor_dreadnought.txt index 978079fa562..e9d87b29000 100644 --- a/forge-gui/res/cardsfolder/r/redemptor_dreadnought.txt +++ b/forge-gui/res/cardsfolder/r/redemptor_dreadnought.txt @@ -3,7 +3,7 @@ ManaCost:5 Types:Artifact Creature Astartes Dreadnought PT:4/4 K:Trample -A:SP$ PermanentCreature | Cost$ 5 ExileFromGrave | XMaxLimit$ 1 +S:Mode$ OptionalCost | EffectZone$ All | ValidCard$ Card.Self | ValidSA$ Spell | Cost$ ExileFromGrave<1/Creature> | Description$ Fallen Warrior — As an additional cost to cast this spell, you may exile a creature card from your graveyard. T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | IsPresent$ Card.ExiledWithSource | PresentZone$ Exile | TriggerDescription$ Plasma Incinerator — Whenever CARDNAME attacks, if a card is exiled with it, it gets +X/+X until end of turn, where X is the power of the exiled card. SVar:TrigPump:DB$ Pump | Defined$ Self | NumDef$ Y | NumAtt$ Y SVar:X:Count$xPaid diff --git a/forge-gui/res/cardsfolder/r/reign_of_terror.txt b/forge-gui/res/cardsfolder/r/reign_of_terror.txt index 2047edc1537..00d77171278 100644 --- a/forge-gui/res/cardsfolder/r/reign_of_terror.txt +++ b/forge-gui/res/cardsfolder/r/reign_of_terror.txt @@ -2,8 +2,8 @@ Name:Reign of Terror ManaCost:3 B B Types:Sorcery A:SP$ GenericChoice | Choices$ DestroyWhite,DestroyGreen | Defined$ You | StackDescription$ SpellDescription | SpellDescription$ Destroy all white or green creatures. They can't be regenerated. You lose 2 life for each creature that died this way. -SVar:DestroyWhite:DB$ DestroyAll | ValidCards$ Creature.White | NoRegen$ True | RememberDestroyed$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy all white creatures -SVar:DestroyGreen:DB$ DestroyAll | ValidCards$ Creature.Green | NoRegen$ True | RememberDestroyed$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy all green creatures +SVar:DestroyWhite:DB$ DestroyAll | ValidCards$ Creature.White | NoRegen$ True | RememberDestroyed$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy all white creatures. +SVar:DestroyGreen:DB$ DestroyAll | ValidCards$ Creature.Green | NoRegen$ True | RememberDestroyed$ True | SubAbility$ DBLoseLife | SpellDescription$ Destroy all green creatures. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | Defined$ You | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$RememberedSize/Twice diff --git a/forge-gui/res/cardsfolder/r/remand.txt b/forge-gui/res/cardsfolder/r/remand.txt index 0a1b2035a7c..c7df2ae7c83 100644 --- a/forge-gui/res/cardsfolder/r/remand.txt +++ b/forge-gui/res/cardsfolder/r/remand.txt @@ -1,6 +1,6 @@ Name:Remand ManaCost:1 U Types:Instant -A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | Destination$ Hand | SubAbility$ DBDraw | AITgts$ Card.cmcGE2 | SpellDescription$ Counter target spell. If that spell is countered this way, put it into it's owner's hand instead of into that player's graveyard. Draw a card. +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | Destination$ Hand | SubAbility$ DBDraw | AITgts$ Card.cmcGE2 | SpellDescription$ Counter target spell. If that spell is countered this way, put it into its owner's hand instead of into that player's graveyard. Draw a card. SVar:DBDraw:DB$ Draw | NumCards$ 1 Oracle:Counter target spell. If that spell is countered this way, put it into its owner's hand instead of into that player's graveyard.\nDraw a card. diff --git a/forge-gui/res/cardsfolder/r/resounding_roar.txt b/forge-gui/res/cardsfolder/r/resounding_roar.txt index b883e23e0bd..fe9e7fae14c 100644 --- a/forge-gui/res/cardsfolder/r/resounding_roar.txt +++ b/forge-gui/res/cardsfolder/r/resounding_roar.txt @@ -3,7 +3,7 @@ ManaCost:1 G Types:Instant K:Cycling:5 R G W A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +3 | NumDef$ +3 | SpellDescription$ Target creature gets +3/+3 until end of turn. -T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When you cycle CARDNAME, target creature gets +6/+6 until end of turn +T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ When you cycle CARDNAME, target creature gets +6/+6 until end of turn. SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +6 | NumDef$ +6 AI:RemoveDeck:All Oracle:Target creature gets +3/+3 until end of turn.\nCycling {5}{R}{G}{W} ({5}{R}{G}{W}, Discard this card: Draw a card.)\nWhen you cycle Resounding Roar, target creature gets +6/+6 until end of turn. diff --git a/forge-gui/res/cardsfolder/r/resounding_wave.txt b/forge-gui/res/cardsfolder/r/resounding_wave.txt index 677d7d5bbe0..d4d7d87f6d8 100644 --- a/forge-gui/res/cardsfolder/r/resounding_wave.txt +++ b/forge-gui/res/cardsfolder/r/resounding_wave.txt @@ -3,6 +3,6 @@ ManaCost:2 U Types:Instant K:Cycling:5 W U B A:SP$ ChangeZone | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return target permanent to its owner's hand. -T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigBounce | TriggerDescription$ When you cycle CARDNAME, return up to two target permanents to their owners' hands +T:Mode$ Cycled | ValidCard$ Card.Self | Execute$ TrigBounce | TriggerDescription$ When you cycle CARDNAME, return up to two target permanents to their owners' hands. SVar:TrigBounce:DB$ ChangeZone | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | TargetMin$ 0 | TargetMax$ 2 | Origin$ Battlefield | Destination$ Hand Oracle:Return target permanent to its owner's hand.\nCycling {5}{W}{U}{B} ({5}{W}{U}{B}, Discard this card: Draw a card.)\nWhen you cycle Resounding Wave, return two target permanents to their owners' hands. diff --git a/forge-gui/res/cardsfolder/r/restless_fortress.txt b/forge-gui/res/cardsfolder/r/restless_fortress.txt index 839d9bd5d77..1ce2f4dcc0f 100644 --- a/forge-gui/res/cardsfolder/r/restless_fortress.txt +++ b/forge-gui/res/cardsfolder/r/restless_fortress.txt @@ -10,4 +10,4 @@ SVar:TrigLoseLife:DB$ LoseLife | Defined$ TriggeredDefendingPlayer | LifeAmount$ SVar:DBGainLife:DB$ GainLife | LifeAmount$ 2 DeckHas:Ability$LifeGain & Type$Nightmare & Color$White|Black SVar:HasAttackEffect:TRUE -Oracle:Restless Fortress enters tapped.\n{T}: Add {W} or {B}.\n\n{2}{W}{B}: Restless Fortress becomes a 1/4 white and black Nightmare creature until end of turn. It's still a land.\nWhenever Restless Fortress attacks, defending player loses 2 life and you gain 2 life. +Oracle:Restless Fortress enters tapped.\n{T}: Add {W} or {B}.\n{2}{W}{B}: Restless Fortress becomes a 1/4 white and black Nightmare creature until end of turn. It's still a land.\nWhenever Restless Fortress attacks, defending player loses 2 life and you gain 2 life. diff --git a/forge-gui/res/cardsfolder/r/return_to_nature.txt b/forge-gui/res/cardsfolder/r/return_to_nature.txt index d6d1e328196..1ce49f89928 100644 --- a/forge-gui/res/cardsfolder/r/return_to_nature.txt +++ b/forge-gui/res/cardsfolder/r/return_to_nature.txt @@ -2,7 +2,7 @@ Name:Return to Nature ManaCost:1 G Types:Instant A:SP$ Charm | Choices$ DBDestroyArtifact,DBDestroyEnchantment,DBExile -SVar:DBDestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | Tgtprompt$ Select target artifact | SpellDescription$ Destroy target artifact +SVar:DBDestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | Tgtprompt$ Select target artifact | SpellDescription$ Destroy target artifact. SVar:DBDestroyEnchantment:DB$ Destroy | ValidTgts$ Enchantment | Tgtprompt$ Select target enchantment | SpellDescription$ Destroy target enchantment. SVar:DBExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | TgtPrompt$ Select target card from a graveyard. | SpellDescription$ Exile target card fom a graveyard. Oracle:Choose one —\n• Destroy target artifact.\n• Destroy target enchantment.\n• Exile target card from a graveyard. diff --git a/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt b/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt index 3f4f2ad9c36..0928b85e5ec 100644 --- a/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt +++ b/forge-gui/res/cardsfolder/r/ride_the_avalanche.txt @@ -3,7 +3,7 @@ ManaCost:G U Types:Instant A:SP$ Effect | StaticAbilities$ QuickenStA | Triggers$ TrigCounters | SpellDescription$ The next spell you cast this turn can be cast as though it had flash. When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell. SVar:QuickenStA:Mode$ CastWithFlash | ValidCard$ Card | ValidSA$ Spell | EffectZone$ Command | Caster$ You -SVar:TrigCounters:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | OneOff$ True | Execute$ PutCounter | TriggerDescription$ When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell +SVar:TrigCounters:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | OneOff$ True | Execute$ PutCounter | TriggerDescription$ When you cast your next spell this turn, put X +1/+1 counters on up to one target creature, where X is the mana value of that spell. SVar:PutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ X | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target creature | ValidTgts$ Creature SVar:X:TriggeredStackInstance$CardManaCostLKI DeckHas:Ability$Counters diff --git a/forge-gui/res/cardsfolder/r/ripples_of_undeath.txt b/forge-gui/res/cardsfolder/r/ripples_of_undeath.txt index 0cd54cb4d62..6cf5696035a 100644 --- a/forge-gui/res/cardsfolder/r/ripples_of_undeath.txt +++ b/forge-gui/res/cardsfolder/r/ripples_of_undeath.txt @@ -1,9 +1,9 @@ Name:Ripples of Undeath ManaCost:1 B Types:Enchantment -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of your precombat main phase, mill three cards. Then you may pay {1} and 3 life. If you do, put a card from among those cards into your hand. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ At the beginning of your first main phase, mill three cards. Then you may pay {1} and 3 life. If you do, put a card from among those cards into your hand. SVar:TrigMill:DB$ Mill | NumCards$ 3 | RememberMilled$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | UnlessCost$ 1 PayLife<3> | UnlessPayer$ You | UnlessSwitched$ True | Hidden$ True | Origin$ Graveyard,Exile | Destination$ Hand | ChangeType$ Card.IsRemembered | SelectPrompt$ You may put a card from among them into your hand | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Mill|Graveyard -Oracle:At the beginning of your precombat main phase, mill three cards. Then you may pay {1} and 3 life. If you do, put a card from among those cards into your hand. +Oracle:At the beginning of your first main phase, mill three cards. Then you may pay {1} and 3 life. If you do, put a card from among those cards into your hand. diff --git a/forge-gui/res/cardsfolder/r/rise_of_the_eldrazi.txt b/forge-gui/res/cardsfolder/r/rise_of_the_eldrazi.txt index 3c81c3977bc..e3a0bbff819 100644 --- a/forge-gui/res/cardsfolder/r/rise_of_the_eldrazi.txt +++ b/forge-gui/res/cardsfolder/r/rise_of_the_eldrazi.txt @@ -5,5 +5,5 @@ R:Event$ Counter | ValidCard$ Card.Self | ValidSA$ Spell | Layer$ CantHappen | D A:SP$ Destroy | ValidTgts$ Permanent | SubAbility$ DBDraw | SpellDescription$ Destroy target permanent. SVar:DBDraw:DB$ Draw | NumCards$ 4 | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ DBExtraTurn | SpellDescription$ Target player draws four cards. SVar:DBExtraTurn:DB$ AddTurn | Defined$ You | NumTurns$ 1 | SubAbility$ DBChange | SpellDescription$ Take an extra turn after this one. -SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | SpellDescription$ Exile CARDNAME +SVar:DBChange:DB$ ChangeZone | Origin$ Stack | Destination$ Exile | SpellDescription$ Exile CARDNAME. Oracle:This spell can't be countered.\nDestroy target permanent. Target player draws four cards. Take an extra turn after this one.\nExile Rise of the Eldrazi. diff --git a/forge-gui/res/cardsfolder/r/rite_of_ruin.txt b/forge-gui/res/cardsfolder/r/rite_of_ruin.txt index ea855008ef6..b290f461e2c 100644 --- a/forge-gui/res/cardsfolder/r/rite_of_ruin.txt +++ b/forge-gui/res/cardsfolder/r/rite_of_ruin.txt @@ -2,12 +2,12 @@ Name:Rite of Ruin ManaCost:5 R R Types:Sorcery A:SP$ GenericChoice | Choices$ ChooseC1L2A3,ChooseL1C2A3,ChooseA1L2C3,ChooseA1C2L3,ChooseC1A2L3,ChooseL1A2C3 | Defined$ You | StackDescription$ SpellDescription | SpellDescription$ Choose an order for artifacts, creatures, and lands. Each player sacrifices one permanent of the first type, sacrifices two of the second type, then sacrifices three of the third type. -SVar:ChooseC1L2A3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseC1 | SubAbility$ SacC1L2A3 | SpellDescription$ Creature,Land,Artifact -SVar:ChooseL1C2A3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseL1 | SubAbility$ SacL1C2A3 | SpellDescription$ Land,Creature,Artifact -SVar:ChooseA1L2C3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseA1 | SubAbility$ SacA1L2C3 | SpellDescription$ Artifact,Land,Creature -SVar:ChooseA1C2L3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseA1 | SubAbility$ SacA1C2L3 | SpellDescription$ Artifact,Creature,Land -SVar:ChooseC1A2L3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseC1 | SubAbility$ SacC1A2L3 | SpellDescription$ Creature,Artifact,Land -SVar:ChooseL1A2C3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseL1 | SubAbility$ SacL1A2C3 | SpellDescription$ Land,Artifact,Creature +SVar:ChooseC1L2A3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseC1 | SubAbility$ SacC1L2A3 | SpellDescription$ Creature, Land, Artifact +SVar:ChooseL1C2A3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseL1 | SubAbility$ SacL1C2A3 | SpellDescription$ Land, Creature, Artifact +SVar:ChooseA1L2C3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseA1 | SubAbility$ SacA1L2C3 | SpellDescription$ Artifact, Land, Creature +SVar:ChooseA1C2L3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseA1 | SubAbility$ SacA1C2L3 | SpellDescription$ Artifact, Creature, Land +SVar:ChooseC1A2L3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseC1 | SubAbility$ SacC1A2L3 | SpellDescription$ Creature, Artifact, Land +SVar:ChooseL1A2C3:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ ChooseL1 | SubAbility$ SacL1A2C3 | SpellDescription$ Land, Artifact, Creature SVar:ChooseC1:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.RememberedPlayerCtrl | Amount$ 1 | Mandatory$ True | RememberChosen$ True SVar:ChooseC2:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.RememberedPlayerCtrl | Amount$ 2 | Mandatory$ True | RememberChosen$ True SVar:ChooseC3:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature.RememberedPlayerCtrl | Amount$ 3 | Mandatory$ True | RememberChosen$ True diff --git a/forge-gui/res/cardsfolder/r/robaran_mercenaries.txt b/forge-gui/res/cardsfolder/r/robaran_mercenaries.txt index a45f2cbbd10..56331555e59 100644 --- a/forge-gui/res/cardsfolder/r/robaran_mercenaries.txt +++ b/forge-gui/res/cardsfolder/r/robaran_mercenaries.txt @@ -3,6 +3,6 @@ ManaCost:3 W Types:Creature Human Mercenary PT:3/4 K:Vigilance -S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Creature.Legendary+YouCtrl | Description$ CARDNAME has all activated abilities of all legendary creatures you control +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Creature.Legendary+YouCtrl | Description$ CARDNAME has all activated abilities of all legendary creatures you control. DeckHints:Type$Legendary Oracle:Vigilance\nRobaran Mercenaries has all activated abilities of all legendary creatures you control. diff --git a/forge-gui/res/cardsfolder/r/rocket_launcher.txt b/forge-gui/res/cardsfolder/r/rocket_launcher.txt index 12b1b5b25c2..0b192a7ebd9 100644 --- a/forge-gui/res/cardsfolder/r/rocket_launcher.txt +++ b/forge-gui/res/cardsfolder/r/rocket_launcher.txt @@ -1,7 +1,7 @@ Name:Rocket Launcher ManaCost:4 Types:Artifact -A:AB$ DealDamage | Cost$ 2 | ValidTgts$ Any | NumDmg$ 1 | SubAbility$ DBDelayTrig | IsPresent$ Card.Self+notFirstTurnControlled | SpellDescription$ CARDNAME deals 1 damage to any target. Destroy CARDNAME at the beginning of the next end step. Activate only if you've controlled CARDNAME continuously since the beginning of your most recent turn. +A:AB$ DealDamage | Cost$ 2 | ValidTgts$ Any | NumDmg$ 1 | SubAbility$ DBDelayTrig | IsPresent$ Card.Self+!firstTurnControlled | SpellDescription$ CARDNAME deals 1 damage to any target. Destroy CARDNAME at the beginning of the next end step. Activate only if you've controlled CARDNAME continuously since the beginning of your most recent turn. SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ DestroySource | TriggerDescription$ Destroy CARDNAME at the beginning of the next end step. SVar:DestroySource:DB$ Destroy | Defined$ Self AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/r/rottenmouth_viper.txt b/forge-gui/res/cardsfolder/r/rottenmouth_viper.txt index 8a73c567e16..e2bffcbacc2 100644 --- a/forge-gui/res/cardsfolder/r/rottenmouth_viper.txt +++ b/forge-gui/res/cardsfolder/r/rottenmouth_viper.txt @@ -2,8 +2,8 @@ Name:Rottenmouth Viper ManaCost:5 B Types:Creature Elemental Snake PT:6/6 -A:SP$ PermanentCreature | Cost$ 5 B Sac | AILogic$ SacToReduceCost -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone$ All | Relative$ True | Description$ As an additional cost to cast this spell, you may sacrifice any number of nonland permanents. This spell costs {1} less to cast for each permanent sacrificed this way. +A:SP$ PermanentCreature | Cost$ 5 B Sac | AILogic$ SacToReduceCost | AdditionalDesc$ This spell costs {1} less to cast for each permanent sacrificed this way. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone$ All | Relative$ True SVar:X:Count$xPaid SVar:AIPreference:SacCost$Artifact.token+nonLegendary,Creature.token+powerLE2+toughnessLE2,Creature.cmcLE2+powerLE2+toughnessLE2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME enters or attacks, put a blight counter on it. Then for each blight counter on it, each opponent loses 4 life unless that player sacrifices a nonland permanent or discards a card. @@ -11,8 +11,8 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | Secondary$ Tr SVar:TrigPutCounter:DB$ PutCounter | CounterType$ BLIGHT | CounterNum$ 1 | SubAbility$ DBRepeat SVar:DBRepeat:DB$ Repeat | MaxRepeat$ Y | RepeatSubAbility$ RepeatTorment | AILogic$ MaxY | StackDescription$ Each opponent loses 4 life unless that player sacrifices a nonland permanent or discards a card. SVar:RepeatTorment:DB$ GenericChoice | Defined$ Opponent | TempRemember$ Chooser | Choices$ SacNonland,Discard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 4 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 4 life unless you discard a card -SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 4 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 4 life unless you sacrifice a nonland permanent +SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 4 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 4 life unless you discard a card. +SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 4 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 4 life unless you sacrifice a nonland permanent. SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 4 SVar:Y:Count$CardCounters.BLIGHT DeckHas:Ability$Sacrifice|Counters diff --git a/forge-gui/res/cardsfolder/r/rowan_kenrith.txt b/forge-gui/res/cardsfolder/r/rowan_kenrith.txt index d91e8854bd8..e27d04a42f1 100644 --- a/forge-gui/res/cardsfolder/r/rowan_kenrith.txt +++ b/forge-gui/res/cardsfolder/r/rowan_kenrith.txt @@ -9,7 +9,7 @@ SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | ValidCreature$ Creature SVar:RemoveEffect:Mode$ Phase | Phase$ Cleanup | ValidPlayer$ Player.IsRemembered | TriggerZones$ Command | Static$ True | Execute$ ExileEffect SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -A:AB$ DamageAll | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 3 | ValidCards$ Creature.tapped | Planeswalker$ True | ValidDescription$ each tapped creature target player controls. | SpellDescription$ CARDNAME deals 3 damage to each tapped creature target player controls +A:AB$ DamageAll | Cost$ SubCounter<2/LOYALTY> | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 3 | ValidCards$ Creature.tapped | Planeswalker$ True | ValidDescription$ each tapped creature target player controls. | SpellDescription$ CARDNAME deals 3 damage to each tapped creature target player controls. A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Player | EffectOwner$ Targeted | Name$ Emblem — Rowan Kenrith | Image$ emblem_rowan_kenrith | Triggers$ CopyAbility | Duration$ Permanent | AILogic$ Always | SpellDescription$ Target player gets an emblem with "Whenever you activate an ability that isn't a mana ability, copy it. You may choose new targets for the copy." SVar:CopyAbility:Mode$ AbilityCast | ValidActivatingPlayer$ You | ValidSA$ SpellAbility.nonManaAbility | TriggerZones$ Command | Execute$ TrigCopy | TriggerDescription$ Whenever you activate an ability that isn't a mana ability, copy it. You may choose new targets for the copy. SVar:TrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility | MayChooseTarget$ True diff --git a/forge-gui/res/cardsfolder/r/runeboggle.txt b/forge-gui/res/cardsfolder/r/runeboggle.txt index 931e6d08642..96961a6e4c5 100644 --- a/forge-gui/res/cardsfolder/r/runeboggle.txt +++ b/forge-gui/res/cardsfolder/r/runeboggle.txt @@ -1,6 +1,6 @@ Name:Runeboggle ManaCost:2 U Types:Instant -A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 1 | SubAbility$ DBDraw | SpellDescription$ Counter target spell unless its controller pays {1}. Draw a card +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 1 | SubAbility$ DBDraw | SpellDescription$ Counter target spell unless its controller pays {1}. Draw a card. SVar:DBDraw:DB$ Draw | NumCards$ 1 Oracle:Counter target spell unless its controller pays {1}.\nDraw a card. diff --git a/forge-gui/res/cardsfolder/r/ruthless_knave.txt b/forge-gui/res/cardsfolder/r/ruthless_knave.txt index 456b5e71c59..2c8eaae06d9 100644 --- a/forge-gui/res/cardsfolder/r/ruthless_knave.txt +++ b/forge-gui/res/cardsfolder/r/ruthless_knave.txt @@ -3,7 +3,7 @@ ManaCost:2 B Types:Creature Orc Pirate PT:3/2 A:AB$ Token | Cost$ 2 B Sac<1/Creature> | TokenAmount$ 2 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ Create two Treasure tokens. -A:AB$ Draw | Cost$ Sac<3/Treasure> | NumCards$ 1 | SpellDescription$ Draw a card +A:AB$ Draw | Cost$ Sac<3/Treasure> | NumCards$ 1 | SpellDescription$ Draw a card. SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | DiscardValid$ Card.IsRemembered | NumCards$ 1 | SubAbility$ DBCleanup DeckHas:Ability$Token Oracle:{2}{B}, Sacrifice a creature: Create two Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.")\nSacrifice three Treasures: Draw a card. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-alrund_god_of_the_cosmos_hakka_whispering_raven.txt b/forge-gui/res/cardsfolder/rebalanced/a-alrund_god_of_the_cosmos_hakka_whispering_raven.txt index cca6477be21..ab17f9d2ade 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-alrund_god_of_the_cosmos_hakka_whispering_raven.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-alrund_god_of_the_cosmos_hakka_whispering_raven.txt @@ -9,7 +9,7 @@ SVar:Z:SVar$X/Plus.Y T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseCardType | TriggerDescription$ At the beginning of your end step, choose a card type, then reveal the top three cards of your library. Put all cards of the chosen type revealed this way into your hand and the rest on the bottom of your library in any order. SVar:TrigChooseCardType:DB$ ChooseType | Defined$ You | Type$ Card | SubAbility$ DBDig SVar:DBDig:DB$ Dig | DigNum$ 3 | Reveal$ True | ChangeNum$ All | ChangeValid$ Card.ChosenType | DestinationZone2$ Library | LibraryPosition$ -1 -DeckHints:Ability$Foretell +DeckHints:Keyword$Foretell AI:RemoveDeck:All AlternateMode:Modal Oracle:Alrund gets +1/+1 for each card in your hand and each foretold card you own in exile.\nAt the beginning of your end step, choose a card type, then reveal the top three cards of your library. Put all cards of the chosen type revealed this way into your hand and the rest on the bottom of your library in any order. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-cobbled_lancer.txt b/forge-gui/res/cardsfolder/rebalanced/a-cobbled_lancer.txt index 07d80e779d0..ecb92edafed 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-cobbled_lancer.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-cobbled_lancer.txt @@ -2,7 +2,7 @@ Name:A-Cobbled Lancer ManaCost:U Types:Creature Zombie Horse PT:3/3 -A:SP$ PermanentCreature | Cost$ U ExileFromGrave<1/Creature/creature card> +A:SP$ PermanentCreature | Cost$ U ExileFromGrave<1/Creature> A:AB$ Draw | Cost$ 1 U ExileFromGrave<1/CARDNAME> | NumCards$ 1 | ActivationZone$ Graveyard | SpellDescription$ Draw a card. DeckHas:Ability$Graveyard Oracle:As an additional cost to cast this spell, exile a creature card from your graveyard.\n{1}{U}, Exile Cobbled Lancer from your graveyard: Draw a card. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-narfi_betrayer_king.txt b/forge-gui/res/cardsfolder/rebalanced/a-narfi_betrayer_king.txt index eec4a831930..e493bac5757 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-narfi_betrayer_king.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-narfi_betrayer_king.txt @@ -4,6 +4,6 @@ Types:Legendary Snow Creature Zombie Wizard PT:4/3 S:Mode$ Continuous | Affected$ Creature.Zombie+Other+YouCtrl,Creature.Snow+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other Snow and Zombie creatures you control get +1/+1. SVar:PlayMain1:TRUE -A:AB$ ChangeZone | Cost$ S S S | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | Tapped$ True | SpellDescription$ Return CARDNAME from your graveyard to the battlefield tapped +A:AB$ ChangeZone | Cost$ S S S | Origin$ Graveyard | Destination$ Battlefield | ActivationZone$ Graveyard | Tapped$ True | SpellDescription$ Return CARDNAME from your graveyard to the battlefield tapped. DeckHints:Type$Snow|Zombie Oracle:Other snow and Zombie creatures you control get +1/+1.\n{S}{S}{S}: Return Narfi, Betrayer King from your graveyard to the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-tome_shredder.txt b/forge-gui/res/cardsfolder/rebalanced/a-tome_shredder.txt index 22102dc727e..e4603784a6b 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-tome_shredder.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-tome_shredder.txt @@ -3,6 +3,6 @@ ManaCost:1 R Types:Creature Wolf PT:2/1 K:Haste -A:AB$ PutCounter | Cost$ T ExileFromGrave<1/Instant;Sorcery> | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Exile an instant or sorcery card from your graveyard: Put a +1/+1 counter on CARDNAME. +A:AB$ PutCounter | Cost$ T ExileFromGrave<1/Instant;Sorcery> | CostDesc$ {T}, Exile an instant or sorcery card from your graveyard: | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. DeckHas:Ability$Counters Oracle:Haste\n{T}, Exile an instant or sorcery card from your graveyard: Put a +1/+1 counter on Tome Shredder. diff --git a/forge-gui/res/cardsfolder/rebalanced/a-young_blue_dragon_sand_augury.txt b/forge-gui/res/cardsfolder/rebalanced/a-young_blue_dragon_sand_augury.txt index 8257878d0af..fccd47fa7ff 100644 --- a/forge-gui/res/cardsfolder/rebalanced/a-young_blue_dragon_sand_augury.txt +++ b/forge-gui/res/cardsfolder/rebalanced/a-young_blue_dragon_sand_augury.txt @@ -12,5 +12,5 @@ Name:A-Sand Augury ManaCost:1 U Types:Sorcery Adventure A:SP$ Scry | ScryNum$ 1 | SubAbility$ DBDraw | SpellDescription$ Scry 1, -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ then draw a card +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ then draw a card. Oracle:Scry 1, then draw a card. diff --git a/forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt b/forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt index 09387488e96..88452f0c408 100644 --- a/forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt +++ b/forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt @@ -3,6 +3,6 @@ ManaCost:5 U U Types:Creature Spirit Giant PT:5/5 K:Flying -S:Mode$ ReduceCost | ValidCard$ Card.!wasCastFromYourHand | Activator$ You | Type$ Spell | Amount$ 2 | Description$ Spells you cast from anywhere other than your hand cost {2} less to cast +S:Mode$ ReduceCost | ValidCard$ Card.!wasCastFromYourHand | Activator$ You | Type$ Spell | Amount$ 2 | Description$ Spells you cast from anywhere other than your hand cost {2} less to cast. K:Foretell:4 U Oracle:Flying\nSpells you cast from anywhere other than your hand cost {2} less to cast.\nForetell {4}{U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) diff --git a/forge-gui/res/cardsfolder/s/sanctum_of_calm_waters.txt b/forge-gui/res/cardsfolder/s/sanctum_of_calm_waters.txt index fd188e6376c..847c57bb263 100644 --- a/forge-gui/res/cardsfolder/s/sanctum_of_calm_waters.txt +++ b/forge-gui/res/cardsfolder/s/sanctum_of_calm_waters.txt @@ -1,8 +1,8 @@ Name:Sanctum of Calm Waters ManaCost:3 U Types:Legendary Enchantment Shrine -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your first main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. SVar:TrigDraw:AB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ 1 | Cost$ Draw SVar:X:Count$TypeYouCtrl.Shrine DeckHints:Type$Shrine -Oracle:At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. +Oracle:At the beginning of your first main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. diff --git a/forge-gui/res/cardsfolder/s/sanctum_of_fruitful_harvest.txt b/forge-gui/res/cardsfolder/s/sanctum_of_fruitful_harvest.txt index 70bbc09630b..f82ec062ef9 100644 --- a/forge-gui/res/cardsfolder/s/sanctum_of_fruitful_harvest.txt +++ b/forge-gui/res/cardsfolder/s/sanctum_of_fruitful_harvest.txt @@ -1,8 +1,8 @@ Name:Sanctum of Fruitful Harvest ManaCost:2 G Types:Legendary Enchantment Shrine -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your precombat main phase, add X mana of any one color, where X is the number of Shrines you control. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigMana | TriggerDescription$ At the beginning of your first main phase, add X mana of any one color, where X is the number of Shrines you control. SVar:TrigMana:DB$ Mana | Produced$ Any | Amount$ X SVar:X:Count$TypeYouCtrl.Shrine DeckHints:Type$Shrine -Oracle:At the beginning of your precombat main phase, add X mana of any one color, where X is the number of Shrines you control. +Oracle:At the beginning of your first main phase, add X mana of any one color, where X is the number of Shrines you control. diff --git a/forge-gui/res/cardsfolder/s/sanctum_of_stone_fangs.txt b/forge-gui/res/cardsfolder/s/sanctum_of_stone_fangs.txt index 3059906ded9..829eb850a6d 100644 --- a/forge-gui/res/cardsfolder/s/sanctum_of_stone_fangs.txt +++ b/forge-gui/res/cardsfolder/s/sanctum_of_stone_fangs.txt @@ -1,10 +1,10 @@ Name:Sanctum of Stone Fangs ManaCost:1 B Types:Legendary Enchantment Shrine -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ At the beginning of your precombat main phase, each opponent loses X life and you gain X life, where X is the number of Shrines you control. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ At the beginning of your first main phase, each opponent loses X life and you gain X life, where X is the number of Shrines you control. SVar:TrigDrain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ X | SubAbility$ DBGainLife SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X SVar:X:Count$TypeYouCtrl.Shrine DeckHints:Type$Shrine DeckHas:Ability$LifeGain -Oracle:At the beginning of your precombat main phase, each opponent loses X life and you gain X life, where X is the number of Shrines you control. +Oracle:At the beginning of your first main phase, each opponent loses X life and you gain X life, where X is the number of Shrines you control. diff --git a/forge-gui/res/cardsfolder/s/sand_scout.txt b/forge-gui/res/cardsfolder/s/sand_scout.txt index 0f95cb01212..a0369c3a66d 100644 --- a/forge-gui/res/cardsfolder/s/sand_scout.txt +++ b/forge-gui/res/cardsfolder/s/sand_scout.txt @@ -8,5 +8,5 @@ T:Mode$ ChangesZoneAll | ValidCards$ Land.YouOwn+nonToken | Origin$ Any | Destin SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ rgw_1_1_sand_warrior | TokenOwner$ You SVar:X:Count$Valid Land.YouCtrl SVar:Y:PlayerCountOpponents$HighestValid Land.YouCtrl -DeckHas:Ability$Graveyard|Token & Type$Sand|Warrior & Colors$Red|Green +DeckHas:Ability$Graveyard|Token & Type$Sand|Warrior & Color$Red|Green Oracle:When Sand Scout enters, if an opponent controls more lands than you, search your library for a Desert card, put it onto the battlefield tapped, then shuffle.\nWhenever one or more land cards are put into your graveyard from anywhere, create a 1/1 red, green, and white Sand Warrior creature token. This ability triggers only once each turn. diff --git a/forge-gui/res/cardsfolder/s/sanguine_soothsayer.txt b/forge-gui/res/cardsfolder/s/sanguine_soothsayer.txt index 024e0031a94..6c148133b74 100644 --- a/forge-gui/res/cardsfolder/s/sanguine_soothsayer.txt +++ b/forge-gui/res/cardsfolder/s/sanguine_soothsayer.txt @@ -9,6 +9,6 @@ SVar:TrigConjure:DB$ MakeCard | Conjure$ True | Name$ Sanguine Bond | Zone$ Libr SVar:DBAnimate:DB$ Animate | Defined$ Remembered | Triggers$ DrawTrig | staticAbilities$ FreeCast | Duration$ Perpetual | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DrawTrig:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When this creature enters, draw a card. -SVar:FreeCast:Mode$ Continuous | MayPlay$ True | MayPlayAltManaCost$ 0 | MayPlayDontGrantZonePermissions$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Hand | Description$ You may pay {0} rather than pay this spell's mana cost +SVar:FreeCast:Mode$ Continuous | MayPlay$ True | MayPlayAltManaCost$ 0 | MayPlayDontGrantZonePermissions$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Hand | Description$ You may pay {0} rather than pay this spell's mana cost. SVar:TrigDraw:DB$ Draw Oracle:Flying, lifelink\nWhenever Sanguine Soothsayer attacks, conjure a card named Sanguine Bond into the top fifteen cards of your library at random. It perpetually gains "You may pay {0} rather than pay this spell's mana cost" and "When this permanent enters, draw a card." diff --git a/forge-gui/res/cardsfolder/s/savage_thallid.txt b/forge-gui/res/cardsfolder/s/savage_thallid.txt index 6b0c0c9d3e9..f54e7b8549f 100644 --- a/forge-gui/res/cardsfolder/s/savage_thallid.txt +++ b/forge-gui/res/cardsfolder/s/savage_thallid.txt @@ -5,7 +5,7 @@ PT:5/2 T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a spore counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ SPORE | CounterNum$ 1 | SpellDescription$ Put a spore counter on CARDNAME. A:AB$ Token | Cost$ SubCounter<3/SPORE> | TokenAmount$ 1 | TokenScript$ g_1_1_saproling | TokenOwner$ You | SpellDescription$ Create a 1/1 green Saproling creature token. -A:AB$ Regenerate | Cost$ Sac<1/Saproling> | ValidTgts$ Fungus | TgtPrompt$ Select target fungus. | SpellDescription$ Regenerate target Fungus +A:AB$ Regenerate | Cost$ Sac<1/Saproling> | ValidTgts$ Fungus | TgtPrompt$ Select target Fungus. | SpellDescription$ Regenerate target Fungus. DeckHints:Type$Fungus DeckHas:Ability$Counters|Token Oracle:At the beginning of your upkeep, put a spore counter on Savage Thallid.\nRemove three spore counters from Savage Thallid: Create a 1/1 green Saproling creature token.\nSacrifice a Saproling: Regenerate target Fungus. diff --git a/forge-gui/res/cardsfolder/s/screamer_killer.txt b/forge-gui/res/cardsfolder/s/screamer_killer.txt index 267ec0c2ad2..6acc1dbd148 100644 --- a/forge-gui/res/cardsfolder/s/screamer_killer.txt +++ b/forge-gui/res/cardsfolder/s/screamer_killer.txt @@ -3,6 +3,6 @@ ManaCost:4 R Types:Creature Tyranid PT:5/5 K:Trample -T:Mode$ SpellCast | ValidCard$ Creature.cmcGE5 | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Bio-Plasmic Scream — Whenever you cast a creature spell with mana value 5 or greater, CARDNAME deals 5 damage to any target +T:Mode$ SpellCast | ValidCard$ Creature.cmcGE5 | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Bio-Plasmic Scream — Whenever you cast a creature spell with mana value 5 or greater, CARDNAME deals 5 damage to any target. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | TgtPrompt$ Select any target to deal 5 damage to | NumDmg$ 5 Oracle:Trample\nBio-Plasmic Scream — Whenever you cast a creature spell with mana value 5 or greater, Screamer-Killer deals 5 damage to any target. diff --git a/forge-gui/res/cardsfolder/s/sehts_tiger.txt b/forge-gui/res/cardsfolder/s/sehts_tiger.txt index 2576213e7a2..9259c220e9a 100644 --- a/forge-gui/res/cardsfolder/s/sehts_tiger.txt +++ b/forge-gui/res/cardsfolder/s/sehts_tiger.txt @@ -3,7 +3,7 @@ ManaCost:2 W W Types:Creature Cat PT:3/3 K:Flash -T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME enters, you gain protection from the color of your choice until end of turn +T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ When CARDNAME enters, you gain protection from the color of your choice until end of turn. SVar:TrigChoose:DB$ ChooseColor | Defined$ You | AILogic$ MostProminentAttackers | SubAbility$ SehtsProtection SVar:SehtsProtection:DB$ ProtectionAll | ValidPlayers$ You | Gains$ ChosenColor Oracle:Flash (You may cast this spell any time you could cast an instant.)\nWhen Seht's Tiger enters, you gain protection from the color of your choice until end of turn. (You can't be targeted, dealt damage, or enchanted by anything of the chosen color.) diff --git a/forge-gui/res/cardsfolder/s/shadow_of_the_second_sun.txt b/forge-gui/res/cardsfolder/s/shadow_of_the_second_sun.txt index 7a2b74767d1..cbf803b2f02 100644 --- a/forge-gui/res/cardsfolder/s/shadow_of_the_second_sun.txt +++ b/forge-gui/res/cardsfolder/s/shadow_of_the_second_sun.txt @@ -3,7 +3,7 @@ ManaCost:4 U U Types:Enchantment Aura K:Enchant player A:SP$ Attach | ValidTgts$ Player -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigAddPhase | TriggerDescription$ At the beginning of enchanted player's postcombat main phase, there is an additional beginning phase after this phase. (The end step happens after the added untap, upkeep, and draw steps.) +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigAddPhase | TriggerDescription$ At the beginning of each of enchanted player's postcombat main phases, there is an additional beginning phase after this phase. (The end step happens after the added untap, upkeep, and draw steps.) SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ Beginning AI:RemoveDeck:Random -Oracle:Enchant player\nAt the beginning of enchanted player's postcombat main phase, there is an additional beginning phase after this phase. (The end step happens after the added untap, upkeep, and draw steps.) +Oracle:Enchant player\nAt the beginning of each of enchanted player's postcombat main phases, there is an additional beginning phase after this phase. (The end step happens after the added untap, upkeep, and draw steps.) diff --git a/forge-gui/res/cardsfolder/s/shared_trauma.txt b/forge-gui/res/cardsfolder/s/shared_trauma.txt index 61bae722178..f4b92d126e5 100644 --- a/forge-gui/res/cardsfolder/s/shared_trauma.txt +++ b/forge-gui/res/cardsfolder/s/shared_trauma.txt @@ -1,7 +1,7 @@ Name:Shared Trauma ManaCost:B Types:Sorcery -A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBMill | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player mills X cards, where X is the total amount of mana paid this way. +A:SP$ RepeatEach | RepeatPlayers$ Player | StartingWith$ You | RepeatSubAbility$ DBPay | SubAbility$ DBMill | StackDescription$ SpellDescription | SpellDescription$ Join forces — Starting with you, each player may pay any amount of mana. Each player mills X cards, where X is the total amount of mana paid this way. SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ amount of mana to pay | SubAbility$ DBStore SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.Y | UnlessCost$ Y | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn SVar:DBMill:DB$ Mill | Defined$ Player | NumCards$ JoinForcesAmount | SubAbility$ DBReset | StackDescription$ None diff --git a/forge-gui/res/cardsfolder/s/shattergang_brothers.txt b/forge-gui/res/cardsfolder/s/shattergang_brothers.txt index e649980129c..c67cf8e7754 100644 --- a/forge-gui/res/cardsfolder/s/shattergang_brothers.txt +++ b/forge-gui/res/cardsfolder/s/shattergang_brothers.txt @@ -4,5 +4,5 @@ Types:Legendary Creature Goblin Artificer PT:3/3 A:AB$ Sacrifice | Cost$ 2 B Sac<1/Creature> | Defined$ Player.Other | SacValid$ Creature | SpellDescription$ Each other player sacrifices a creature. A:AB$ Sacrifice | Cost$ 2 R Sac<1/Artifact> | Defined$ Player.Other | SacValid$ Artifact | SpellDescription$ Each other player sacrifices an artifact. -A:AB$ Sacrifice | Cost$ 2 G Sac<1/Enchantment> | Defined$ Player.Other | SacValid$ Enchantment | SpellDescription$ Each other player sacrifices an enchantment +A:AB$ Sacrifice | Cost$ 2 G Sac<1/Enchantment> | Defined$ Player.Other | SacValid$ Enchantment | SpellDescription$ Each other player sacrifices an enchantment. Oracle:{2}{B}, Sacrifice a creature: Each other player sacrifices a creature.\n{2}{R}, Sacrifice an artifact: Each other player sacrifices an artifact.\n{2}{G}, Sacrifice an enchantment: Each other player sacrifices an enchantment. diff --git a/forge-gui/res/cardsfolder/s/shellfish_scholar.txt b/forge-gui/res/cardsfolder/s/shellfish_scholar.txt index f2ce33cdad3..95fa394904b 100644 --- a/forge-gui/res/cardsfolder/s/shellfish_scholar.txt +++ b/forge-gui/res/cardsfolder/s/shellfish_scholar.txt @@ -2,7 +2,7 @@ Name:Shellfish Scholar ManaCost:2 U Types:Creature Rat Wizard PT:3/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Rat.Other+YouCtrl | Execute$ TrigConjure | TriggerDescription$ Whenever CARDNAME or another Rat you control enters, conjure a card named Think Twice into your graveyard +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Rat.Other+YouCtrl | Execute$ TrigConjure | TriggerDescription$ Whenever CARDNAME or another Rat you control enters, conjure a card named Think Twice into your graveyard. SVar:TrigConjure:DB$ MakeCard | Conjure$ True | Name$ Think Twice | Zone$ Graveyard | Amount$ 1 A:AB$ Effect | Cost$ T | StaticAbilities$ StaticReduce | Activation$ Threshold | PrecostDesc$ Threshold — | SpellDescription$ Spells you cast from your graveyard this turn cost {2} less to cast. Activate only if seven or more cards are in your graveyard. SVar:StaticReduce:Mode$ ReduceCost | ValidCard$ Card.wasCastFromYourGraveyard | Type$ Spell | Activator$ You | Amount$ 2 | Description$ Spells you cast from your graveyard this turn cost {2} less to cast. diff --git a/forge-gui/res/cardsfolder/s/shichifukujin_dragon.txt b/forge-gui/res/cardsfolder/s/shichifukujin_dragon.txt index 9c54eff58b6..54de225f80a 100644 --- a/forge-gui/res/cardsfolder/s/shichifukujin_dragon.txt +++ b/forge-gui/res/cardsfolder/s/shichifukujin_dragon.txt @@ -2,8 +2,9 @@ Name:Shichifukujin Dragon ManaCost:6 R R R Types:Creature Dragon PT:0/0 +# EDH Silver unofficial errata found at https://edhsilver.com/cards/uc/occ/shichifukujin-dragon/ K:etbCounter:P1P1:7 -A:AB$ DelayedTrigger | Cost$ R R R SubCounter<2/P1P1> | SorcerySpeed$ True | Mode$ Phase | Phase$ End of Turn | Execute$ TrigPutCounter | TriggerDescription$ Put a +1/+1 counter on CARDNAME. | SpellDescription$ Put three +1/+1 counters on CARDNAME at end of turn. Play this ability as a sorcery. +A:AB$ DelayedTrigger | Cost$ R R R SubCounter<2/P1P1> | SorcerySpeed$ True | Mode$ Phase | Phase$ End of Turn | Execute$ TrigPutCounter | TriggerDescription$ Put three +1/+1 counters on CARDNAME. | StackDescription$ REP Put_{p:You} puts & . Activate only as a sorcery._. | SpellDescription$ Put three +1/+1 counters on CARDNAME at the beginning of the next end step. Activate only as a sorcery. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 3 DeckHas:Ability$Counters Oracle:When Shichifukujin Dragon comes into play, put seven +1/+1 counters on it.\n{R}{R}{R}, Sacrifice two +1/+1 counters: Put three +1/+1 counters on Shichifukujin Dragon at end of turn. Play this ability as a sorcery. diff --git a/forge-gui/res/cardsfolder/s/shocker.txt b/forge-gui/res/cardsfolder/s/shocker.txt index 52cb12d8d13..4ab0c6d524f 100644 --- a/forge-gui/res/cardsfolder/s/shocker.txt +++ b/forge-gui/res/cardsfolder/s/shocker.txt @@ -3,8 +3,8 @@ ManaCost:1 R Types:Creature Insect PT:1/1 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscard | TriggerDescription$ Whenever CARDNAME deals damage to a player, that player discards all the cards in their hand, then draws that many cards. -SVar:TrigDiscard:DB$ Discard | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard hand -SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ Draw that many cards +SVar:TrigDiscard:DB$ Discard | Defined$ TriggeredTarget | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ Discard your hand, +SVar:DBDraw:DB$ Draw | NumCards$ X | Defined$ TriggeredTarget | SubAbility$ DBCleanup | SpellDescription$ then draw that many cards. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount Oracle:Whenever Shocker deals damage to a player, that player discards all the cards in their hand, then draws that many cards. diff --git a/forge-gui/res/cardsfolder/s/shuriken.txt b/forge-gui/res/cardsfolder/s/shuriken.txt index 323bed1edc3..6ee57e1db27 100644 --- a/forge-gui/res/cardsfolder/s/shuriken.txt +++ b/forge-gui/res/cardsfolder/s/shuriken.txt @@ -3,7 +3,7 @@ ManaCost:1 Types:Artifact Equipment K:Equip:2 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddAbility$ ShurikenDamage | AddSVar$ ShurikenGainCtrl & ShurikenForget | Description$ Equipped creature has "{T}, Unattach CARDNAME: CARDNAME deals 2 damage to target creature. That creature's controller gains control of CARDNAME unless it was unattached from a Ninja." -SVar:ShurikenDamage:AB$ DealDamage | Cost$ T Unattach | NumDmg$ 2 | DamageSource$ OriginalHost | ValidTgts$ Creature | SubAbility$ ShurikenGainCtrl | SpellDescription$ ORIGINALHOST deals 2 damage to target creature. That creature's controller gains control of ORIGINALHOST unless it was unattached from a Ninja +SVar:ShurikenDamage:AB$ DealDamage | Cost$ T Unattach | NumDmg$ 2 | DamageSource$ OriginalHost | ValidTgts$ Creature | SubAbility$ ShurikenGainCtrl | SpellDescription$ ORIGINALHOST deals 2 damage to target creature. That creature's controller gains control of ORIGINALHOST unless it was unattached from a Ninja. SVar:ShurikenGainCtrl:DB$ GainControl | NewController$ TargetedController | Defined$ OriginalHost | ConditionDefined$ Self | ConditionPresent$ Ninja | ConditionCompare$ EQ0 AI:RemoveDeck:Random SVar:NonStackingAttachEffect:True diff --git a/forge-gui/res/cardsfolder/s/silvergill_douser.txt b/forge-gui/res/cardsfolder/s/silvergill_douser.txt index 33ec55cd3ff..921b704e137 100644 --- a/forge-gui/res/cardsfolder/s/silvergill_douser.txt +++ b/forge-gui/res/cardsfolder/s/silvergill_douser.txt @@ -2,7 +2,7 @@ Name:Silvergill Douser ManaCost:1 U Types:Creature Merfolk Wizard PT:1/1 -A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control +A:AB$ Pump | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | NumAtt$ -X | SpellDescription$ Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control. SVar:X:Count$Valid Merfolk.YouCtrl,Faerie.YouCtrl DeckHints:Type$Merfolk|Faerie Oracle:{T}: Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control. diff --git a/forge-gui/res/cardsfolder/s/simic_slaw.txt b/forge-gui/res/cardsfolder/s/simic_slaw.txt index 230397f37d0..600fee7c2a7 100644 --- a/forge-gui/res/cardsfolder/s/simic_slaw.txt +++ b/forge-gui/res/cardsfolder/s/simic_slaw.txt @@ -7,4 +7,4 @@ A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME> | NumCards$ X | SubAbility$ DBLife | SpellD SVar:DBLife:DB$ GainLife | LifeAmount$ X SVar:X:Count$CardCounters.CHARGE DeckHas:Ability$LifeGain|Sacrifice|Counters -Oracle:Whenever one or more creatures die, put a charge counter on Simic Slaw.\n{2}, Sacrifice Simic Slaw: Draw X cards and gain X life, where X is the number of charge counters on Simic Slaw. +Oracle:Whenever one or more creatures die, put a charge counter on Simic Slaw.\n{2}, Sacrifice Simic Slaw: Draw X cards and gain X life, where X is the number of charge counters on Simic Slaw. diff --git a/forge-gui/res/cardsfolder/s/simon_wild_magic_sorcerer.txt b/forge-gui/res/cardsfolder/s/simon_wild_magic_sorcerer.txt index c482e2a578f..546ccac00a9 100644 --- a/forge-gui/res/cardsfolder/s/simon_wild_magic_sorcerer.txt +++ b/forge-gui/res/cardsfolder/s/simon_wild_magic_sorcerer.txt @@ -2,7 +2,7 @@ Name:Simon, Wild Magic Sorcerer ManaCost:2 U Types:Legendary Creature Human Elf Shaman PT:1/1 -T:Mode$ SpellCast | ValidCard$ Instant.cmcGE3,Sorcery.cmcGE3 | ValidActivatingPlayer$ You | Execute$ TrigRollDice | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an instant or sorcery spell with mana value 3 or greater, roll a d20 +T:Mode$ SpellCast | ValidCard$ Instant.cmcGE3,Sorcery.cmcGE3 | ValidActivatingPlayer$ You | Execute$ TrigRollDice | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an instant or sorcery spell with mana value 3 or greater, roll a d20. SVar:TrigRollDice:DB$ RollDice | Sides$ 20 | ResultSubAbilities$ 1-9:EachDraw,10-19:YouDraw,20:Copy | SpellDescription$ Roll a d20. SVar:EachDraw:DB$ Draw | Defined$ Player | SpellDescription$ 1—9 VERT Each player draws a card. SVar:YouDraw:DB$ Draw | SpellDescription$ 10—19 VERT You draw a card. diff --git a/forge-gui/res/cardsfolder/s/sirens_call.txt b/forge-gui/res/cardsfolder/s/sirens_call.txt index 8bac361fa49..977a0a16192 100644 --- a/forge-gui/res/cardsfolder/s/sirens_call.txt +++ b/forge-gui/res/cardsfolder/s/sirens_call.txt @@ -4,7 +4,7 @@ Types:Instant A:SP$ Effect | StaticAbilities$ MustAttack | ActivationPhases$ Upkeep->BeginCombat | ActivationFirstCombat$ True | OpponentTurn$ True | SpellDescription$ Cast this spell only during an opponent's turn, before attackers are declared. Creatures the active player controls attack this turn if able. At the beginning of the next end step, destroy all non-Wall creatures that player controls that didn't attack this turn. Ignore this effect for each creature the player didn't control continuously since the beginning of the turn. | SubAbility$ DestroyPacifist SVar:MustAttack:Mode$ MustAttack | EffectZone$ Command | AffectedZone$ Battlefield | ValidCreature$ Creature.ActivePlayerCtrl | Description$ Creatures the active player controls attack this turn if able. SVar:DestroyPacifist:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy | TriggerDescription$ At the beginning of the next end step, destroy all non-Wall creatures that player controls that didn't attack this turn. -SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.ActivePlayerCtrl+notAttackedThisTurn+nonWall+notFirstTurnControlled | SubAbility$ DBCleanup +SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.ActivePlayerCtrl+notAttackedThisTurn+nonWall+!firstTurnControlled | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All AI:RemoveDeck:Random diff --git a/forge-gui/res/cardsfolder/s/skeletonize.txt b/forge-gui/res/cardsfolder/s/skeletonize.txt index 8eaea1cd1e1..f06c342f74a 100644 --- a/forge-gui/res/cardsfolder/s/skeletonize.txt +++ b/forge-gui/res/cardsfolder/s/skeletonize.txt @@ -2,7 +2,8 @@ Name:Skeletonize ManaCost:4 R Types:Instant A:SP$ DealDamage | NumDmg$ 3 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDamaged$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 3 damage to target creature. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Remembered | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigToken | SpellDescription$ When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Remembered | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigToken | SubAbility$ DBCleanup | SpellDescription$ When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." SVar:TrigToken:DB$ Token | TokenScript$ b_1_1_skeleton_regenerate +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token Oracle:Skeletonize deals 3 damage to target creature. When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." diff --git a/forge-gui/res/cardsfolder/s/smash_to_dust.txt b/forge-gui/res/cardsfolder/s/smash_to_dust.txt index 532051b82c8..7798afe9cdc 100644 --- a/forge-gui/res/cardsfolder/s/smash_to_dust.txt +++ b/forge-gui/res/cardsfolder/s/smash_to_dust.txt @@ -2,7 +2,7 @@ Name:Smash to Dust ManaCost:1 R Types:Sorcery A:SP$ Charm | Choices$ DBDestroyArtifact,DBDestroyDefender,DBDamage -SVar:DBDestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | SpellDescription$ Destroy target artifact +SVar:DBDestroyArtifact:DB$ Destroy | ValidTgts$ Artifact | SpellDescription$ Destroy target artifact. SVar:DBDestroyDefender:DB$ Destroy | ValidTgts$ Creature.withDefender | TgtPrompt$ Select target creature with defender. | SpellDescription$ Destroy target creature with defender. SVar:DBDamage:DB$ DamageAll | NumDmg$ 1 | ValidCards$ Creature.OppCtrl | ValidDescription$ each creature your opponents control. | SpellDescription$ CARDNAME deals 1 damage to each creature your opponents control. Oracle:Choose one —\n• Destroy target artifact.\n• Destroy target creature with defender.\n• Smash to Dust deals 1 damage to each creature your opponents control. diff --git a/forge-gui/res/cardsfolder/s/smokestack.txt b/forge-gui/res/cardsfolder/s/smokestack.txt index 4b4788a4449..bdd13307e89 100644 --- a/forge-gui/res/cardsfolder/s/smokestack.txt +++ b/forge-gui/res/cardsfolder/s/smokestack.txt @@ -1,7 +1,7 @@ Name:Smokestack ManaCost:4 Types:Artifact -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSacrifice | TriggerDescription$ At the beginning of each player's upkeep, that player sacrifices a permanent for each soot counter on CARDNAME +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigSacrifice | TriggerDescription$ At the beginning of each player's upkeep, that player sacrifices a permanent for each soot counter on CARDNAME. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a soot counter on CARDNAME. SVar:TrigSacrifice:DB$ Sacrifice | Defined$ TriggeredPlayer | Amount$ X | SacValid$ Permanent | SacMessage$ Permanent SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ SOOT | CounterNum$ 1 diff --git a/forge-gui/res/cardsfolder/s/snakeskin_veil.txt b/forge-gui/res/cardsfolder/s/snakeskin_veil.txt index 4c31fb3d03c..3e7c6c486fd 100644 --- a/forge-gui/res/cardsfolder/s/snakeskin_veil.txt +++ b/forge-gui/res/cardsfolder/s/snakeskin_veil.txt @@ -1,7 +1,7 @@ Name:Snakeskin Veil ManaCost:G Types:Instant -A:SP$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump | SpellDescription$ Put a +1/+1 counter on target creature you control. +A:SP$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump | SpellDescription$ Put a +1/+1 counter on target creature you control. It gains hexproof until end of turn. SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Hexproof DeckHas:Ability$Counters Oracle:Put a +1/+1 counter on target creature you control. It gains hexproof until end of turn. diff --git a/forge-gui/res/cardsfolder/s/sorin_of_house_markov_sorin_ravenous_neonate.txt b/forge-gui/res/cardsfolder/s/sorin_of_house_markov_sorin_ravenous_neonate.txt index 46233e4aae7..a6a06f13e20 100644 --- a/forge-gui/res/cardsfolder/s/sorin_of_house_markov_sorin_ravenous_neonate.txt +++ b/forge-gui/res/cardsfolder/s/sorin_of_house_markov_sorin_ravenous_neonate.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Noble PT:1/4 K:Lifelink K:Extort -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ LifeGained | SVarCompare$ GE3 | Execute$ TrigTransform | TriggerDescription$ At the beginning of your postcombat main phase, if you gained 3 or more life this turn, exile CARDNAME, then return him to the battlefield transformed under his owner's control. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ LifeGained | SVarCompare$ GE3 | Execute$ TrigTransform | TriggerDescription$ At the beginning of each of your postcombat main phases, if you gained 3 or more life this turn, exile CARDNAME, then return him to the battlefield transformed under his owner's control. SVar:TrigTransform:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Transformed$ True | ForgetOtherRemembered$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True @@ -12,7 +12,7 @@ AlternateMode:DoubleFaced SVar:LifeGained:Count$LifeYouGainedThisTurn DeckHints:Ability$LifeGain DeckHas:Ability$LifeGain -Oracle:Lifelink\nExtort (Whenever you cast a spell, you may pay {W/B}. If you do, each opponent loses 1 life and you gain that much life.)\nAt the beginning of your postcombat main phase, if you gained 3 or more life this turn, exile Sorin of House Markov, then return him to the battlefield transformed under his owner's control. +Oracle:Lifelink\nExtort (Whenever you cast a spell, you may pay {W/B}. If you do, each opponent loses 1 life and you gain that much life.)\nAt the beginning of each of your postcombat main phases, if you gained 3 or more life this turn, exile Sorin of House Markov, then return him to the battlefield transformed under his owner's control. ALTERNATE diff --git a/forge-gui/res/cardsfolder/s/soul_swallower.txt b/forge-gui/res/cardsfolder/s/soul_swallower.txt index b8c05f71cae..192cdcc726f 100644 --- a/forge-gui/res/cardsfolder/s/soul_swallower.txt +++ b/forge-gui/res/cardsfolder/s/soul_swallower.txt @@ -3,7 +3,7 @@ ManaCost:2 G G Types:Creature Wurm PT:3/3 K:Trample -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Delirium$ True | Execute$ DBPutCounter | TriggerDescription$ Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, put three +1/+1 counters on CARDNAME +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Delirium$ True | Execute$ DBPutCounter | TriggerDescription$ Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, put three +1/+1 counters on CARDNAME. SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 3 DeckHints:Ability$Graveyard|Discard DeckHas:Ability$Delirium diff --git a/forge-gui/res/cardsfolder/s/sovereigns_realm.txt b/forge-gui/res/cardsfolder/s/sovereigns_realm.txt index 91bc342c1dc..4a17f7cf88d 100644 --- a/forge-gui/res/cardsfolder/s/sovereigns_realm.txt +++ b/forge-gui/res/cardsfolder/s/sovereigns_realm.txt @@ -4,7 +4,7 @@ Types:Conspiracy Text:(Start the game with this conspiracy face up in the command zone.) K:Your deck can't have basic land cards. K:Your starting hand size is five. -A:AB$ Effect | Cost$ ExileFromHand<1/Card> | SpellDescription$ Exile a card from your hand: This turn, you may play basic lands from outside the game. +A:AB$ Effect | Cost$ ExileFromHand<1/Card> | CostDesc$ Exile a card from your hand: | SpellDescription$ This turn, you may play basic lands from outside the game. S:Mode$ Continuous | Affected$ Land.Basic+YouCtrl | AddAbility$ AnyMana | Description$ Basic lands you control have "{T}: Add one mana of any color." SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color. Oracle:(Start the game with this conspiracy face up in the command zone.)\nYour starting deck can't have basic land cards and your starting hand size is five.\nExile a card from your hand: This turn, you may play basic lands from outside the game.\nBasic lands you control have "{T}: Add one mana of any color." diff --git a/forge-gui/res/cardsfolder/s/sparkshaper_visionary.txt b/forge-gui/res/cardsfolder/s/sparkshaper_visionary.txt index a1a68e8c020..6ea7050750a 100644 --- a/forge-gui/res/cardsfolder/s/sparkshaper_visionary.txt +++ b/forge-gui/res/cardsfolder/s/sparkshaper_visionary.txt @@ -5,7 +5,7 @@ PT:0/5 T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of combat on your turn, choose any number of target planeswalkers you control. Until end of turn, they become 3/3 blue Bird creatures with flying, hexproof, and "Whenever this creature deals combat damage to a player, scry 1." (They're no longer planeswalkers. Loyalty abilities can still be activated.) SVar:TrigChoose:DB$ ChooseCard | Choices$ Planeswalker.YouCtrl | Amount$ X | ChoiceTitle$ Choose any number of Planeswalkers you control | SubAbility$ DBAnimate SVar:DBAnimate:DB$ Animate | Defined$ ChosenCard | Power$ 3 | Toughness$ 3 | Triggers$ AttackTrigger | RemoveCardTypes$ True | Types$ Creature,Bird | Keywords$ Flying & Hexproof | Colors$ Blue | OverwriteColors$ True | SubAbility$ DBCleanup -SVar:AttackTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigScry | TriggerDescription$ Whenever this creature deals combat damage to a player, scry 1 +SVar:AttackTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigScry | TriggerDescription$ Whenever this creature deals combat damage to a player, scry 1. SVar:TrigScry:DB$ Scry | ScryNum$ 1 SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True SVar:X:Count$Valid Planeswalker.YouCtrl diff --git a/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt b/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt index e7cb56191eb..9d8c6b948f2 100644 --- a/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt +++ b/forge-gui/res/cardsfolder/s/sphinx_of_the_second_sun.txt @@ -3,7 +3,7 @@ ManaCost:6 U U Types:Creature Sphinx PT:6/6 K:Flying -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddPhase | TriggerDescription$ At the beginning of your postcombat main phase, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAddPhase | TriggerDescription$ At the beginning of each of your postcombat main phases, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) SVar:TrigAddPhase:DB$ AddPhase | ExtraPhase$ Beginning SVar:PlayMain1:TRUE -Oracle:Flying\nAt the beginning of your postcombat main phase, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) +Oracle:Flying\nAt the beginning of each of your postcombat main phases, there is an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) diff --git a/forge-gui/res/cardsfolder/s/spiteful_hexmage.txt b/forge-gui/res/cardsfolder/s/spiteful_hexmage.txt index ff4a1494915..f33b84a0568 100644 --- a/forge-gui/res/cardsfolder/s/spiteful_hexmage.txt +++ b/forge-gui/res/cardsfolder/s/spiteful_hexmage.txt @@ -2,7 +2,7 @@ Name:Spiteful Hexmage ManaCost:B Types:Creature Human Warlock PT:3/2 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a Cursed Role token attached to target creature you control. (if you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1) +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a Cursed Role token attached to target creature you control. (If you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1.) SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ role_cursed | TokenOwner$ You | AttachedTo$ Targeted | ValidTgts$ Creature.YouCtrl | AILogic$ Curse | TgtPrompt$ Select target creature you control DeckHas:Ability$Token & Type$Role|Aura -Oracle:When Spiteful Hexmage enters, create a Cursed Role token attached to target creature you control. (if you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1) +Oracle:When Spiteful Hexmage enters, create a Cursed Role token attached to target creature you control. (If you control another Role on it, put that one into the graveyard. Enchanted creature is 1/1.) diff --git a/forge-gui/res/cardsfolder/s/squees_revenge.txt b/forge-gui/res/cardsfolder/s/squees_revenge.txt index 2d8edb248c0..35f3bf4d2b1 100644 --- a/forge-gui/res/cardsfolder/s/squees_revenge.txt +++ b/forge-gui/res/cardsfolder/s/squees_revenge.txt @@ -2,13 +2,13 @@ Name:Squee's Revenge ManaCost:1 U R Types:Sorcery A:SP$ ChooseNumber | SubAbility$ RepeatFlip | SpellDescription$ Choose a number. Flip a coin that many times or until you lose a flip, whichever comes first. If you win all the flips, draw two cards for each flip. -# Repeat Flip +# Repeat flip SVar:RepeatFlip:DB$ Repeat | RepeatSubAbility$ FlipAgain | ConditionCheckSVar$ TimesToFlip | ConditionSVarCompare$ GT0 | RepeatCheckSVar$ FlipsDone | RepeatSVarCompare$ LTTimesToFlip | SubAbility$ DrawIfWin SVar:FlipAgain:DB$ FlipACoin | WinSubAbility$ IncrementFlips | LoseSubAbility$ IncrementLoss SVar:IncrementFlips:DB$ StoreSVar | SVar$ FlipsDone | Type$ CountSVar | Expression$ FlipsDone/Plus.1 SVar:IncrementLoss:DB$ StoreSVar | SVar$ Loss | Type$ CountSVar | Expression$ Loss/Plus.1 | SubAbility$ SetFilpsDone SVar:SetFilpsDone:DB$ StoreSVar | SVar$ FlipsDone | Type$ CountSVar | Expression$ TimesToFlip -# Draw Cards +# Draw cards SVar:DrawIfWin:DB$ Draw | Defined$ You | NumCards$ CardsToDraw | ConditionCheckSVar$ Loss | ConditionSVarCompare$ EQ0 SVar:TimesToFlip:Count$ChosenNumber SVar:FlipsDone:Number$0 diff --git a/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt b/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt index 4e7ca70ea90..895e858b46d 100644 --- a/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt +++ b/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt @@ -3,5 +3,5 @@ ManaCost:3 W Types:Creature Angel Warrior PT:3/2 K:Flying -S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 W ExileFromGrave<1/Creature> | Description$ You may pay {1}{W} and exile a creature card from your graveyard rather than pay CARDNAME's mana cost +S:Mode$ AlternativeCost | ValidSA$ Spell.Self | EffectZone$ All | Cost$ 1 W ExileFromGrave<1/Creature> | Description$ You may pay {1}{W} and exile a creature card from your graveyard rather than pay CARDNAME's mana cost. Oracle:You may pay {1}{W} and exile a creature card from your graveyard rather than pay this spell's mana cost.\nFlying diff --git a/forge-gui/res/cardsfolder/s/starscape_cleric.txt b/forge-gui/res/cardsfolder/s/starscape_cleric.txt index e1edee16809..46d7a0c1e59 100644 --- a/forge-gui/res/cardsfolder/s/starscape_cleric.txt +++ b/forge-gui/res/cardsfolder/s/starscape_cleric.txt @@ -7,5 +7,5 @@ K:Flying K:CARDNAME can't block. T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ Whenever you gain life, each opponent loses 1 life. SVar:TrigDrain:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 -DeckHints:Ability$Lifegain +DeckHints:Ability$LifeGain Oracle:Offspring {2}{B} (You may pay an additional {2}{B} as you cast this spell. If you do, when this creature enters, create a 1/1 token copy of it.)\nFlying\nThis creature can't block.\nWhenever you gain life, each opponent loses 1 life. diff --git a/forge-gui/res/cardsfolder/s/starseer_mentor.txt b/forge-gui/res/cardsfolder/s/starseer_mentor.txt index 01419c4fad1..db80d37872e 100644 --- a/forge-gui/res/cardsfolder/s/starseer_mentor.txt +++ b/forge-gui/res/cardsfolder/s/starseer_mentor.txt @@ -6,8 +6,8 @@ K:Flying K:Vigilance T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigGenericChoice | TriggerDescription$ At the beginning of your end step, if you gained or lost life this turn, target opponent loses 3 life unless they sacrifice a nonland permanent or discard a card. SVar:TrigGenericChoice:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ PaySac,PayDiscard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card. # TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 3 SVar:X:Count$LifeYouGainedThisTurn/Plus.Y diff --git a/forge-gui/res/cardsfolder/s/static_prison.txt b/forge-gui/res/cardsfolder/s/static_prison.txt index c97dab3a524..d906434dc0d 100644 --- a/forge-gui/res/cardsfolder/s/static_prison.txt +++ b/forge-gui/res/cardsfolder/s/static_prison.txt @@ -4,8 +4,8 @@ Types:Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. You get {E}{E} (two energy counters). SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | SubAbility$ DBEnergy | TgtPrompt$ Select target nonland permanent an opponent controls | Duration$ UntilHostLeavesPlay SVar:DBEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2 -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your precombat main phase, sacrifice CARDNAME unless you pay {E}. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your first main phase, sacrifice CARDNAME unless you pay {E}. SVar:TrigSac:DB$ Sacrifice | UnlessCost$ PayEnergy<1> | UnlessPayer$ You SVar:PlayMain1:TRUE SVar:OblivionRing:TRUE -Oracle:When Static Prison enters, exile target nonland permanent an opponent controls until Static Prison leaves the battlefield. You get {E}{E} (two energy counters).\nAt the beginning of your precombat main phase, sacrifice Static Prison unless you pay {E}. +Oracle:When Static Prison enters, exile target nonland permanent an opponent controls until Static Prison leaves the battlefield. You get {E}{E} (two energy counters).\nAt the beginning of your first main phase, sacrifice Static Prison unless you pay {E}. diff --git a/forge-gui/res/cardsfolder/s/stew_the_coneys.txt b/forge-gui/res/cardsfolder/s/stew_the_coneys.txt index e1ef903758f..ee52dbe7c43 100644 --- a/forge-gui/res/cardsfolder/s/stew_the_coneys.txt +++ b/forge-gui/res/cardsfolder/s/stew_the_coneys.txt @@ -1,7 +1,7 @@ Name:Stew the Coneys ManaCost:2 G Types:Instant -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control. SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you don't control | NumDmg$ X | DamageSource$ ParentTarget | SubAbility$ DBFood SVar:DBFood:DB$ Token | TokenScript$ c_a_food_sac | SpellDescription$ Create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") SVar:X:ParentTargeted$CardPower diff --git a/forge-gui/res/cardsfolder/s/stormkeld_curator_giant_secrets.txt b/forge-gui/res/cardsfolder/s/stormkeld_curator_giant_secrets.txt index 7900d6b9175..feee655223b 100644 --- a/forge-gui/res/cardsfolder/s/stormkeld_curator_giant_secrets.txt +++ b/forge-gui/res/cardsfolder/s/stormkeld_curator_giant_secrets.txt @@ -3,8 +3,8 @@ ManaCost:4 W W Types:Creature Giant PT:6/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigAurify | TriggerDescription$ When CARDNAME enters, you may put any number of Aura cards from your graveyard and/or hand onto the battlefield attached to it. -SVar:TrigAurify:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Battlefield | ChangeType$ Aura.CanEnchantSource+YouOwn | AttachedTo$ Self | ChangeNum$ Count | Optional$ True | Hidden$ True -SVar:Count:Count$ValidHand,Graveyard Aura.CanEnchantSource+YouOwn +SVar:TrigAurify:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Battlefield | ChangeType$ Aura.CanEnchantSource+YouOwn | AttachedTo$ Self | ChangeNum$ CountAuras | Optional$ True | Hidden$ True +SVar:CountAuras:Count$ValidHand,Graveyard Aura.CanEnchantSource+YouOwn DeckHints:Type$Aura DeckHas:Type$Aura|Enchantment & Ability$Graveyard AlternateMode:Adventure diff --git a/forge-gui/res/cardsfolder/s/strixhaven.txt b/forge-gui/res/cardsfolder/s/strixhaven.txt index 8f8b5664322..ecd6df70ec7 100644 --- a/forge-gui/res/cardsfolder/s/strixhaven.txt +++ b/forge-gui/res/cardsfolder/s/strixhaven.txt @@ -2,7 +2,7 @@ Name:Strixhaven ManaCost:no cost Types:Plane Arcavios S:Mode$ Continuous | AddKeyword$ Demonstrate | EffectZone$ Command | Affected$ Instant,Sorcery | AffectedZone$ Stack | Description$ Instant and sorcery spells players cast have demonstrate. (Whenever a player casts an instant or sorcery spell, they may copy it. If they do, they choose an opponent to also copy it. Players may choose new targets for their copies.) -T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, return up to one target instant or sorcery card from a graveyard to its owner's hand +T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, return up to one target instant or sorcery card from a graveyard to its owner's hand. SVar:RolledChaos:DB$ ChangeZone | Origin$ Graveyard | TargetMin$ 0 | TargetMax$ 1 | Destination$ Hand | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select up to target instant or sorcery spell from any graveyard DeckHas:Ability$Graveyard DeckHints:Type$Instant|Sorcery diff --git a/forge-gui/res/cardsfolder/s/stump_stomp_burnwillow_clearing.txt b/forge-gui/res/cardsfolder/s/stump_stomp_burnwillow_clearing.txt index 222db02dde8..762958a584e 100644 --- a/forge-gui/res/cardsfolder/s/stump_stomp_burnwillow_clearing.txt +++ b/forge-gui/res/cardsfolder/s/stump_stomp_burnwillow_clearing.txt @@ -1,7 +1,7 @@ Name:Stump Stomp ManaCost:1 RG Types:Sorcery -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature or planeswalker you don't control. SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature or planeswalker you don't control | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower AlternateMode:Modal diff --git a/forge-gui/res/cardsfolder/s/survivors_med_kit.txt b/forge-gui/res/cardsfolder/s/survivors_med_kit.txt index 67f0210ad28..b69636ec9ed 100644 --- a/forge-gui/res/cardsfolder/s/survivors_med_kit.txt +++ b/forge-gui/res/cardsfolder/s/survivors_med_kit.txt @@ -6,5 +6,5 @@ SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ Stimpak — Draw a card. SVar:DBFood:DB$ Token | TokenScript$ c_a_food_sac | SpellDescription$ Fancy Lads Snack Cakes — Create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") SVar:DBRadAway:DB$ RemoveCounter | ValidTgts$ Player | TgtPrompt$ Select target player | CounterType$ RAD | CounterNum$ All | SubAbility$ DBSacSelf | SpellDescription$ RadAway — Target player loses all rad counters. Sacrifice CARDNAME. SVar:DBSacSelf:DB$ Sacrifice -DeckHas:Ability$Sacrifice|LifeGain|Tokens & Type$Food +DeckHas:Ability$Sacrifice|LifeGain|Token & Type$Food Oracle:{1}, {T}: Choose one that hasn't been chosen —\n• Stimpak — Draw a card.\n• Fancy Lads Snack Cakes — Create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")\n• RadAway — Target player loses all rad counters. Sacrifice Survivor's Med Kit. diff --git a/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt b/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt index 6c4e308ba06..805972b95f9 100644 --- a/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt +++ b/forge-gui/res/cardsfolder/t/taigam_sidisis_hand.txt @@ -5,7 +5,7 @@ PT:3/4 R:Event$ BeginPhase | ActiveZones$ Battlefield | ValidPlayer$ You | Phase$ Draw | Skip$ True | Description$ Skip your draw step. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ At the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. SVar:TrigDig:DB$ Dig | DigNum$ 3 | DestinationZone2$ Graveyard | NoReveal$ True | SpellDescription$ Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. -A:AB$ Pump | Cost$ B T ExileFromGrave | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. | CostDesc$ {B}, {T}, Exile X cards from your graveyard: +A:AB$ Pump | Cost$ B T ExileFromGrave | CostDesc$ {B}, {T}, Exile X cards from your graveyard: | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -X | NumDef$ -X | IsCurse$ True | SpellDescription$ Target creature gets -X/-X until end of turn. SVar:X:Count$xPaid AI:RemoveDeck:All Oracle:Skip your draw step.\nAt the beginning of your upkeep, look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard.\n{B}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn. diff --git a/forge-gui/res/cardsfolder/t/tandem_lookout.txt b/forge-gui/res/cardsfolder/t/tandem_lookout.txt index 32235b2758f..de5ee02ee62 100644 --- a/forge-gui/res/cardsfolder/t/tandem_lookout.txt +++ b/forge-gui/res/cardsfolder/t/tandem_lookout.txt @@ -4,6 +4,6 @@ Types:Creature Human Scout PT:2/1 K:Soulbond S:Mode$ Continuous | Affected$ Creature.PairedWith,Creature.Self+Paired | AddTrigger$ DamageTrigger | AddSVar$ TandemLookoutTrigDraw | Description$ As long as CARDNAME is paired with another creature, each of those creatures have "Whenever this creature deals damage to an opponent, draw a card." -SVar:DamageTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ TandemLookoutTrigDraw | TriggerDescription$ Whenever CARDNAME deals damage to an opponent, draw a card +SVar:DamageTrigger:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | TriggerZones$ Battlefield | Execute$ TandemLookoutTrigDraw | TriggerDescription$ Whenever CARDNAME deals damage to an opponent, draw a card. SVar:TandemLookoutTrigDraw:DB$ Draw | NumCards$ 1 Oracle:Soulbond (You may pair this creature with another unpaired creature when either enters. They remain paired for as long as you control both of them.)\nAs long as Tandem Lookout is paired with another creature, each of those creatures has "Whenever this creature deals damage to an opponent, draw a card." diff --git a/forge-gui/res/cardsfolder/t/tangled_colony.txt b/forge-gui/res/cardsfolder/t/tangled_colony.txt index e531576308d..f0839dbc202 100644 --- a/forge-gui/res/cardsfolder/t/tangled_colony.txt +++ b/forge-gui/res/cardsfolder/t/tangled_colony.txt @@ -2,7 +2,7 @@ Name:Tangled Colony ManaCost:1 B Types:Creature Rat PT:3/2 -S:Mode$ CantBlockBy | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block +S:Mode$ CantBlockBy | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create X 1/1 black Rat creature tokens with "This creature can't block," where X is the amount of damage dealt to it this turn. SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ b_1_1_rat_noblock | TokenOwner$ You SVar:X:Count$TotalDamageReceivedThisTurn diff --git a/forge-gui/res/cardsfolder/t/temur_elevator.txt b/forge-gui/res/cardsfolder/t/temur_elevator.txt index 84e9621b34b..cad0555319c 100644 --- a/forge-gui/res/cardsfolder/t/temur_elevator.txt +++ b/forge-gui/res/cardsfolder/t/temur_elevator.txt @@ -2,7 +2,7 @@ Name:Temur Elevator ManaCost:no cost Types:Land K:Ascend -A:AB$ Mana | Cost$ T | Produced$ Combo G U R | SubAbility$ DBLoseLife | SpellDescription$ Add {G}, {U}, or {R}. If you don’t have the city’s blessing, you lose 1 life. +A:AB$ Mana | Cost$ T | Produced$ Combo G U R | SubAbility$ DBLoseLife | SpellDescription$ Add {G}, {U}, or {R}. If you don't have the city's blessing, you lose 1 life. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ X | Defined$ You SVar:X:Count$Blessing.0.1 -Oracle:Ascend (If you control ten or more permanents, you get the city’s blessing for the rest of the game.)\n{T}: Add {G}, {U}, or {R}. If you don’t have the city’s blessing, you lose 1 life. +Oracle:Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.)\n{T}: Add {G}, {U}, or {R}. If you don't have the city's blessing, you lose 1 life. diff --git a/forge-gui/res/cardsfolder/t/tergrid_god_of_fright_tergrids_lantern.txt b/forge-gui/res/cardsfolder/t/tergrid_god_of_fright_tergrids_lantern.txt index a46ae1de9d3..0891ec62eab 100644 --- a/forge-gui/res/cardsfolder/t/tergrid_god_of_fright_tergrids_lantern.txt +++ b/forge-gui/res/cardsfolder/t/tergrid_god_of_fright_tergrids_lantern.txt @@ -18,8 +18,8 @@ Types:Legendary Artifact A:AB$ Pump | Cost$ T | ValidTgts$ Player | TgtPrompt$ Select target player | SubAbility$ TrigGenericChoice | IsCurse$ True | SpellDescription$ Target player loses 3 life unless they sacrifice a nonland permanent or discard a card. | StackDescription$ {p:Targeted} loses 3 life unless they sacrifice a nonland permanent or discard a card. A:AB$ Untap | Cost$ 3 B | SpellDescription$ Untap CARDNAME. SVar:TrigGenericChoice:DB$ GenericChoice | Defined$ Targeted | Choices$ PaySac,PayDiscard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card. # TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 3 Oracle:{T}: Target player loses 3 life unless they sacrifice a nonland permanent or discard a card.\n{3}{B}: Untap Tergrid's Lantern. diff --git a/forge-gui/res/cardsfolder/t/tezzerets_reckoning.txt b/forge-gui/res/cardsfolder/t/tezzerets_reckoning.txt index 747d8e1bd1e..7e389d7dbb7 100644 --- a/forge-gui/res/cardsfolder/t/tezzerets_reckoning.txt +++ b/forge-gui/res/cardsfolder/t/tezzerets_reckoning.txt @@ -3,7 +3,7 @@ ManaCost:1 U Types:Instant A:SP$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Card | ChangeNum$ 3 | Hidden$ True | AtRandom$ True | NoShuffle$ True | FaceDown$ True | Mandatory$ True | NoLooking$ True | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile three random cards from your library face down and look at them. For as long as they remain exiled, you may play one of those cards. SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | Triggers$ Play1,Play2 | SubAbility$ DBCleanup | ExileOnMoved$ Exile | Duration$ Permanent -SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayLookAt$ You | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ For as long as they remain exiled, you may play one of those cards +SVar:STPlay:Mode$ Continuous | MayPlay$ True | MayLookAt$ You | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ For as long as they remain exiled, you may play one of those cards. SVar:Play1:Mode$ SpellCast | ValidCard$ Card.IsRemembered | ValidActivatingPlayer$ You | TriggerZones$ Command | Execute$ ExileSelf | Static$ True SVar:Play2:Mode$ LandPlayed | ValidCard$ Land.IsRemembered | TriggerZones$ Command | Execute$ ExileSelf | Static$ True SVar:ExileSelf:DB$ ChangeZone | Origin$ Command | Destination$ Exile diff --git a/forge-gui/res/cardsfolder/t/the_binding_of_the_titans.txt b/forge-gui/res/cardsfolder/t/the_binding_of_the_titans.txt index 00742aac8ee..2e53182c301 100644 --- a/forge-gui/res/cardsfolder/t/the_binding_of_the_titans.txt +++ b/forge-gui/res/cardsfolder/t/the_binding_of_the_titans.txt @@ -8,5 +8,5 @@ SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Valid Creature -DeckHas:Ability$Graveyard|GainLife +DeckHas:Ability$Graveyard|LifeGain Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — Each player mills three cards.\nII — Exile up to two target cards from graveyards. For each creature card exiled this way, you gain 1 life.\nIII — Return target creature or land card from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/t/the_ever_changing_dane.txt b/forge-gui/res/cardsfolder/t/the_ever_changing_dane.txt index 33f6afc47b5..317f1c80937 100644 --- a/forge-gui/res/cardsfolder/t/the_ever_changing_dane.txt +++ b/forge-gui/res/cardsfolder/t/the_ever_changing_dane.txt @@ -2,6 +2,6 @@ Name:The Ever-Changing 'Dane ManaCost:W U B Types:Legendary Creature Shapeshifter PT:3/3 -A:AB$ Clone | Cost$ 1 Sac<1/Creature.Other> | Defined$ Sacrificed | GainThisAbility$ True | SpellDescription$ Sacrifice another creature: CARDNAME becomes a copy of the sacrificed creature, except it has this ability. -Oracle:{1}, Sacrifice another creature: The Ever-Changing 'Dane becomes a copy of the sacrificed creature, except it has this ability. +A:AB$ Clone | Cost$ 1 Sac<1/Creature.Other> | CostDesc$ Sacrifice another creature: | Defined$ Sacrificed | GainThisAbility$ True | SpellDescription$ CARDNAME becomes a copy of the sacrificed creature, except it has this ability. DeckHas:Ability$Sacrifice +Oracle:{1}, Sacrifice another creature: The Ever-Changing 'Dane becomes a copy of the sacrificed creature, except it has this ability. diff --git a/forge-gui/res/cardsfolder/t/the_hippodrome.txt b/forge-gui/res/cardsfolder/t/the_hippodrome.txt index aaa8a231726..9fee72fcc49 100644 --- a/forge-gui/res/cardsfolder/t/the_hippodrome.txt +++ b/forge-gui/res/cardsfolder/t/the_hippodrome.txt @@ -2,7 +2,7 @@ Name:The Hippodrome ManaCost:no cost Types:Plane Segovia S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | AddPower$ -5 | Description$ All Creatures get -5/-0. -T:Mode$ ChaosEnsues | OptionalDecider$ You | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, you may destroy target creature if it's power is 0 or less. +T:Mode$ ChaosEnsues | OptionalDecider$ You | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, you may destroy target creature if its power is 0 or less. SVar:RolledChaos:DB$ Destroy | ValidTgts$ Creature | ConditionCheckSVar$ TgtPow | ConditionSVarCompare$ EQ1 | AITgts$ Creature.OppCtrl+powerLE0 SVar:TgtPow:Targeted$Valid Creature.powerLE0 SVar:AIRollPlanarDieParams:Mode$ Always diff --git a/forge-gui/res/cardsfolder/t/the_horus_heresy.txt b/forge-gui/res/cardsfolder/t/the_horus_heresy.txt index 8098a973e8c..8cde2e47372 100644 --- a/forge-gui/res/cardsfolder/t/the_horus_heresy.txt +++ b/forge-gui/res/cardsfolder/t/the_horus_heresy.txt @@ -1,13 +1,12 @@ Name:The Horus Heresy ManaCost:3 U B R Types:Enchantment Saga -K:Chapter:3:GainControl,DBDraw,DBRepeat +K:Chapter:3:GainControl,DBDraw,DBChoose SVar:GainControl:DB$ GainControl | ValidTgts$ Creature.nonLegendary+OppCtrl | LoseControl$ LeavesPlay | TgtPrompt$ Select target nonlegendary creature an opponent controls to gain control of. | TargetMin$ 0 | TargetMax$ OneEach | TargetsForEachPlayer$ True | SpellDescription$ For each opponent, gain control of up to one target nonlegendary creature that player controls for as long as CARDNAME remains on the battlefield. SVar:OneEach:PlayerCountOpponents$Amount SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SpellDescription$ Draw a card for each creature you control but don't own. SVar:X:Count$Valid Creature.YouDontOwn+YouCtrl -SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBChooseCreature | SubAbility$ DBDestroy | SpellDescription$ Starting with you, each player chooses a creature. Destroy each creature chosen this way. -SVar:DBChooseCreature:DB$ ChooseCard | Defined$ Remembered | Choices$ Creature | ChoiceTitle$ Choose a creature | Mandatory$ True | RememberChosen$ True -SVar:DBDestroy:DB$ Destroy | Defined$ Remembered | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:DBChoose:DB$ ChooseCard | Defined$ Player | StartingWith$ You | Choices$ Creature | ChoiceTitle$ Choose a creature | Mandatory$ True | SpellDescription$ Starting with you, each player chooses a creature. Destroy each creature chosen this way. +SVar:DBDestroy:DB$ Destroy | Defined$ ChosenCard | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — For each opponent, gain control of up to one target nonlegendary creature that player controls for as long as The Horus Heresy remains on the battlefield.\nII — Draw a card for each creature you control but don't own.\nIII — Starting with you, each player chooses a creature. Destroy each creature chosen this way. diff --git a/forge-gui/res/cardsfolder/t/the_huntsmans_redemption.txt b/forge-gui/res/cardsfolder/t/the_huntsmans_redemption.txt index e4d910176af..534fd9fa3a9 100644 --- a/forge-gui/res/cardsfolder/t/the_huntsmans_redemption.txt +++ b/forge-gui/res/cardsfolder/t/the_huntsmans_redemption.txt @@ -4,6 +4,6 @@ Types:Enchantment Saga K:Chapter:3:DBToken,ABSearch,DBPump SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_3_3_beast | TokenOwner$ You | SpellDescription$ Create a 3/3 green Beast creature token. SVar:ABSearch:AB$ ChangeZone | Cost$ Sac<1/Creature> | CostDesc$ You may sacrifice a creature. | Origin$ Library | Destination$ Hand | ChangeType$ Land.Basic,Creature | ChangeNum$ 1 | SpellDescription$ If you do, search your library for a creature or basic land card, reveal it, put it into your hand, then shuffle. -SVar:DBPump:DB$ Pump | ValidTgts$ Creature | NumAtt$ +2 | NumDef$ +2 | TgtPrompt$ Select up to two target creatures | TargetMin$ 0 | TargetMax$ 2 | KW$ Trample | SpellDescription$ Up to two target creatures each get +2/+2 and gain trample until end of turn +SVar:DBPump:DB$ Pump | ValidTgts$ Creature | NumAtt$ +2 | NumDef$ +2 | TgtPrompt$ Select up to two target creatures | TargetMin$ 0 | TargetMax$ 2 | KW$ Trample | SpellDescription$ Up to two target creatures each get +2/+2 and gain trample until end of turn. DeckHas:Ability$Token|Sacrifice & Type$Beast Oracle:I — Create a 3/3 green Beast creature token.\nII — You may sacrifice a creature. If you do, search your library for a creature or basic land card, reveal it, put it into your hand, then shuffle.\nIII — Up to two target creatures each get +2/+2 and gain trample until end of turn diff --git a/forge-gui/res/cardsfolder/t/the_keeper_of_the_yellow_hat.txt b/forge-gui/res/cardsfolder/t/the_keeper_of_the_yellow_hat.txt index 5528ebbb499..8bcd1969784 100644 --- a/forge-gui/res/cardsfolder/t/the_keeper_of_the_yellow_hat.txt +++ b/forge-gui/res/cardsfolder/t/the_keeper_of_the_yellow_hat.txt @@ -3,7 +3,7 @@ ManaCost:W U Types:Legendary Creature Human Wizard PT:1/1 S:Mode$ CantBeCast | ValidCard$ Card.Self | EffectZone$ All | Caster$ Player.Active | CheckSVar$ Count$YourTurns | SVarCompare$ LE7 | Description$ You can't cast CARDNAME during your first seven turns of the game. (Keep track if you're playing with this!) -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a legendary artifact equipment token named Yellow Hat with equip {2} and "Equiped creature gets +4/+4 and gains lifelink." +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create a legendary artifact equipment token named Yellow Hat with equip {2} and "Equipped creature gets +4/+4 and gains lifelink." SVar:TrigToken:DB$ Token | TokenScript$ yellow_hat DeckHas:Ability$Token & Type$Artifact|Equipment -Oracle:You can't cast Keeper of the Yellow Hat during your first seven turns of the game. (Keep track if you're playing with this!)\nWhen The Keeper of the Yellow Hat enters the battlefield, create a legendary artifact equipment token named Yellow Hat with equip {2} and "Equiped creature gets +4/+4 and gains lifelink." +Oracle:You can't cast Keeper of the Yellow Hat during your first seven turns of the game. (Keep track if you're playing with this!)\nWhen The Keeper of the Yellow Hat enters the battlefield, create a legendary artifact equipment token named Yellow Hat with equip {2} and "Equipped creature gets +4/+4 and gains lifelink." diff --git a/forge-gui/res/cardsfolder/t/the_marvelous_scientist.txt b/forge-gui/res/cardsfolder/t/the_marvelous_scientist.txt index f64fab5abc6..1ca81f60091 100644 --- a/forge-gui/res/cardsfolder/t/the_marvelous_scientist.txt +++ b/forge-gui/res/cardsfolder/t/the_marvelous_scientist.txt @@ -3,15 +3,15 @@ ManaCost:1 U R Types:Legendary Creature Human Wizard PT:2/2 K:ETBReplacement:Other:SiegeChoice -SVar:SiegeChoice:DB$ GenericChoice | Choices$ Cosplay,Science | Defined$ You | SetChosenMode$ True | ShowChoice$ ExceptSelf | SpellDescription$ As this creature enters the battlefield, choose cosplay or science. +SVar:SiegeChoice:DB$ GenericChoice | Choices$ Cosplay,Science | Defined$ You | SetChosenMode$ True | ShowChoice$ ExceptSelf | SpellDescription$ As CARDNAME enters the battlefield, choose cosplay or science. SVar:Cosplay:DB$ Pump | SpellDescription$ Cosplay SVar:Science:DB$ Pump | SpellDescription$ Science -S:Mode$ Continuous | Affected$ Card.Self+ChosenModeCosplay | AddTrigger$ CosplayTrigger | Description$ • Cosplay — Whenever you cast a creature or planeswalker spell, this creature's base power and toughness each become equal to that spell's mana value until end of turn. -S:Mode$ Continuous | Affected$ Card.Self+ChosenModeScience | AddTrigger$ ScienceTrigger | Description$ • Science — Whenever you cast an instant or sorcery spell, this creature deals 2 damage to each opponent. -SVar:CosplayTrigger:Mode$ SpellCast | ValidCard$ Creature,Planeswalker | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ Whenever you cast a creature or planeswalker spell, this creature's base power and toughness each become equal to that spell's mana value until end of turn. +S:Mode$ Continuous | Affected$ Card.Self+ChosenModeCosplay | AddTrigger$ CosplayTrigger | Description$ • Cosplay — Whenever you cast a creature or planeswalker spell, CARDNAME's base power and toughness each become equal to that spell's mana value until end of turn. +S:Mode$ Continuous | Affected$ Card.Self+ChosenModeScience | AddTrigger$ ScienceTrigger | Description$ • Science — Whenever you cast an instant or sorcery spell, CARDNAME deals 2 damage to each opponent. +SVar:CosplayTrigger:Mode$ SpellCast | ValidCard$ Creature,Planeswalker | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAnimate | TriggerDescription$ Whenever you cast a creature or planeswalker spell, CARDNAME's base power and toughness each become equal to that spell's mana value until end of turn. SVar:TrigAnimate:DB$ Animate | Power$ X | Toughness$ X SVar:X:TriggeredStackInstance$CardManaCostLKI -SVar:ScienceTrigger:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast an instant or sorcery spell, this creature deals 2 damage to each opponent. +SVar:ScienceTrigger:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast an instant or sorcery spell, CARDNAME deals 2 damage to each opponent. SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 2 DeckHints:Type$Instant|Sorcery -Oracle:As this creature enters the battlefield, choose cosplay or science.\n• Cosplay — Whenever you cast a creature or planeswalker spell, this creature's base power and toughness each become equal to that spell's mana value until end of turn.\n• Science — Whenever you cast an instant or sorcery spell, this creature deals 2 damage to each opponent. \ No newline at end of file +Oracle:As this creature enters the battlefield, choose cosplay or science.\n• Cosplay — Whenever you cast a creature or planeswalker spell, this creature's base power and toughness each become equal to that spell's mana value until end of turn.\n• Science — Whenever you cast an instant or sorcery spell, this creature deals 2 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/t/the_pit.txt b/forge-gui/res/cardsfolder/t/the_pit.txt index 6e1f1127b71..be217ad856b 100644 --- a/forge-gui/res/cardsfolder/t/the_pit.txt +++ b/forge-gui/res/cardsfolder/t/the_pit.txt @@ -3,7 +3,7 @@ ManaCost:no cost Types:Plane The Abyss T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ TrigChoice | TriggerZones$ Command | TriggerDescription$ When you planeswalk to CARDNAME, each player creates their choice of a 3/3 white Angel creature token with flying or a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you." SVar:TrigChoice:DB$ GenericChoice | Defined$ Player | Choices$ Angel,Demon | TempRemember$ Chooser | ChangeZoneTable$ True -SVar:Angel:DB$ Token | TokenScript$ w_3_3_angel_flying | TokenOwner$ Remembered | SpellDescription$ Create a 3/3 white Angel creature token with flying +SVar:Angel:DB$ Token | TokenScript$ w_3_3_angel_flying | TokenOwner$ Remembered | SpellDescription$ Create a 3/3 white Angel creature token with flying. SVar:Demon:DB$ Token | TokenScript$ b_6_6_demon_flying_trample_aristocrat | TokenOwner$ Remembered | SpellDescription$ a 6/6 black Demon creature token with flying, trample, and "At the beginning of your upkeep, sacrifice another creature. If you can't, this creature deals 6 damage to you." T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever chaos ensues, each player sacrifices a nonartifact creature. SVar:RolledChaos:DB$ Sacrifice | SacValid$ Creature.nonArtifact | Defined$ Player diff --git a/forge-gui/res/cardsfolder/t/the_pride_of_hull_clade.txt b/forge-gui/res/cardsfolder/t/the_pride_of_hull_clade.txt index 9aa9b7d3d18..847b64adcb4 100644 --- a/forge-gui/res/cardsfolder/t/the_pride_of_hull_clade.txt +++ b/forge-gui/res/cardsfolder/t/the_pride_of_hull_clade.txt @@ -7,9 +7,9 @@ S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone SVar:X:Count$Valid Creature.YouCtrl$SumToughness A:AB$ Pump | Cost$ 2 U U | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 1 | SubAbility$ DBEffect | SpellDescription$ Until end of turn, target creature you control gets +1/+0, gains "Whenever this creature deals combat damage to a player, draw cards equal to its toughness," and can attack as though it didn't have defender. SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | Triggers$ TrigDamage | StaticAbilities$ CanAttack | ForgetOnMoved$ Battlefield | SubAbility$ DBAnimate -SVar:CanAttack:Mode$ CanAttackDefender | ValidCard$ Card.IsRemembered | Description$ This creature can attack as though it didn't have defender. +SVar:CanAttack:Mode$ CanAttackDefender | ValidCard$ Card.IsRemembered | Description$ CARDNAME can attack as though it didn't have defender. SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ TrigDamage -SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDraw | CombatDamage$ True | TriggerDescription$ Whenever this creature deals combat damage to a player, draw cards equal to its toughness +SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigDraw | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw cards equal to its toughness. SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ Y SVar:Y:Count$CardToughness DeckHints:Type$Wall|Treefolk & Keyword$Defender diff --git a/forge-gui/res/cardsfolder/t/the_seventh_doctor.txt b/forge-gui/res/cardsfolder/t/the_seventh_doctor.txt index cad8f86da83..aab4171a231 100644 --- a/forge-gui/res/cardsfolder/t/the_seventh_doctor.txt +++ b/forge-gui/res/cardsfolder/t/the_seventh_doctor.txt @@ -5,8 +5,8 @@ PT:3/6 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigGuess | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME attacks, choose a card in your hand. Defending player guesses whether that card's mana value is greater than the number of artifacts you control. If they guessed wrong, you may cast it without paying its mana cost. If you don't cast a spell this way, investigate. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.") SVar:TrigGuess:DB$ ChooseCard | ChoiceZone$ Hand | Mandatory$ True | Defined$ You | Choices$ Card.YouOwn | AILogic$ RandomNonLand | Guess$ True | SubAbility$ DBGuess SVar:DBGuess:DB$ GenericChoice | Defined$ TriggeredDefendingPlayer | Choices$ GuessGreaterArtifacts,GuessNotGreaterArtifacts | AILogic$ Random | ShowChoice$ True -SVar:GuessGreaterArtifacts:DB$ Play | Controller$ You | Defined$ ChosenCard | Optional$ True | WithoutManaCost$ True | ConditionDefined$ ChosenCard | ConditionPresent$ Card.cmcLEX+nonLand | RememberPlayed$ True | ConditionCompare$ GE1 | SubAbility$ DBInvestigate | SpellDescription$ That card's mana value is greater the number of artifact attacking player controls -SVar:GuessNotGreaterArtifacts:DB$ Play | Controller$ You | Defined$ ChosenCard | Optional$ True | WithoutManaCost$ True | ValidSA$ Spell | ConditionDefined$ ChosenCard | ConditionPresent$ Card.cmcGTX+nonLand | RememberPlayed$ True | SubAbility$ DBInvestigate | ConditionCompare$ GE1 | SpellDescription$ That card's mana value is not greater than the number of artifact attacking player controls +SVar:GuessGreaterArtifacts:DB$ Play | Controller$ You | Defined$ ChosenCard | Optional$ True | WithoutManaCost$ True | ConditionDefined$ ChosenCard | ConditionPresent$ Card.cmcLEX+nonLand | RememberPlayed$ True | ConditionCompare$ GE1 | SubAbility$ DBInvestigate | SpellDescription$ The chosen card's mana value is greater the number of artifacts attacking player controls. +SVar:GuessNotGreaterArtifacts:DB$ Play | Controller$ You | Defined$ ChosenCard | Optional$ True | WithoutManaCost$ True | ValidSA$ Spell | ConditionDefined$ ChosenCard | ConditionPresent$ Card.cmcGTX+nonLand | RememberPlayed$ True | SubAbility$ DBInvestigate | ConditionCompare$ GE1 | SpellDescription$ The chosen card's mana value is not greater than the number of artifacts attacking player controls. SVar:DBInvestigate:DB$ Investigate | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ0 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True SVar:X:Count$Valid Artifact.YouCtrl diff --git a/forge-gui/res/cardsfolder/t/then_dreadmaws_ate_everyone.txt b/forge-gui/res/cardsfolder/t/then_dreadmaws_ate_everyone.txt index 00d7fde5d51..b1dd58703cb 100644 --- a/forge-gui/res/cardsfolder/t/then_dreadmaws_ate_everyone.txt +++ b/forge-gui/res/cardsfolder/t/then_dreadmaws_ate_everyone.txt @@ -1,7 +1,7 @@ Name:Then, Dreadmaws Ate Everyone ManaCost:X 4 G G Types:Sorcery -A:SP$ Token | TokenAmount$ X | TokenScript$ colossal_dreadmaw | TokenOwner$ You | SpellDescription$ Create X 6/6 green Dinosaur creature tokens with trample named Colossal Dreadmaw. +A:SP$ Token | TokenAmount$ X | TokenScript$ colossal_dreadmaw | TokenOwner$ You | SpellDescription$ Create X 6/6 green Dinosaur creature tokens with trample named Colossal Dreadmaw. SVar:X:Count$xPaid DeckHas:Ability$Token & Type$Dinosaur -Oracle:Create X 6/6 green Dinosaur creature tokens with trample named Colossal Dreadmaw. +Oracle:Create X 6/6 green Dinosaur creature tokens with trample named Colossal Dreadmaw. diff --git a/forge-gui/res/cardsfolder/t/thieves_auction.txt b/forge-gui/res/cardsfolder/t/thieves_auction.txt index 83361bd43c9..a12f2d7cd08 100644 --- a/forge-gui/res/cardsfolder/t/thieves_auction.txt +++ b/forge-gui/res/cardsfolder/t/thieves_auction.txt @@ -3,7 +3,7 @@ ManaCost:4 R R R Types:Sorcery A:SP$ ChangeZoneAll | ChangeType$ Permanent.nonToken | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBRepeatChoose | StackDescription$ SpellDescription | SpellDescription$ Exile all nontoken permanents. Starting with you, each player chooses one of the exiled cards and puts it onto the battlefield tapped under their control. Repeat this process until all cards exiled this way have been chosen. SVar:DBRepeatChoose:DB$ Repeat | RepeatSubAbility$ DBRepeat | RepeatDefined$ Remembered | RepeatPresent$ Card | StackDescription$ None -SVar:DBRepeat:DB$ RepeatEach | StartingWithActivator$ True | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose +SVar:DBRepeat:DB$ RepeatEach | StartingWith$ You | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Card.IsRemembered | ForgetChosen$ True | ChoiceZone$ Exile | SubAbility$ DBGainControl SVar:DBGainControl:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ ChosenCard | GainControl$ Player.IsRemembered | Tapped$ True AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/t/thornplate_intimidator.txt b/forge-gui/res/cardsfolder/t/thornplate_intimidator.txt index ea07aad854b..1e8291913e0 100644 --- a/forge-gui/res/cardsfolder/t/thornplate_intimidator.txt +++ b/forge-gui/res/cardsfolder/t/thornplate_intimidator.txt @@ -5,8 +5,8 @@ PT:4/3 K:Offspring:3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGenericChoice | TriggerDescription$ When this creature enters, target opponent loses 3 life unless they sacrifice a nonland permanent or discard a card. SVar:TrigGenericChoice:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ PaySac,PayDiscard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ Targeted | UnlessCost$ Discard<1/Card> | UnlessPayer$ Targeted | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card. # TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Targeted | LifeAmount$ 3 Oracle:Offspring {3} (You may pay an additional {3} as you cast this spell. If you do, when this creature enters, create a 1/1 token copy of it.)\nWhen this creature enters, target opponent loses 3 life unless they sacrifice a nonland permanent or discard a card. diff --git a/forge-gui/res/cardsfolder/t/thousand_moons_smithy_barracks_of_the_thousand.txt b/forge-gui/res/cardsfolder/t/thousand_moons_smithy_barracks_of_the_thousand.txt index 171e7f3fb55..397ef5bdff9 100644 --- a/forge-gui/res/cardsfolder/t/thousand_moons_smithy_barracks_of_the_thousand.txt +++ b/forge-gui/res/cardsfolder/t/thousand_moons_smithy_barracks_of_the_thousand.txt @@ -3,12 +3,12 @@ ManaCost:2 W W Types:Legendary Artifact T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create a white Gnome Soldier artifact creature token with "This creature's power and toughness are each equal to the number of artifacts and/or creatures you control." SVar:TrigToken:DB$ Token | TokenScript$ w_x_x_a_gnome_soldier_total_artifacts_creatures -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ At the beginning of your precombat main phase, you may tap five untapped artifacts and/or creatures you control. If you do, transform CARDNAME. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigTransform | TriggerDescription$ At the beginning of your first main phase, you may tap five untapped artifacts and/or creatures you control. If you do, transform CARDNAME. SVar:TrigTransform:AB$ SetState | Cost$ tapXType<5/Artifact;Creature/artifact or creature> | Defined$ Self | Mode$ Transform DeckHas:Ability$Token & Type$Gnome|Soldier DeckHints:Type$Artifact AlternateMode:DoubleFaced -Oracle:When Thousand Moons Smithy enters, create a white Gnome Soldier artifact creature token with "This creature's power and toughness are each equal to the number of artifacts and/or creatures you control."\nAt the beginning of your precombat main phase, you may tap five untapped artifacts and/or creatures you control. If you do, transform Thousand Moons Smithy. +Oracle:When Thousand Moons Smithy enters, create a white Gnome Soldier artifact creature token with "This creature's power and toughness are each equal to the number of artifacts and/or creatures you control."\nAt the beginning of your first main phase, you may tap five untapped artifacts and/or creatures you control. If you do, transform Thousand Moons Smithy. ALTERNATE diff --git a/forge-gui/res/cardsfolder/t/thrash_threat.txt b/forge-gui/res/cardsfolder/t/thrash_threat.txt index 04d188292ee..b4d73beea07 100644 --- a/forge-gui/res/cardsfolder/t/thrash_threat.txt +++ b/forge-gui/res/cardsfolder/t/thrash_threat.txt @@ -1,7 +1,7 @@ Name:Thrash ManaCost:RG RG Types:Instant -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to target creature you don't control. SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature or planeswalker you don't control | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower AlternateMode:Split diff --git a/forge-gui/res/cardsfolder/t/throne_of_geth.txt b/forge-gui/res/cardsfolder/t/throne_of_geth.txt index 23eadd5c613..3cd831093e8 100644 --- a/forge-gui/res/cardsfolder/t/throne_of_geth.txt +++ b/forge-gui/res/cardsfolder/t/throne_of_geth.txt @@ -1,7 +1,7 @@ Name:Throne of Geth ManaCost:2 Types:Artifact -A:AB$ Proliferate | Cost$ T Sac<1/Artifact> | SpellDescription$ Proliferate +A:AB$ Proliferate | Cost$ T Sac<1/Artifact> | SpellDescription$ Proliferate. DeckHas:Ability$Proliferate DeckNeeds:Ability$Counters SVar:AIPreference:SacCost$Artifact.token,Artifact.cmcLE2 diff --git a/forge-gui/res/cardsfolder/t/thrull_wizard.txt b/forge-gui/res/cardsfolder/t/thrull_wizard.txt index 076acfcd113..52dbb48e3b3 100644 --- a/forge-gui/res/cardsfolder/t/thrull_wizard.txt +++ b/forge-gui/res/cardsfolder/t/thrull_wizard.txt @@ -3,8 +3,8 @@ ManaCost:2 B Types:Creature Thrull Wizard PT:1/1 A:AB$ GenericChoice | Cost$ 1 B | TgtPrompt$ Select target black spell | TargetType$ Spell | ValidTgts$ Card.Black | TgtZone$ Stack | Choices$ PayB,Pay3 | Defined$ TargetedController | AILogic$ PayUnlessCost | SpellDescription$ Counter target black spell unless that spell's controller pays {B} or {3}. -SVar:PayB:DB$ Counter | Defined$ Targeted | UnlessCost$ B | SpellDescription$ Counter spell unless you pay B -SVar:Pay3:DB$ Counter | Defined$ Targeted | UnlessCost$ 3 | SpellDescription$ Counter spell unless you pay 3 +SVar:PayB:DB$ Counter | Defined$ Targeted | UnlessCost$ B | SpellDescription$ Counter spell unless you pay {B}. +SVar:Pay3:DB$ Counter | Defined$ Targeted | UnlessCost$ 3 | SpellDescription$ Counter spell unless you pay {3}. AI:RemoveDeck:Random AI:RemoveDeck:All Oracle:{1}{B}: Counter target black spell unless that spell's controller pays {B} or {3}. diff --git a/forge-gui/res/cardsfolder/t/tome_shredder.txt b/forge-gui/res/cardsfolder/t/tome_shredder.txt index ec51141bbff..5a6eeb6a872 100644 --- a/forge-gui/res/cardsfolder/t/tome_shredder.txt +++ b/forge-gui/res/cardsfolder/t/tome_shredder.txt @@ -3,6 +3,6 @@ ManaCost:2 R Types:Creature Wolf PT:2/2 K:Haste -A:AB$ PutCounter | Cost$ T ExileFromGrave<1/Instant;Sorcery> | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Exile an instant or sorcery card from your graveyard: Put a +1/+1 counter on CARDNAME. +A:AB$ PutCounter | Cost$ T ExileFromGrave<1/Instant;Sorcery> | CostDesc$ {T}, Exile an instant or sorcery card from your graveyard: | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. DeckHas:Ability$Counters Oracle:Haste\n{T}, Exile an instant or sorcery card from your graveyard: Put a +1/+1 counter on Tome Shredder. diff --git a/forge-gui/res/cardsfolder/t/torgaar_famine_incarnate.txt b/forge-gui/res/cardsfolder/t/torgaar_famine_incarnate.txt index 5389d610ebd..1e6358925c4 100644 --- a/forge-gui/res/cardsfolder/t/torgaar_famine_incarnate.txt +++ b/forge-gui/res/cardsfolder/t/torgaar_famine_incarnate.txt @@ -2,8 +2,8 @@ Name:Torgaar, Famine Incarnate ManaCost:6 B B Types:Legendary Creature Avatar PT:7/6 -A:SP$ PermanentCreature | Cost$ 6 B B Sac | AILogic$ SacToReduceCost -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True | Description$ As an additional cost to cast this spell, you may sacrifice any number of creatures. This spell costs {2} less to cast for each creature sacrificed this way. +A:SP$ PermanentCreature | Cost$ 6 B B Sac | AILogic$ SacToReduceCost | AdditionalDesc$ This spell costs {2} less to cast for each creature sacrificed this way. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Y | EffectZone$ All | Relative$ True SVar:X:Count$xPaid SVar:Y:SVar$X/Times.2 SVar:AIPreference:SacCost$Creature.token,Creature.cmcLE2 diff --git a/forge-gui/res/cardsfolder/t/torment_of_hailfire.txt b/forge-gui/res/cardsfolder/t/torment_of_hailfire.txt index bc29335dd19..b1a959e9d72 100644 --- a/forge-gui/res/cardsfolder/t/torment_of_hailfire.txt +++ b/forge-gui/res/cardsfolder/t/torment_of_hailfire.txt @@ -3,8 +3,8 @@ ManaCost:X B B Types:Sorcery A:SP$ Repeat | MaxRepeat$ X | RepeatSubAbility$ RepeatTorment | AILogic$ MaxX | StackDescription$ SpellDescription | SpellDescription$ Repeat the following process X times. Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. SVar:RepeatTorment:DB$ GenericChoice | Defined$ Opponent | TempRemember$ Chooser | Choices$ SacNonland,Discard | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card -SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent +SVar:Discard:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Discard<1/Card> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you discard a card. +SVar:SacNonland:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 | UnlessCost$ Sac<1/Permanent.nonLand/nonland permanent> | UnlessPayer$ Remembered | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Remembered | LifeAmount$ 3 SVar:X:Count$xPaid SVar:AIPreference:SacCost$Permanent.nonLand | DiscardCost$Card diff --git a/forge-gui/res/cardsfolder/t/torment_of_scarabs.txt b/forge-gui/res/cardsfolder/t/torment_of_scarabs.txt index 699066c3ec3..3063a30aa1b 100644 --- a/forge-gui/res/cardsfolder/t/torment_of_scarabs.txt +++ b/forge-gui/res/cardsfolder/t/torment_of_scarabs.txt @@ -5,8 +5,8 @@ K:Enchant player A:SP$ Attach | Cost$ 3 B | ValidTgts$ Player | AILogic$ Curse T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.EnchantedBy | TriggerZones$ Battlefield | Execute$ TrigGenericChoice | TriggerDescription$ At the beginning of enchanted player's upkeep, that player loses 3 life unless they sacrifice a nonland permanent or discard a card. SVar:TrigGenericChoice:DB$ GenericChoice | Choices$ PaySac,PayDiscard | Defined$ TriggeredPlayer | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost -SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ TriggeredPlayer | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ TriggeredPlayer | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ TriggeredPlayer | UnlessCost$ Discard<1/Card> | UnlessPayer$ TriggeredPlayer | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ TriggeredPlayer | UnlessCost$ Sac<1/Permanent.nonland/nonland permanent> | UnlessPayer$ TriggeredPlayer | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice a nonland permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ TriggeredPlayer | UnlessCost$ Discard<1/Card> | UnlessPayer$ TriggeredPlayer | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card. # TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Player.IsRemembered | LifeAmount$ 3 Oracle:Enchant player\nAt the beginning of enchanted player's upkeep, that player loses 3 life unless they sacrifice a nonland permanent or discard a card. diff --git a/forge-gui/res/cardsfolder/t/torment_of_venom.txt b/forge-gui/res/cardsfolder/t/torment_of_venom.txt index 597393a52c5..04044a30d52 100644 --- a/forge-gui/res/cardsfolder/t/torment_of_venom.txt +++ b/forge-gui/res/cardsfolder/t/torment_of_venom.txt @@ -3,8 +3,8 @@ ManaCost:2 B B Types:Instant A:SP$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ M1M1 | CounterNum$ 3 | IsCurse$ True | RememberTargets$ True | SubAbility$ DBGenericChoice | SpellDescription$ Put three -1/-1 counters on target creature. Its controller loses 3 life unless they sacrifice another nonland permanent or discards a card. SVar:DBGenericChoice:DB$ GenericChoice | Choices$ PaySac,PayDiscard | Defined$ TargetedController | FallbackAbility$ LoseLifeFallback | AILogic$ PayUnlessCost | SubAbility$ DBCleanup -SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ TargetedController | UnlessCost$ Sac<1/Permanent.IsNotRemembered+nonland/another nonland permanent> | UnlessPayer$ TargetedController | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice another nonland permanent -SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ TargetedController | UnlessCost$ Discard<1/Card> | UnlessPayer$ TargetedController | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card +SVar:PaySac:DB$ LoseLife | LifeAmount$ 3 | Defined$ TargetedController | UnlessCost$ Sac<1/Permanent.IsNotRemembered+nonland/another nonland permanent> | UnlessPayer$ TargetedController | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you sacrifice another nonland permanent. +SVar:PayDiscard:DB$ LoseLife | LifeAmount$ 3 | Defined$ TargetedController | UnlessCost$ Discard<1/Card> | UnlessPayer$ TargetedController | UnlessAI$ LifeLE3 | SpellDescription$ You lose 3 life unless you discard a card. # TODO: Most likely the ChooseGenericEffect code can be simplified somehow to avoid the necessity of having a dedicated fallback ability SVar:LoseLifeFallback:DB$ LoseLife | Defined$ Player.IsRemembered | LifeAmount$ 3 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/t/total_war.txt b/forge-gui/res/cardsfolder/t/total_war.txt index 7b2f7083ac5..8f02f7cd756 100644 --- a/forge-gui/res/cardsfolder/t/total_war.txt +++ b/forge-gui/res/cardsfolder/t/total_war.txt @@ -2,7 +2,7 @@ Name:Total War ManaCost:3 R Types:Enchantment T:Mode$ AttackersDeclared | Execute$ TrigDestroy | TriggerZones$ Battlefield | AttackingPlayer$ Player | TriggerDescription$ Whenever a player attacks with one or more creatures, destroy all untapped non-Wall creatures that player controls that didn't attack, except for creatures the player hasn't controlled continuously since the beginning of the turn. -SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.nonWall+notFirstTurnControlled+untapped+ActivePlayerCtrl+notattacking +SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.nonWall+!firstTurnControlled+untapped+ActivePlayerCtrl+notattacking AI:RemoveDeck:All AI:RemoveDeck:Random Oracle:Whenever a player attacks with one or more creatures, destroy all untapped non-Wall creatures that player controls that didn't attack, except for creatures the player hasn't controlled continuously since the beginning of the turn. diff --git a/forge-gui/res/cardsfolder/t/tower_above.txt b/forge-gui/res/cardsfolder/t/tower_above.txt index 945b8da3805..fc4888cfb1c 100644 --- a/forge-gui/res/cardsfolder/t/tower_above.txt +++ b/forge-gui/res/cardsfolder/t/tower_above.txt @@ -3,6 +3,6 @@ ManaCost:2G 2G 2G Types:Sorcery A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 4 | NumDef$ 4 | KW$ Trample & Wither | SubAbility$ DBAnimate | SpellDescription$ Until end of turn, target creature gets +4/+4 and gains trample, wither, and "When this creature attacks, target creature blocks it this turn if able." (It deals damage to creatures in the form of -1/-1 counters.) SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Triggers$ TrigAttack -SVar:TrigAttack:Mode$ Attacks | ValidCard$ Creature.Self | Execute$ TowerAboveTrigBlock | TriggerDescription$ Whenever CARDNAME attacks, target creature blocks it this turn if able +SVar:TrigAttack:Mode$ Attacks | ValidCard$ Creature.Self | Execute$ TowerAboveTrigBlock | TriggerDescription$ Whenever CARDNAME attacks, target creature blocks it this turn if able. SVar:TowerAboveTrigBlock:DB$ MustBlock | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Target creature blocks CARDNAME this turn if able. Oracle:({2/G} can be paid with any two mana or with {G}. This card's mana value is 6.)\nUntil end of turn, target creature gets +4/+4 and gains trample, wither, and "When this creature attacks, target creature blocks it this turn if able." (It deals damage to creatures in the form of -1/-1 counters.) diff --git a/forge-gui/res/cardsfolder/t/traverse_valley.txt b/forge-gui/res/cardsfolder/t/traverse_valley.txt index 95cb306843b..c28a7d50459 100644 --- a/forge-gui/res/cardsfolder/t/traverse_valley.txt +++ b/forge-gui/res/cardsfolder/t/traverse_valley.txt @@ -1,8 +1,8 @@ Name:Traverse Valley ManaCost:G Types:Sorcery -K:Kicker:Forage -A:SP$ Seek | Type$ Land.nonBasic | RememberFound$ True | SubAbility$ DBChangeZone | SpellDescription$ Seek a nonbasic land card. +K:Kicker:Forage +A:SP$ Seek | Type$ Land.nonBasic | RememberFound$ True | SubAbility$ DBChangeZone | SpellDescription$ Seek a nonbasic land card. SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Tapped$ True | Condition$ Kicked | Origin$ Hand | Destination$ Battlefield | SubAbility$ DBCleanup | SpellDescription$ If this spell was kicked, put that card onto the battlefield tapped. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True Oracle:Kicker — Forage.\nSeek a nonbasic land card. If this spell was kicked, put that card onto the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/t/treebeard_gracious_host.txt b/forge-gui/res/cardsfolder/t/treebeard_gracious_host.txt index f1db245e531..ef355c2e44e 100644 --- a/forge-gui/res/cardsfolder/t/treebeard_gracious_host.txt +++ b/forge-gui/res/cardsfolder/t/treebeard_gracious_host.txt @@ -6,7 +6,7 @@ K:Trample K:Ward:2 T:Mode$ ChangesZone | ValidCard$ Card.Self | Destination$ Battlefield | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create two Food tokens. SVar:TrigToken:DB$ Token | TokenScript$ c_a_food_sac | TokenAmount$ 2 -T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, put that many +1/+1 counters on target Halfling or Treefolk +T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, put that many +1/+1 counters on target Halfling or Treefolk. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.Halfling,Creature.Treefolk | TgtPrompt$ Select target Halfling or Treefolk | CounterType$ P1P1 | CounterNum$ X SVar:X:TriggerCount$LifeAmount DeckHints:Ability$Counters|LifeGain|Token diff --git a/forge-gui/res/cardsfolder/t/trumpet_blast.txt b/forge-gui/res/cardsfolder/t/trumpet_blast.txt index 663053d6200..983d6403ba5 100644 --- a/forge-gui/res/cardsfolder/t/trumpet_blast.txt +++ b/forge-gui/res/cardsfolder/t/trumpet_blast.txt @@ -1,5 +1,5 @@ Name:Trumpet Blast ManaCost:2 R Types:Instant -A:SP$ PumpAll | ValidCards$ Creature.attacking | NumAtt$ 2 | SpellDescription$ Attacking creatures get +2/+0 until end of turn +A:SP$ PumpAll | ValidCards$ Creature.attacking | NumAtt$ 2 | SpellDescription$ Attacking creatures get +2/+0 until end of turn. Oracle:Attacking creatures get +2/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/t/tunnel_of_love.txt b/forge-gui/res/cardsfolder/t/tunnel_of_love.txt index c5c894611d2..a54c5d6f54e 100644 --- a/forge-gui/res/cardsfolder/t/tunnel_of_love.txt +++ b/forge-gui/res/cardsfolder/t/tunnel_of_love.txt @@ -8,9 +8,9 @@ SVar:TrigChoose:DB$ ChoosePlayer | Defined$ You | Choices$ Opponent | AILogic$ C SVar:DBChoose:DB$ ChooseCard | Defined$ ChosenPlayer | RememberChosen$ True | Choices$ Creature.ControlledBy ChosenPlayer | Amount$ 1 | SubAbility$ DBChooseYou SVar:DBChooseYou:DB$ ChooseCard | Defined$ You | RememberChosen$ True | Choices$ Creature.YouCtrl | Mandatory$ True | Amount$ 1 | SubAbility$ DBGenericChoice SVar:DBGenericChoice:DB$ GenericChoice | Choices$ DBBlink,DBFight -SVar:DBBlink:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DelTrig | RememberChanged$ True | SpellDescription$ You may exile the chosen creatures. If you do, return them to the battlefield under their owners’ control at the beginning of the next end step. +SVar:DBBlink:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DelTrig | RememberChanged$ True | SpellDescription$ You may exile the chosen creatures. If you do, return them to the battlefield under their owners' control at the beginning of the next end step. SVar:DelTrig:DB$ DelayedTrigger | RememberObjects$ Remembered | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | SubAbility$ DBCleanup | TriggerDescription$ Return exiled card to the battlefield. -SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Exile | Destination$ Battlefield +SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Exile | Destination$ Battlefield SVar:DBFight:DB$ Fight | Defined$ Remembered | SubAbility$ DBCleanup | SpellDescription$ The chosen creatures fight each other. SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True Oracle:Visit — Choose an opponent. They choose a creature they control, then you choose a creature you control. You may exile the chosen creatures. If you do, return them to the battlefield under their owners' control at the beginning of the next end step. Otherwise, the chosen creatures fight each other. diff --git a/forge-gui/res/cardsfolder/t/two_streams_facility.txt b/forge-gui/res/cardsfolder/t/two_streams_facility.txt index 365b7bab924..4ba55ac93c9 100644 --- a/forge-gui/res/cardsfolder/t/two_streams_facility.txt +++ b/forge-gui/res/cardsfolder/t/two_streams_facility.txt @@ -4,8 +4,8 @@ Types:Plane Apalapucia T:Mode$ PlaneswalkedTo | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ Whenever you planeswalk to CARDNAME and at the beginning of the first upkeep of the game, each player chooses green anchor or red waterfall. T:Mode$ Phase | FirstUpkeepThisGame$ True | Execute$ TrigChoose | TriggerZones$ Command | Secondary$ True | TriggerDescription$ Whenever you planeswalk to CARDNAME and at the beginning of the first upkeep of the game, each player chooses green anchor or red waterfall. SVar:TrigChoose:DB$ GenericChoice | Defined$ Player | TempRemember$ Chooser | Choices$ GreenAnchor,RedWaterfall | ShowChoice$ ExceptSelf -SVar:GreenAnchor:DB$ Pump | Defined$ Remembered | NoteCards$ Self | NoteCardsFor$ GreenAnchor | SpellDescription$ Green Anchor (You may play an additional land during each of your turns) -SVar:RedWaterfall:DB$ Pump | Defined$ Remembered | NoteCards$ Self | NoteCardsFor$ RedWaterfall | SpellDescription$ Red Waterfall (Creatures you control get +2/+0 and have haste) +SVar:GreenAnchor:DB$ Pump | Defined$ Remembered | NoteCards$ Self | NoteCardsFor$ GreenAnchor | SpellDescription$ Green Anchor (You may play an additional land during each of your turns.) +SVar:RedWaterfall:DB$ Pump | Defined$ Remembered | NoteCards$ Self | NoteCardsFor$ RedWaterfall | SpellDescription$ Red Waterfall (Creatures you control get +2/+0 and have haste.) S:Mode$ Continuous | EffectZone$ Command | Affected$ Player.NotedForGreenAnchor | AdjustLandPlays$ 1 | Description$ Each player who last chose green anchor may play an additional land during each of their turns. S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.ControlledBy Player.NotedForRedWaterfall | AddPower$ 2 | AddKeyword$ Haste | Description$ Creatures controlled by players who last chose red waterfall get +2/+0 and have haste. T:Mode$ ChaosEnsues | TriggerZones$ Command | Execute$ TrigSwitch | TriggerDescription$ Whenever chaos ensues, each player who last chose green anchor chooses red waterfall, and vice versa. diff --git a/forge-gui/res/cardsfolder/t/tymna_the_weaver.txt b/forge-gui/res/cardsfolder/t/tymna_the_weaver.txt index f532980aa24..57c3a597931 100644 --- a/forge-gui/res/cardsfolder/t/tymna_the_weaver.txt +++ b/forge-gui/res/cardsfolder/t/tymna_the_weaver.txt @@ -3,9 +3,9 @@ ManaCost:1 W B Types:Legendary Creature Human Cleric PT:2/2 K:Lifelink -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your postcombat main phase, you may pay X life, where X is the number of opponents that were dealt combat damage this turn. If you do, draw X cards. +T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of each of your postcombat main phases, you may pay X life, where X is the number of opponents that were dealt combat damage this turn. If you do, draw X cards. SVar:TrigDraw:AB$ Draw | Cost$ PayLife | NumCards$ X SVar:X:PlayerCountRegisteredOpponents$HasPropertywasDealtCombatDamageThisTurn K:Partner SVar:PlayMain1:TRUE -Oracle:Lifelink\nAt the beginning of your postcombat main phase, you may pay X life, where X is the number of opponents that were dealt combat damage this turn. If you do, draw X cards.\nPartner (You can have two commanders if both have partner.) +Oracle:Lifelink\nAt the beginning of each of your postcombat main phases, you may pay X life, where X is the number of opponents that were dealt combat damage this turn. If you do, draw X cards.\nPartner (You can have two commanders if both have partner.) diff --git a/forge-gui/res/cardsfolder/u/unexpected_allies.txt b/forge-gui/res/cardsfolder/u/unexpected_allies.txt index 5afb6fc8e38..d949829e449 100644 --- a/forge-gui/res/cardsfolder/u/unexpected_allies.txt +++ b/forge-gui/res/cardsfolder/u/unexpected_allies.txt @@ -5,5 +5,5 @@ A:SP$ Pump | ValidTgts$ Creature.YouCtrl+nonToken | TgtPrompt$ Select target non SVar:TrigEffect:DB$ Pump | ConditionCheckSVar$ X | Defined$ Targeted | KW$ First Strike SVar:X:Count$Valid Creature.NotDefinedTargeted+YouCtrl+sharesNameWith Targeted/Plus.Y SVar:Y:Count$ValidGraveyard Creature.YouOwn+sharesNameWith Targeted -DeckHas:Keyword$Double Team|First Strike +DeckHas:Keyword$Double team|First Strike Oracle:Target nontoken creature you control gets +2/+0 and gains double team until end of turn. It also gains first strike until end of turn if it has the same name as another creature you control or a creature card in your graveyard. diff --git a/forge-gui/res/cardsfolder/u/urzas_avenger.txt b/forge-gui/res/cardsfolder/u/urzas_avenger.txt index 48551cad57f..1e6d74e8904 100644 --- a/forge-gui/res/cardsfolder/u/urzas_avenger.txt +++ b/forge-gui/res/cardsfolder/u/urzas_avenger.txt @@ -4,5 +4,5 @@ Types:Artifact Creature Shapeshifter PT:4/4 A:AB$ Pump | Cost$ 0 | NumAtt$ -1 | NumDef$ -1 | KWChoice$ Flying,Banding,First Strike,Trample | StackDescription$ SpellDescription | SpellDescription$ CARDNAME gets -1/-1 and gains your choice of banding, flying, first strike, or trample until end of turn. AI:RemoveDeck:All -DeckHas:Keyword$Banding|Flying|FirstStrike|Trample +DeckHas:Keyword$Banding|Flying|First Strike|Trample Oracle:{0}: Urza's Avenger gets -1/-1 and gains your choice of banding, flying, first strike, or trample until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) diff --git a/forge-gui/res/cardsfolder/upcoming/acrobatic_cheerleader.txt b/forge-gui/res/cardsfolder/upcoming/acrobatic_cheerleader.txt index 73d20ef617c..f6a0612be41 100644 --- a/forge-gui/res/cardsfolder/upcoming/acrobatic_cheerleader.txt +++ b/forge-gui/res/cardsfolder/upcoming/acrobatic_cheerleader.txt @@ -2,6 +2,6 @@ Name:Acrobatic Cheerleader ManaCost:1 W Types:Creature Human Survivor PT:2/2 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | GameActivationLimit$ 1 | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a flying counter on it. This ability triggers only once. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | GameActivationLimit$ 1 | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a flying counter on it. This ability triggers only once. SVar:TrigPutCounter:DB$ PutCounter | CounterType$ Flying | CounterNum$ 1 Oracle:Survival — At the beginning of your second main phase, if Acrobatic Cheerleader is tapped, put a flying counter on it. This ability triggers only once. diff --git a/forge-gui/res/cardsfolder/upcoming/balemurk_leech.txt b/forge-gui/res/cardsfolder/upcoming/balemurk_leech.txt index 30f3e75c228..e16619ef189 100644 --- a/forge-gui/res/cardsfolder/upcoming/balemurk_leech.txt +++ b/forge-gui/res/cardsfolder/upcoming/balemurk_leech.txt @@ -3,7 +3,7 @@ ManaCost:1 B Types:Creature Leech PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, each opponent loses 1 life. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigLoseLife| TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, each opponent loses 1 life. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigLoseLife| TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, each opponent loses 1 life. SVar:TrigLoseLife:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 1 DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, each opponent loses 1 life. \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, each opponent loses 1 life. diff --git a/forge-gui/res/cardsfolder/upcoming/cautious_survivor.txt b/forge-gui/res/cardsfolder/upcoming/cautious_survivor.txt index 31125d8b94a..65d4ecc0c7c 100644 --- a/forge-gui/res/cardsfolder/upcoming/cautious_survivor.txt +++ b/forge-gui/res/cardsfolder/upcoming/cautious_survivor.txt @@ -2,6 +2,6 @@ Name:Cautious Survivor Types:Creature Elf Survivor ManaCost:3 G PT:4/4 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you gain 2 life. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you gain 2 life. SVar:TrigGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 2 Oracle:Survival — At the beginning of your second main phase, if Cautious Survivor is tapped, you gain 2 life. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/cult_healer.txt b/forge-gui/res/cardsfolder/upcoming/cult_healer.txt index 70d35d3a0be..c18ef34c9ab 100644 --- a/forge-gui/res/cardsfolder/upcoming/cult_healer.txt +++ b/forge-gui/res/cardsfolder/upcoming/cult_healer.txt @@ -3,7 +3,7 @@ ManaCost:2 W Types:Creature Human Doctor PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gains lifelink until end of turn. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gains lifelink until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gains lifelink until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | KW$ Lifelink DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Cult Healer gains lifelink until end of turn. \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Cult Healer gains lifelink until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/cynical_loner.txt b/forge-gui/res/cardsfolder/upcoming/cynical_loner.txt index 88154cb2994..00fb50d3271 100644 --- a/forge-gui/res/cardsfolder/upcoming/cynical_loner.txt +++ b/forge-gui/res/cardsfolder/upcoming/cynical_loner.txt @@ -3,6 +3,6 @@ Types:Creature Human Survivor ManaCost:1 B PT:3/1 S:Mode$ CantBlockBy | ValidAttacker$ Creature.Self | ValidBlocker$ Creature.Glimmer | Description$ CARDNAME can't be blocked by Glimmers. -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you may search your library for a card, put it into your graveyard, then shuffle. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you may search your library for a card, put it into your graveyard, then shuffle. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Graveyard | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True Oracle:Cynical Loner can't be blocked by Glimmers.\nSurvival — At the beginning of your second main phase, if Cynical Loner is tapped, you may search your library for a card, put it into your graveyard, then shuffle. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/dashing_bloodsucker.txt b/forge-gui/res/cardsfolder/upcoming/dashing_bloodsucker.txt index 58f513604b1..1c9410f3121 100644 --- a/forge-gui/res/cardsfolder/upcoming/dashing_bloodsucker.txt +++ b/forge-gui/res/cardsfolder/upcoming/dashing_bloodsucker.txt @@ -3,7 +3,7 @@ ManaCost:3 B Types:Creature Vampire Warrior PT:2/5 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 and gains lifelink until end of turn. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ $ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 and gains lifelink until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ $ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 and gains lifelink until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 2 | KW$ Lifelink DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Dashing Bloodsucker gets +2/+0 and gains lifelink until end of turn. \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Dashing Bloodsucker gets +2/+0 and gains lifelink until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/defiant_survivor.txt b/forge-gui/res/cardsfolder/upcoming/defiant_survivor.txt index 4e7f6e90c25..501b877f7af 100644 --- a/forge-gui/res/cardsfolder/upcoming/defiant_survivor.txt +++ b/forge-gui/res/cardsfolder/upcoming/defiant_survivor.txt @@ -2,6 +2,6 @@ Name:Defiant Survivor Types:Creature Human Survivor ManaCost:2 G PT:3/2 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDread | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, manifest dread. (Look at the top two cards of your library. Put one onto the battlefield face down as a 2/2 creature and the other into your graveyard. Turn it face up any time for its mana cost if it's a creature card.) +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDread | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, manifest dread. (Look at the top two cards of your library. Put one onto the battlefield face down as a 2/2 creature and the other into your graveyard. Turn it face up any time for its mana cost if it's a creature card.) SVar:TrigDread:DB$ ManifestDread Oracle:Survival — At the beginning of your second main phase, if Defiant Survivor is tapped, manifest dread. (Look at the top two cards of your library. Put one onto the battlefield face down as a 2/2 creature and the other into your graveyard. Turn it face up any time for its mana cost if it's a creature card.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/disorienting_choice.txt b/forge-gui/res/cardsfolder/upcoming/disorienting_choice.txt new file mode 100644 index 00000000000..2749459bbc7 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/disorienting_choice.txt @@ -0,0 +1,14 @@ +Name:Disorienting Choice +ManaCost:3 G +Types:Sorcery +A:SP$ Pump | ValidTgts$ Artifact.OppCtrl,Enchantment.OppCtrl | TgtPrompt$ Choose up to one target artifact or enchantment each opponent controls | TargetMin$ 0 | TargetMax$ OneEach | TargetsForEachPlayer$ True | SubAbility$ DBRepeat | SpellDescription$ For each opponent, choose up to one target artifact or enchantment that player controls. For each permanent chosen this way, its controller may exile it. Then if one or more of the chosen permanents are still on the battlefield, you search your library for up to that many land cards, put them onto the battlefield tapped, then shuffle. +SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ TargetedController | RepeatSubAbility$ DBChoice | SubAbility$ DBExile +SVar:DBChoice:DB$ GenericChoice | Choices$ DBDoNotKeep,DBIncrease | Defined$ Remembered | AILogic$ Random | ShowChoice$ ExceptSelf +SVar:DBDoNotKeep:DB$ Pump | Defined$ Targeted.RememberedPlayerCtrl | RememberPumped$ True | SpellDescription$ Exile targeted card +SVar:DBIncrease:DB$ StoreSVar | SVar$ X | Type$ CountSVar | Expression$ X/Plus.1 | SpellDescription$ Keep targeted card +SVar:DBExile:DB$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ChangeType$ Card.IsRemembered | SubAbility$ DBSearchLibrary +SVar:DBSearchLibrary:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land | Tapped$ True | ChangeNum$ X | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Number$0 +SVar:OneEach:PlayerCountOpponents$Amount +Oracle:For each opponent, choose up to one target artifact or enchantment that player controls. For each permanent chosen this way, its controller may exile it. Then if one or more of the chosen permanents are still on the battlefield, you search your library for up to that many land cards, put them onto the battlefield tapped, then shuffle. diff --git a/forge-gui/res/cardsfolder/upcoming/dollmakers_shop_porcelain_gallery.txt b/forge-gui/res/cardsfolder/upcoming/dollmakers_shop_porcelain_gallery.txt new file mode 100644 index 00000000000..edaac8c507f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/dollmakers_shop_porcelain_gallery.txt @@ -0,0 +1,16 @@ +Name:Dollmaker's Shop +ManaCost:1 W +Types:Enchantment Room +T:Mode$ AttackersDeclaredOneTarget | Execute$ TrigToken | AttackedTarget$ Player | ValidAttackers$ Creature.YouCtrl+!Toy | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever one or more non-Toy creatures you control attack a player, create a 1/1 white Toy artifact creature token. +SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_a_toy +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhenever one or more non-Toy creatures you control attack a player, create a 1/1 white Toy artifact creature token. + +ALTERNATE + +Name:Porcelain Gallery +ManaCost:4 W W +Types:Enchantment Room +S:Mode$ Continuous | Affected$ Creature.YouCtrl | AffectedZone$ Battlefield | SetPower$ X | SetToughness$ X | Description$ Creatures you control have base power and toughness each equal to the number of creatures you control. +SVar:X:Count$Valid Creature.YouCtrl +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nCreatures you control have base power and toughness each equal to the number of creatures you control. diff --git a/forge-gui/res/cardsfolder/upcoming/erratic_apparition.txt b/forge-gui/res/cardsfolder/upcoming/erratic_apparition.txt index b02ad568f74..e11a3c1d47f 100644 --- a/forge-gui/res/cardsfolder/upcoming/erratic_apparition.txt +++ b/forge-gui/res/cardsfolder/upcoming/erratic_apparition.txt @@ -5,7 +5,7 @@ PT:1/3 K:Flying K:Vigilance T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +1/+1 until end of turn. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +1/+1 until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +1/+1 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 1 | NumDef$ 1 DeckNeeds:Type$Enchantment Oracle:Flying, vigilance\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Erratic Apparition gets +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/fear_of_infinity.txt b/forge-gui/res/cardsfolder/upcoming/fear_of_infinity.txt index fb96df79c3b..680caea3554 100644 --- a/forge-gui/res/cardsfolder/upcoming/fear_of_infinity.txt +++ b/forge-gui/res/cardsfolder/upcoming/fear_of_infinity.txt @@ -6,6 +6,6 @@ K:Flying K:Lifelink K:CARDNAME can't block. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | OptionalDecider$ You | TriggerZones$ Graveyard | Execute$ TrigChange | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, you may return CARDNAME from your graveyard to your hand. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | OptionalDecider$ You | TriggerZones$ Graveyard | Execute$ TrigChange | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, you may return CARDNAME from your graveyard to your hand. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | OptionalDecider$ You | TriggerZones$ Graveyard | Execute$ TrigChange | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, you may return CARDNAME from your graveyard to your hand. SVar:TrigChange:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand Oracle:Flying, lifelink\nFear of Infinity can't block.\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, you may return Fear of Infinity from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/ghostly_keybearer.txt b/forge-gui/res/cardsfolder/upcoming/ghostly_keybearer.txt new file mode 100644 index 00000000000..60e74d8b49d --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ghostly_keybearer.txt @@ -0,0 +1,8 @@ +Name:Ghostly Keybearer +ManaCost:3 U +Types:Creature Spirit +PT:3/3 +K:Flying +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | Execute$ TrigUnlock | CombatDamage$ True | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, unlock a locked door of up to one target Room you control. +SVar:TrigUnlock:DB$ UnlockDoor | Mode$ Unlock | ValidTgts$ Room.YouCtrl | TgtPrompt$ Choose target Room you control | TargetMin$ 0 | TargetMax$ 1 +Oracle:Flying\nWhenever Ghostly Keybearer deals combat damage to a player, unlock a locked door of up to one target Room you control. diff --git a/forge-gui/res/cardsfolder/upcoming/glassworks_shattered_yard.txt b/forge-gui/res/cardsfolder/upcoming/glassworks_shattered_yard.txt new file mode 100644 index 00000000000..c92c060c718 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/glassworks_shattered_yard.txt @@ -0,0 +1,16 @@ +Name:Glassworks +ManaCost:2 R +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDamage | TriggerDescription$ When you unlock this door, this Room deals 4 damage to target creature an opponent controls. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ 4 +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, this Room deals 4 damage to target creature an opponent controls. + +ALTERNATE + +Name:Shattered Yard +ManaCost:4 R +Types:Enchantment Room +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigAllDamage | TriggerDescription$ At the beginning of your end step, this Room deals 1 damage to each opponent. +SVar:TrigAllDamage:DB$ DamageAll | ValidPlayers$ Player.Opponent | NumDmg$ 1 +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nAt the beginning of your end step, this Room deals 1 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/upcoming/glimmer_seeker.txt b/forge-gui/res/cardsfolder/upcoming/glimmer_seeker.txt index 1708a315d1e..ee4f65569b4 100644 --- a/forge-gui/res/cardsfolder/upcoming/glimmer_seeker.txt +++ b/forge-gui/res/cardsfolder/upcoming/glimmer_seeker.txt @@ -2,7 +2,7 @@ Name:Glimmer Seeker ManaCost:2 W Types:Creature Human Survivor PT:3/3 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigBranch | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, draw a card if you control a Glimmer creature. If you don't control a Glimmer creature, create a 1/1 white Glimmer enchantment creature token. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigBranch | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, draw a card if you control a Glimmer creature. If you don't control a Glimmer creature, create a 1/1 white Glimmer enchantment creature token. SVar:TrigBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ GE1 | TrueSubAbility$ DBDraw | FalseSubAbility$ DBToken SVar:DBDraw:DB$ Draw SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_e_glimmer | TokenOwner$ You diff --git a/forge-gui/res/cardsfolder/upcoming/gremlin_tamer.txt b/forge-gui/res/cardsfolder/upcoming/gremlin_tamer.txt index 0be3f288709..b506a000815 100644 --- a/forge-gui/res/cardsfolder/upcoming/gremlin_tamer.txt +++ b/forge-gui/res/cardsfolder/upcoming/gremlin_tamer.txt @@ -3,8 +3,8 @@ ManaCost:W U Types:Creature Human Scout PT:2/2 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, create a 1/1 red Gremlin creature token. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigToken | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, create a 1/1 red Gremlin creature token. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigToken | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, create a 1/1 red Gremlin creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ r_1_1_gremlin | TokenOwner$ You DeckHas:Ability$Token DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, create a 1/1 red Gremlin creature token. \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, create a 1/1 red Gremlin creature token. diff --git a/forge-gui/res/cardsfolder/upcoming/house_cartographer.txt b/forge-gui/res/cardsfolder/upcoming/house_cartographer.txt index ce7bd7afb26..3e4067fba61 100644 --- a/forge-gui/res/cardsfolder/upcoming/house_cartographer.txt +++ b/forge-gui/res/cardsfolder/upcoming/house_cartographer.txt @@ -2,6 +2,6 @@ Name:House Cartographer Types:Creature Human Scout Survivor ManaCost:1 G PT:2/2 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDigUntil | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, reveal cards from the top of your library until you reveal a land card. Put that card into your hand and the rest on the bottom of your library in a random order. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDigUntil | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, reveal cards from the top of your library until you reveal a land card. Put that card into your hand and the rest on the bottom of your library in a random order. SVar:TrigDigUntil:DB$ DigUntil | Valid$ Card.Land | ValidDescription$ land | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | FoundDestination$ Hand Oracle:Survival — At the beginning of your second main phase, if House Cartographer is tapped, reveal cards from the top of your library until you reveal a land card. Put that card into your hand and the rest on the bottom of your library in a random order. diff --git a/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt b/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt index 383a846673b..5bf2f757441 100644 --- a/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt +++ b/forge-gui/res/cardsfolder/upcoming/infernal_phantom.txt @@ -3,10 +3,10 @@ ManaCost:3 R Types:Creature Spirit PT:2/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 until end of turn. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 until end of turn. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME gets +2/+0 until end of turn. SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ 2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDamage | TriggerDescription$ When CARDNAME dies, it deals damage equal to its power to any target. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ X SVar:X:TriggeredCard$CardPower DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Infernal Phantom gets +2/+0 until end of turn.\nWhen Infernal Phantom dies, it deals damage equal to its power to any target. \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, Infernal Phantom gets +2/+0 until end of turn.\nWhen Infernal Phantom dies, it deals damage equal to its power to any target. diff --git a/forge-gui/res/cardsfolder/upcoming/inquisitive_glimmer.txt b/forge-gui/res/cardsfolder/upcoming/inquisitive_glimmer.txt new file mode 100644 index 00000000000..59f6c0871a2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/inquisitive_glimmer.txt @@ -0,0 +1,8 @@ +Name:Inquisitive Glimmer +ManaCost:W U +Types:Enchantment Creature Fox Glimmer +PT:2/3 +S:Mode$ ReduceCost | ValidCard$ Enchantment | Type$ Spell | Activator$ You | Amount$ 1 | Description$ Enchantment spells you cast cost {1} less to cast. +S:Mode$ ReduceCost | ValidSpell$ Static.Unlock | Activator$ You | Amount$ 1 | Description$ Unlock costs you pay cost {1} less. +DeckHints:Type$Enchantment +Oracle:Enchantment spells you cast cost {1} less to cast.\nUnlock costs you pay cost {1} less. diff --git a/forge-gui/res/cardsfolder/upcoming/kona_rescue_beastie.txt b/forge-gui/res/cardsfolder/upcoming/kona_rescue_beastie.txt index 3a6af7c7609..e0abae0c9f7 100644 --- a/forge-gui/res/cardsfolder/upcoming/kona_rescue_beastie.txt +++ b/forge-gui/res/cardsfolder/upcoming/kona_rescue_beastie.txt @@ -2,6 +2,6 @@ Name:Kona, Rescue Beastie Types:Legendary Creature Beast Survivor ManaCost:3 G PT:4/3 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you may put a permanent card from your hand onto the battlefield. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, you may put a permanent card from your hand onto the battlefield. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Permanent.YouOwn Oracle:Survival — At the beginning of your second main phase, if Kona, Rescue Beastie is tapped, you may put a permanent card from your hand onto the battlefield. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/meat_locker_drowned_diner.txt b/forge-gui/res/cardsfolder/upcoming/meat_locker_drowned_diner.txt new file mode 100644 index 00000000000..46fe7299e7c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/meat_locker_drowned_diner.txt @@ -0,0 +1,18 @@ +Name:Meat Locker +ManaCost:2 U +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigTap | TriggerDescription$ When you unlock this door, tap up to one target creature and put two stun counters on it. (If a permanent with a stun counter would become untapped, remove one from it instead.) +SVar:TrigTap:DB$ Tap | ValidTgts$ Creature | TgtPrompt$ Select up to one target creature | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBCounter +SVar:DBCounter:DB$ PutCounter | Defined$ Targeted | CounterType$ Stun | CounterNum$ 2 +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, tap up to one target creature and put two stun counters on it. (If a permanent with a stun counter would become untapped, remove one from it instead.) + +ALTERNATE + +Name:Drowned Diner +ManaCost:3 U U +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDraw | TriggerDescription$ When you unlock this door, draw three cards, then discard a card. +SVar:TrigDraw:DB$ Draw | NumCards$ 3 | SubAbility$ DBDiscard +SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, draw three cards, then discard a card. diff --git a/forge-gui/res/cardsfolder/upcoming/mirror_room_fractured_realm.txt b/forge-gui/res/cardsfolder/upcoming/mirror_room_fractured_realm.txt new file mode 100644 index 00000000000..cc05746bd37 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mirror_room_fractured_realm.txt @@ -0,0 +1,15 @@ +Name:Mirror Room +ManaCost:2 U +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigCopy | TriggerDescription$ When you unlock this door, create a token that's a copy of target creature you control, except it's a Reflection in addition to its other creature types. +SVar:TrigCopy:DB$ CopyPermanent | Defined$ Targeted | AddTypes$ Reflection | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, create a token that's a copy of target creature you control, except it's a Reflection in addition to its other creature types. + +ALTERNATE + +Name:Fractured Realm +ManaCost:5 U U +Types:Enchantment Room +S:Mode$ Panharmonicon | ValidCard$ Permanent.YouCtrl | Description$ If a triggered ability of a permanent you control triggers, that ability triggers an additional time. +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nIf a triggered ability of a permanent you control triggers, that ability triggers an additional time. diff --git a/forge-gui/res/cardsfolder/upcoming/moldering_gym_weight_room.txt b/forge-gui/res/cardsfolder/upcoming/moldering_gym_weight_room.txt new file mode 100644 index 00000000000..194b112c79a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/moldering_gym_weight_room.txt @@ -0,0 +1,18 @@ +Name:Moldering Gym +ManaCost:2 G +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigSearch | TriggerDescription$ When you unlock this door, search your library for a basic land card, put it onto the battlefield tapped, then shuffle. +SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.Basic | ChangeNum$ 1 +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, search your library for a basic land card, put it onto the battlefield tapped, then shuffle. + +ALTERNATE + +Name:Weight Room +ManaCost:5 G +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDread | TriggerDescription$ When you unlock this door, manifest dread, then put three +1/+1 counters on that creature. +SVar:TrigDread:DB$ ManifestDread | Amount$ 1 | RememberManifested$ True | SubAbility$ DBPutCounter +SVar:DBPutCounter:DB$ PutCounter | Defined$ RememberedCard | CounterType$ P1P1 | CounterNum$ 3 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, manifest dread, then put three +1/+1 counters on that creature. diff --git a/forge-gui/res/cardsfolder/upcoming/niko_light_of_hope.txt b/forge-gui/res/cardsfolder/upcoming/niko_light_of_hope.txt index 7cef3e7298e..c4e14ca79a9 100644 --- a/forge-gui/res/cardsfolder/upcoming/niko_light_of_hope.txt +++ b/forge-gui/res/cardsfolder/upcoming/niko_light_of_hope.txt @@ -5,7 +5,7 @@ PT:3/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters, create two Shard tokens. (They're enchantments with "2, Sacrifice this enchantment: Scry 1, then draw a card.") SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenScript$ c_e_shard_draw | TokenOwner$ You A:AB$ ChangeZone | Cost$ 2 T | ValidTgts$ Creature.nonLegendary+YouCtrl | Origin$ Battlefield | Destination$ Exile | TgtPrompt$ Select nonlegendary creature you control | SubAbility$ DBClone | RememberLKI$ True | Imprint$ True | SpellDescription$ Exile target nonlegendary creature you control. Shards you control become copies of it until the beginning of the next end step. Return it to the battlefield under its owner's control at the beginning of the next end step. -SVar:DBClone:DB$ Clone | Defined$ Remembered | CloneTarget$ Valid Shard.YouCtrl | Duration$ UntilNextEndStep | SubAbility$ DelTrig +SVar:DBClone:DB$ Clone | Defined$ RememberedLKI | CloneTarget$ Valid Shard.YouCtrl | Duration$ UntilNextEndStep | SubAbility$ DelTrig SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ ImprintedLKI | TriggerDescription$ Return exiled permanent to the battlefield. | SubAbility$ DBCleanup SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True diff --git a/forge-gui/res/cardsfolder/upcoming/oblivious_bookworm.txt b/forge-gui/res/cardsfolder/upcoming/oblivious_bookworm.txt new file mode 100644 index 00000000000..4b2f6e8cb10 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/oblivious_bookworm.txt @@ -0,0 +1,16 @@ +Name:Oblivious Bookworm +ManaCost:G U +Types:Creature Human Wizard +PT:2/3 +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your end step, you may draw a card. If you do, discard a card unless a permanent entered the battlefield face down under your control this turn or you turned a permanent face up this turn. +SVar:TrigDraw:DB$ Draw | RememberDrawn$ True | Optional$ True | SubAbility$ DBDiscard +SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ X | Mode$ TgtChoose | ConditionCheckSVar$ Condition | ConditionSVarCompare$ EQ0 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ TurnFaceUp | ValidCard$ Permanent+inZoneBattlefield | ValidCause$ SpellAbility.YouCtrl | Execute$ TrigRemember | Static$ True +SVar:TrigRemember:DB$ Pump | ImprintCards$ TriggeredCard +T:Mode$ Phase | Phase$ Upkeep | Static$ True | Execute$ DBCleanupStatic +SVar:DBCleanupStatic:DB$ Cleanup | ClearImprinted$ True +SVar:Condition:Count$ImprintedSize/Plus.Y +SVar:X:Count$RememberedSize/LimitMax.1 +SVar:Y:Count$ThisTurnEntered_Battlefield_Permanent.YouCtrl+faceDown +Oracle:At the beginning of your end step, you may draw a card. If you do, discard a card unless a permanent entered the battlefield face down under your control this turn or you turned a permanent face up this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/optimistic_scavenger.txt b/forge-gui/res/cardsfolder/upcoming/optimistic_scavenger.txt index 559180742ee..23ddae673a2 100644 --- a/forge-gui/res/cardsfolder/upcoming/optimistic_scavenger.txt +++ b/forge-gui/res/cardsfolder/upcoming/optimistic_scavenger.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Human Scout PT:1/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a +1/+1 counter on target creature. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a +1/+1 counter on target creature. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a +1/+1 counter on target creature. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 DeckHas:Ability$Counters DeckNeeds:Type$Enchantment diff --git a/forge-gui/res/cardsfolder/upcoming/painters_studio_defaced_gallery.txt b/forge-gui/res/cardsfolder/upcoming/painters_studio_defaced_gallery.txt new file mode 100644 index 00000000000..60673c9c0fb --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/painters_studio_defaced_gallery.txt @@ -0,0 +1,19 @@ +Name:Painter's Studio +ManaCost:2 R +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDig | TriggerDescription$ When you unlock this door, exile the top two cards of your library. You may play them until the end of your next turn. +SVar:TrigDig:DB$ Dig | Defined$ You | DigNum$ 2 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ExileOnMoved$ Exile | RememberObjects$ Remembered | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup +SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play the chosen card this turn. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, exile the top two cards of your library. You may play them until the end of your next turn. + +ALTERNATE + +Name:Defaced Gallery +ManaCost:1 R +Types:Enchantment Room +T:Mode$ AttackersDeclared | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you attack, attacking creatures you control get +1/+0 until end of turn. +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.attacking+YouCtrl | NumAtt$ 1 +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhenever you attack, attacking creatures you control get +1/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/paranormal_analyst.txt b/forge-gui/res/cardsfolder/upcoming/paranormal_analyst.txt new file mode 100644 index 00000000000..f9f4b943343 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/paranormal_analyst.txt @@ -0,0 +1,7 @@ +Name:Paranormal Analyst +ManaCost:1 U +Types:Creature Human Detective +PT:1/3 +T:Mode$ ManifestDread | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigReturn | TriggerDescription$ Whenever you manifest dread, put a card you put into your graveyard this way into your hand. +SVar:TrigReturn:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Hand +Oracle:Whenever you manifest dread, put a card you put into your graveyard this way into your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/rampaging_soulrager.txt b/forge-gui/res/cardsfolder/upcoming/rampaging_soulrager.txt new file mode 100644 index 00000000000..af9fc947061 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rampaging_soulrager.txt @@ -0,0 +1,7 @@ +Name:Rampaging Soulrager +ManaCost:2 R +Types:Creature Spirit +PT:1/4 +S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | CheckSVar$ X | SVarCompare$ GE2 | Description$ CARDNAME gets +3/+0 as long as there are two or more unlocked doors among Rooms you control. +SVar:X:Count$UnlockedDoors Card.Room+YouCtrl +Oracle:Rampaging Soulrager gets +3/+0 as long as there are two or more unlocked doors among Rooms you control. diff --git a/forge-gui/res/cardsfolder/upcoming/reluctant_role_model.txt b/forge-gui/res/cardsfolder/upcoming/reluctant_role_model.txt index dee1324f87d..bd9888cb34e 100644 --- a/forge-gui/res/cardsfolder/upcoming/reluctant_role_model.txt +++ b/forge-gui/res/cardsfolder/upcoming/reluctant_role_model.txt @@ -2,7 +2,7 @@ Name:Reluctant Role Model ManaCost:1 W Types:Creature Human Survivor PT:2/2 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter1 | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a flying, lifelink, or +1/+1 counter on it. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter1 | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a flying, lifelink, or +1/+1 counter on it. SVar:TrigPutCounter1:DB$ PutCounter | CounterType$ Flying,Lifelink,P1P1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self+HasCounters,Creature.Other+YouCtrl+HasCounters | TriggerZones$ Battlefield | Execute$ TrigPutCounter2 | TriggerDescription$ Whenever CARDNAME or another creature you control dies, if it had counters on it, put those counters on up to one target creature. SVar:TrigPutCounter2:DB$ PutCounter | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Choose target creature | ValidTgts$ Creature | CounterType$ EachFromSource | EachFromSource$ TriggeredCardLKICopy diff --git a/forge-gui/res/cardsfolder/upcoming/restricted_office_lecture_hall.txt b/forge-gui/res/cardsfolder/upcoming/restricted_office_lecture_hall.txt new file mode 100644 index 00000000000..194cd407c7f --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/restricted_office_lecture_hall.txt @@ -0,0 +1,15 @@ +Name:Restricted Office +ManaCost:2 W W +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDestroy | TriggerDescription$ When you unlock this door, destroy all creatures with power 3 or greater. +SVar:TrigDestroy:DB$ DestroyAll | ValidCards$ Creature.powerGE3 +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, destroy all creatures with power 3 or greater. + +ALTERNATE + +Name:Lecture Hall +ManaCost:5 U U +Types:Enchantment Room +S:Mode$ Continuous | Affected$ Permanent.Other+YouCtrl | AddKeyword$ Hexproof | Description$ Other permanents you control have hexproof. +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nOther permanents you control have hexproof. diff --git a/forge-gui/res/cardsfolder/upcoming/rip_spawn_hunter.txt b/forge-gui/res/cardsfolder/upcoming/rip_spawn_hunter.txt index 75cdbfe197a..766a0dbbf88 100644 --- a/forge-gui/res/cardsfolder/upcoming/rip_spawn_hunter.txt +++ b/forge-gui/res/cardsfolder/upcoming/rip_spawn_hunter.txt @@ -2,7 +2,7 @@ Name:Rip, Spawn Hunter Types:Legendary Creature Human Survivor ManaCost:2 G W PT:4/4 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, reveal the top X cards of your library, where X is its power. Put any number of creature and/or Vehicle cards with different powers from among them into your hand. Put the rest on the bottom of your library in a random order. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigDig | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, reveal the top X cards of your library, where X is its power. Put any number of creature and/or Vehicle cards with different powers from among them into your hand. Put the rest on the bottom of your library in a random order. SVar:TrigDig:DB$ Dig | DigNum$ X | AnyNumber$ True | WithDifferentPowers$ True | ChangeValid$ Creature,Vehicle | RestRandomOrder$ True | ForceRevealToController$ True SVar:X:Count$CardPower Oracle:Survival — At the beginning of your second main phase, if Rip, Spawn Hunter is tapped, reveal the top X cards of your library, where X is its power. Put any number of creature and/or Vehicle cards with different powers from among them into your hand. Put the rest on the bottom of your library in a random order. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/roaring_furnace_steaming_sauna.txt b/forge-gui/res/cardsfolder/upcoming/roaring_furnace_steaming_sauna.txt new file mode 100644 index 00000000000..2577aac9fc9 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/roaring_furnace_steaming_sauna.txt @@ -0,0 +1,18 @@ +Name:Roaring Furnace +ManaCost:1 R +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDamage | TriggerDescription$ When you unlock this door, this Room deals damage equal to the number of cards in your hand to target creature an opponent controls. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | NumDmg$ X +SVar:X:Count$CardsInYourHand +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, this Room deals damage equal to the number of cards in your hand to target creature an opponent controls. + +ALTERNATE + +Name:Steaming Sauna +ManaCost:3 U U +Types:Enchantment Room +S:Mode$ Continuous | Affected$ You | SetMaxHandSize$ Unlimited | Description$ You have no maximum hand size. +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ At the beginning of your end step, draw a card. +SVar:TrigDraw:DB$ Draw +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nYou have no maximum hand size.\nAt the beginning of your end step, draw a card. diff --git a/forge-gui/res/cardsfolder/upcoming/rootwise_survivor.txt b/forge-gui/res/cardsfolder/upcoming/rootwise_survivor.txt index d8ce8f895ab..1311dee275c 100644 --- a/forge-gui/res/cardsfolder/upcoming/rootwise_survivor.txt +++ b/forge-gui/res/cardsfolder/upcoming/rootwise_survivor.txt @@ -3,7 +3,7 @@ Types:Creature Human Survivor ManaCost:3 G G PT:3/4 K:Haste -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put three +1/+1 counters on up to one target land you control. That land becomes a 0/0 Elemental creature in addition to its other types. It gains haste until your next turn. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put three +1/+1 counters on up to one target land you control. That land becomes a 0/0 Elemental creature in addition to its other types. It gains haste until your next turn. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select target land you control | TargetMin$ 0 | TargetMax$ 1 | CounterType$ P1P1 | CounterNum$ 3 | SubAbility$ DBAnimate SVar:DBAnimate:DB$ Animate | Defined$ Targeted | Power$ 0 | Toughness$ 0 | Types$ Creature,Elemental | Duration$ Permanent | SubAbility$ DBPump SVar:DBPump:DB$ Pump | Keywords$ Haste | Defined$ Targeted | Duration$ UntilYourNextTurn diff --git a/forge-gui/res/cardsfolder/upcoming/sadistic_shell_game.txt b/forge-gui/res/cardsfolder/upcoming/sadistic_shell_game.txt new file mode 100644 index 00000000000..ffcd3aa97a3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/sadistic_shell_game.txt @@ -0,0 +1,6 @@ +Name:Sadistic Shell Game +ManaCost:4 B +Types:Sorcery +A:SP$ ChooseCard | Choices$ Creature.YouDontCtrl | Reveal$ True | Defined$ Player | StartingWith$ Opponent | Mandatory$ True | ChoiceTitle$ Choose a creature to destroy | AILogic$ OppPreferred | SubAbility$ DBDestroy | StackDescription$ SpellDescription | SpellDescription$ Starting with the next opponent in turn order, each player chooses a creature you don't control. Destroy the chosen creatures. +SVar:DBDestroy:DB$ DestroyAll | ValidCards$ Card.ChosenCard | StackDescription$ None +Oracle:Starting with the next opponent in turn order, each player chooses a creature you don't control. Destroy the chosen creatures. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/savior_of_the_small.txt b/forge-gui/res/cardsfolder/upcoming/savior_of_the_small.txt index bea5f35b5ca..31d7fda0b34 100644 --- a/forge-gui/res/cardsfolder/upcoming/savior_of_the_small.txt +++ b/forge-gui/res/cardsfolder/upcoming/savior_of_the_small.txt @@ -2,6 +2,6 @@ Name:Savior of the Small Types:Creature Kor Survivor ManaCost:3 W PT:3/4 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, return target creature card with mana value 3 or less from your graveyard to your hand. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, return target creature card with mana value 3 or less from your graveyard to your hand. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Creature.YouOwn+cmcLE3 | TgtPrompt$ Select target creature card with mana value 3 or less Oracle:Survival — At the beginning of your second main phase, if Savior of the Small is tapped, return target creature card with mana value 3 or less from your graveyard to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt b/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt index c3eb6d6daf0..773e900cb6e 100644 --- a/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt +++ b/forge-gui/res/cardsfolder/upcoming/scrabbling_skullcrab.txt @@ -3,7 +3,7 @@ ManaCost:U Types:Creature Crab Skeleton PT:0/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigMill | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigMill | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) SVar:TrigMill:DB$ Mill | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Select target player DeckNeeds:Type$Enchantment -Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) \ No newline at end of file +Oracle:Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, target player mills two cards. (They put the top two cards of their library into their graveyard.) diff --git a/forge-gui/res/cardsfolder/upcoming/screaming_nemesis.txt b/forge-gui/res/cardsfolder/upcoming/screaming_nemesis.txt index 3c1b58bd8a1..ef38ec15996 100644 --- a/forge-gui/res/cardsfolder/upcoming/screaming_nemesis.txt +++ b/forge-gui/res/cardsfolder/upcoming/screaming_nemesis.txt @@ -4,7 +4,7 @@ Types:Creature Spirit PT:3/3 K:Haste T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to any other target. If a player is dealt damage this way, they can't gain life for the rest of the game. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature.Other,Player,Planeswalker.Other,Battle.Other | TgtPrompt$ Select any other target | RememberDamaged$ True | SubAbility DBEffect +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature.Other,Player,Planeswalker.Other,Battle.Other | TgtPrompt$ Select any other target | RememberDamaged$ True | SubAbility$ DBEffect SVar:DBEffect:DB$ Effect | StaticAbilities$ CantGainLife | Duration$ Permanent | RememberObjects$ Player.IsRemembered | SubAbility$ DBCleanup SVar:CantGainLife:Mode$ CantGainLife | ValidPlayer$ Player.IsRemembered | Description$ The damaged player can't gain life for the rest of the game. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/upcoming/shrewd_storyteller.txt b/forge-gui/res/cardsfolder/upcoming/shrewd_storyteller.txt index ac67faca4db..21ec339f6e4 100644 --- a/forge-gui/res/cardsfolder/upcoming/shrewd_storyteller.txt +++ b/forge-gui/res/cardsfolder/upcoming/shrewd_storyteller.txt @@ -2,6 +2,6 @@ Name:Shrewd Storyteller Types:Creature Human Survivor ManaCost:1 G W PT:3/3 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a +1/+1 counter on target creature. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, put a +1/+1 counter on target creature. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 Oracle:Survival — At the beginning of your second main phase, if Shrewd Storyteller is tapped, put a +1/+1 counter on target creature. diff --git a/forge-gui/res/cardsfolder/upcoming/skullsnap_nuisance.txt b/forge-gui/res/cardsfolder/upcoming/skullsnap_nuisance.txt index 073406f1f51..c24d715614f 100644 --- a/forge-gui/res/cardsfolder/upcoming/skullsnap_nuisance.txt +++ b/forge-gui/res/cardsfolder/upcoming/skullsnap_nuisance.txt @@ -4,7 +4,7 @@ Types:Creature Insect Skeleton PT:1/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 1. (Look at the top card of your library. You may put it into your graveyard.) -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 1. (Look at the top card of your library. You may put it into your graveyard.). +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigSurveil | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 1. (Look at the top card of your library. You may put it into your graveyard.). SVar:TrigSurveil:DB$ Surveil | Amount$ 1 DeckNeeds:Type$Enchantment -Oracle:Flying\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 1. (Look at the top card of your library. You may put it into your graveyard.) \ No newline at end of file +Oracle:Flying\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 1. (Look at the top card of your library. You may put it into your graveyard.) diff --git a/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt b/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt index c737d968208..30e6371f87d 100644 --- a/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt +++ b/forge-gui/res/cardsfolder/upcoming/stalked_researcher.txt @@ -4,7 +4,7 @@ Types:Creature Human Wizard PT:3/3 K:Defender T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigEffect | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME can attack this turn as though it didn't have defender. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigEffect | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME can attack this turn as though it didn't have defender. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigEffect | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, CARDNAME can attack this turn as though it didn't have defender. SVar:TrigEffect:DB$ Effect | StaticAbilities$ CanAttack | ForgetOnMoved$ Battlefield SVar:CanAttack:Mode$ CanAttackDefender | ValidCard$ Card.EffectSource | Description$ EFFECTSOURCE can attack this turn as though it didn't have defender. DeckNeeds:Type$Enchantment diff --git a/forge-gui/res/cardsfolder/upcoming/star_athlete.txt b/forge-gui/res/cardsfolder/upcoming/star_athlete.txt new file mode 100644 index 00000000000..01bcd1f491e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/star_athlete.txt @@ -0,0 +1,11 @@ +Name:Star Athlete +ManaCost:2 R R +Types:Creature Human Warrior +PT:3/2 +K:Menace +K:Blitz:3 R +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ DBPump | TriggerDescription$ Whenever CARDNAME attacks, choose up to one target nonland permanent. Its controller may sacrifice it. If they don't, CARDNAME deals 5 damage to that player. +SVar:DBPump:DB$ Pump | ValidTgts$ Permanent.nonLand | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target nonland permanent | SubAbility$ DBDamage +SVar:DBDamage:DB$ DealDamage | Defined$ TargetedController | UnlessCost$ Sac<1/Permanent.nonLand+targetedBy/targeted nonland permanent> | NumDmg$ 5 +DeckHas:Ability$Sacrifice +Oracle:Menace\nWhenever Star Athlete attacks, choose up to one target nonland permanent. Its controller may sacrifice it. If they don't, Star Athlete deals 5 damage to that player.\nBlitz {3}{R} (If you cast this spell for its blitz cost, it gains haste and "When this creature dies, draw a card." Sacrifice it at the beginning of the next end step.) diff --git a/forge-gui/res/cardsfolder/upcoming/surgical_suite_hospital_room.txt b/forge-gui/res/cardsfolder/upcoming/surgical_suite_hospital_room.txt new file mode 100644 index 00000000000..701cba0fe45 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/surgical_suite_hospital_room.txt @@ -0,0 +1,16 @@ +Name:Surgical Suite +ManaCost:1 W +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigReturn | TriggerDescription$ When you unlock this door, return target creature card with mana value 3 or less from your graveyard to the battlefield. +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl+cmcLE3 | TgtPrompt$ Select target creature card with mana value 3 or less +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, return target creature card with mana value 3 or less from your graveyard to the battlefield. + +ALTERNATE + +Name:Hospital Room +ManaCost:3 W +Types:Enchantment Room +T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, put a +1/+1 counter on target attacking creature. +SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | CounterType$ P1P1 | CounterNum$ 1 +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhenever you attack, put a +1/+1 counter on target attacking creature. diff --git a/forge-gui/res/cardsfolder/upcoming/ticket_booth_tunnel_of_hate.txt b/forge-gui/res/cardsfolder/upcoming/ticket_booth_tunnel_of_hate.txt new file mode 100644 index 00000000000..4c7105ed4b2 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/ticket_booth_tunnel_of_hate.txt @@ -0,0 +1,16 @@ +Name:Ticket Booth +ManaCost:2 R +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDread | TriggerDescription$ When you unlock this door, manifest dread. +SVar:TrigDread:DB$ ManifestDread +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, manifest dread. + +ALTERNATE + +Name:Tunnel of Hate +ManaCost:4 R R +Types:Enchantment Room +T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, target attacking creature gains double strike until end of turn. +SVar:TrigPump:DB$ Pump | KW$ Double Strike | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhenever you attack, target attacking creature gains double strike until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/underwater_tunnel_slimy_aquarium.txt b/forge-gui/res/cardsfolder/upcoming/underwater_tunnel_slimy_aquarium.txt new file mode 100644 index 00000000000..c970f483333 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/underwater_tunnel_slimy_aquarium.txt @@ -0,0 +1,18 @@ +Name:Underwater Tunnel +ManaCost:U +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigSurveil | TriggerDescription$ When you unlock this door, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) +SVar:TrigSurveil:DB$ Surveil | Amount$ 2 +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, surveil 2. (Look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) + +ALTERNATE + +Name:Slimy Aquarium +ManaCost:3 U +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigDread | TriggerDescription$ When you unlock this door, manifest dread, then put a +1/+1 counter on that creature. +SVar:TrigDread:DB$ ManifestDread | Amount$ 1 | RememberManifested$ True | SubAbility$ DBPutCounter +SVar:DBPutCounter:DB$ PutCounter | Defined$ RememberedCard | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, manifest dread, then put a +1/+1 counter on that creature. diff --git a/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt b/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt index e68418be225..e082b912a1b 100644 --- a/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt +++ b/forge-gui/res/cardsfolder/upcoming/unwilling_vessel.txt @@ -4,11 +4,11 @@ Types:Creature Human Wizard PT:3/2 K:Vigilance T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on CARDNAME. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPutCounter | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on CARDNAME. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ POSSESSION | CounterNum$ 1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME dies, create an X/X blue Spirit creature token with flying, where X is the number of counters on CARDNAME. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ u_x_x_spirit_flying | TokenPower$ X | TokenToughness$ X | TokenOwner$ You SVar:X:TriggeredCard$CardCounters.ALL DeckHas:Ability$Token & Type$Spirit DeckNeeds:Type$Enchantment -Oracle:Vigilance\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on Unwilling Vessel.\nWhen Unwilling Vessel dies, create an X/X blue Spirit creature token with flying, where X is the number of counters on Unwilling Vessel. \ No newline at end of file +Oracle:Vigilance\nEerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, put a possession counter on Unwilling Vessel.\nWhen Unwilling Vessel dies, create an X/X blue Spirit creature token with flying, where X is the number of counters on Unwilling Vessel. diff --git a/forge-gui/res/cardsfolder/upcoming/veteran_survivor.txt b/forge-gui/res/cardsfolder/upcoming/veteran_survivor.txt index 2909fd376f4..29e9f1e6690 100644 --- a/forge-gui/res/cardsfolder/upcoming/veteran_survivor.txt +++ b/forge-gui/res/cardsfolder/upcoming/veteran_survivor.txt @@ -2,7 +2,7 @@ Name:Veteran Survivor Types:Creature Human Survivor ManaCost:W PT:2/1 -T:Mode$ Phase | Phase$ Main2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, exile up to one target card from a graveyard. +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, exile up to one target card from a graveyard. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target card in a graveyard to exile S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 3 | AddToughness$ 3 | AddKeyword$ Hexproof | CheckSVar$ X | SVarCompare$ GE3 | Description$ As long as there are three or more cards exiled with CARDNAME, it gets +3/+3 and has hexproof. (It can't be the target of spells or abilities your opponents control.) SVar:X:ExiledWith$Amount diff --git a/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt b/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt index 34cdc4540ab..fc5b61dd418 100644 --- a/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt +++ b/forge-gui/res/cardsfolder/upcoming/victor_valgavoths_seneschal.txt @@ -3,7 +3,7 @@ ManaCost:1 W B Types:Legendary Creature Human Warlock PT:3/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchantment.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. -T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigSurveil | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. +T:Mode$ FullyUnlock | ValidCard$ Card.Room | ValidPlayer$ You | Secondary$ True | Execute$ TrigSurveil | TriggerZones$ Battlefield | TriggerDescription$ Eerie — Whenever an enchantment you control enters and whenever you fully unlock a Room, surveil 2 if this is the first time this ability has resolved this turn. If it's the second time, each opponent discards a card. If it's the third time, put a creature card from a graveyard onto the battlefield under your control. SVar:TrigSurveil:DB$ Surveil | Amount$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBDiscard SVar:DBDiscard:DB$ Discard | Defined$ Player.Opponent | Mode$ TgtChoose | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | SubAbility$ DBChangeZone SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | Mandatory$ True | GainControl$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ3 | SelectPrompt$ Select a creature card to return to the battlefield | Hidden$ True | SubAbility$ DBLog diff --git a/forge-gui/res/cardsfolder/upcoming/walk_in_closet_forgotten_cellar.txt b/forge-gui/res/cardsfolder/upcoming/walk_in_closet_forgotten_cellar.txt new file mode 100644 index 00000000000..c400952ed41 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/walk_in_closet_forgotten_cellar.txt @@ -0,0 +1,18 @@ +Name:Walk-In Closet +ManaCost:2 G +Types:Enchantment Room +S:Mode$ Continuous | Affected$ Land.YouOwn | MayPlay$ True | AffectedZone$ Graveyard | Description$ You may play lands from your graveyard. +AlternateMode:Split +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nYou may play lands from your graveyard. + +ALTERNATE + +Name:Forgotten Cellar +ManaCost:3 G G +Types:Enchantment Room +T:Mode$ UnlockDoor | ValidPlayer$ You | ValidCard$ Card.Self | ThisDoor$ True | Execute$ TrigPlay | TriggerDescription$ When you unlock this door, you may cast spells from your graveyard this turn, and if a card would be put into your graveyard from anywhere this turn, exile it instead. +SVar:TrigPlay:DB$ Effect | ReplacementEffects$ GraveToExile | StaticAbilities$ STPlay | AILogic$ YawgmothsWill | AINoRecursiveCheck$ True +SVar:STPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.YouCtrl+nonLand | AffectedZone$ Graveyard | MayPlay$ True | Description$ You may cast spells from your graveyard this turn +SVar:GraveToExile:Event$ Moved | ActiveZones$ Command | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | ReplaceWith$ Exile | Description$ If a card would be put into your graveyard from anywhere, exile it instead. +SVar:Exile:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard +Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhen you unlock this door, you may cast spells from your graveyard this turn, and if a card would be put into your graveyard from anywhere this turn, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/zimone_all_questioning.txt b/forge-gui/res/cardsfolder/upcoming/zimone_all_questioning.txt index aa8da24d713..2b03fb00fe7 100644 --- a/forge-gui/res/cardsfolder/upcoming/zimone_all_questioning.txt +++ b/forge-gui/res/cardsfolder/upcoming/zimone_all_questioning.txt @@ -3,7 +3,7 @@ ManaCost:1 G U Types:Legendary Creature Human Wizard PT:1/1 T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigToken | CheckSVar$ X | TriggerDescription$ At the beginning of your end step, if a land entered the battlefield under your control this turn and you control a prime number of lands, create Primo, the Indivisible, a legendary 0/0 green and blue Fractal creature token, then put that many +1/+1 counters on it. (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, and 31 are prime numbers.) -SVar:TrigToken:DB$ Token | TokenScript$ primo_the_invisible | RememberTokens$ True | SubAbility$ DBCounters +SVar:TrigToken:DB$ Token | TokenScript$ primo_the_indivisible | RememberTokens$ True | SubAbility$ DBCounters SVar:DBCounters:DB$ PutCounter | Defined$ Remembered | CounterNum$ Y | CounterType$ P1P1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$IsPrime Y.Z.0 diff --git a/forge-gui/res/cardsfolder/v/vault_13_dwellers_journey.txt b/forge-gui/res/cardsfolder/v/vault_13_dwellers_journey.txt index f874cc4db37..99a63354fc1 100644 --- a/forge-gui/res/cardsfolder/v/vault_13_dwellers_journey.txt +++ b/forge-gui/res/cardsfolder/v/vault_13_dwellers_journey.txt @@ -9,5 +9,5 @@ SVar:DBScry:DB$ Scry | ScryNum$ 2 SVar:DBReturn:DB$ ChangeZone | ChangeType$ Card.ExiledWithSource | Origin$ Exile | Destination$ Battlefield | Hidden$ True | ChangeNum$ 2 | Mandatory$ True | RememberChanged$ True | SpellDescription$ Return two cards exiled with NICKNAME to the battlefield under their owners' control and put the rest on the bottom of their owners' libraries. SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Card.ExiledWithSource+IsNotRemembered | Origin$ Exile | Destination$ Library | LibraryPosition$ -1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHas:Ability$GainLife +DeckHas:Ability$LifeGain Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — For each player, exile up to one other target enchantment or creature that player controls until Vault 13 leaves the battlefield.\nII — You gain 2 life and scry 2.\nIII — Return two cards exiled with Vault 13 to the battlefield under their owners' control and put the rest on the bottom of their owners' libraries. diff --git a/forge-gui/res/cardsfolder/v/veilstone_amulet.txt b/forge-gui/res/cardsfolder/v/veilstone_amulet.txt index 0fa86439ff7..ce1a14eb3a6 100644 --- a/forge-gui/res/cardsfolder/v/veilstone_amulet.txt +++ b/forge-gui/res/cardsfolder/v/veilstone_amulet.txt @@ -3,7 +3,7 @@ ManaCost:3 Types:Artifact T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigEffect | TriggerDescription$ Whenever you cast a spell, creatures you control can't be the targets of spells or abilities your opponents control this turn. SVar:TrigEffect:DB$ Effect | StaticAbilities$ CantTarget -SVar:CantTarget:Mode$ CantTarget | EffectZone$ Command | ValidCard$ Creature.YouCtrl | Activator$ Opponent | Description$ Creatures you control can't be the targets of spells or abilities your opponents control +SVar:CantTarget:Mode$ CantTarget | EffectZone$ Command | ValidCard$ Creature.YouCtrl | Activator$ Opponent | Description$ Creatures you control can't be the targets of spells or abilities your opponents control. SVar:BuffedBy:Card AI:RemoveDeck:Random Oracle:Whenever you cast a spell, creatures you control can't be the targets of spells or abilities your opponents control this turn. diff --git a/forge-gui/res/cardsfolder/v/ventifact_bottle.txt b/forge-gui/res/cardsfolder/v/ventifact_bottle.txt index 11c289b80f1..123b6adc22a 100644 --- a/forge-gui/res/cardsfolder/v/ventifact_bottle.txt +++ b/forge-gui/res/cardsfolder/v/ventifact_bottle.txt @@ -2,11 +2,11 @@ Name:Ventifact Bottle ManaCost:3 Types:Artifact A:AB$ PutCounter | Cost$ X 1 T | CounterType$ CHARGE | CounterNum$ X | SorcerySpeed$ True | SpellDescription$ Put X charge counters on CARDNAME. Activate only any time you could cast a sorcery. -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | CheckSVar$ Y | SVarCompare$ GE1 | TriggerDescription$ At the beginning of your precombat main phase, if CARDNAME has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way. +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | CheckSVar$ Y | SVarCompare$ GE1 | TriggerDescription$ At the beginning of your first main phase, if CARDNAME has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way. SVar:TrigGetMana:DB$ Mana | Produced$ C | Amount$ Y | SubAbility$ TrigRemove SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ Y | SubAbility$ DBTap SVar:DBTap:DB$ Tap | Defined$ Self SVar:X:Count$xPaid SVar:Y:Count$CardCounters.CHARGE AI:RemoveDeck:All -Oracle:{X}{1}, {T}: Put X charge counters on Ventifact Bottle. Activate only as a sorcery.\nAt the beginning of your precombat main phase, if Ventifact Bottle has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way. +Oracle:{X}{1}, {T}: Put X charge counters on Ventifact Bottle. Activate only as a sorcery.\nAt the beginning of your first main phase, if Ventifact Bottle has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way. diff --git a/forge-gui/res/cardsfolder/v/voracious_vermin.txt b/forge-gui/res/cardsfolder/v/voracious_vermin.txt index 6efc6fda9e2..87736a4f959 100644 --- a/forge-gui/res/cardsfolder/v/voracious_vermin.txt +++ b/forge-gui/res/cardsfolder/v/voracious_vermin.txt @@ -7,4 +7,4 @@ SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_1_1_rat_noblock | Tok T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever another creature you control dies, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 DeckHas:Ability$Token|Counters -Oracle:When Voracious Vermin enters, create a 1/1 black Rat creature token with "This creature can't block."\n\nWhenever another creature you control dies, put a +1/+1 counter on Voracious Vermin. +Oracle:When Voracious Vermin enters, create a 1/1 black Rat creature token with "This creature can't block."\nWhenever another creature you control dies, put a +1/+1 counter on Voracious Vermin. diff --git a/forge-gui/res/cardsfolder/v/vulshok_factory.txt b/forge-gui/res/cardsfolder/v/vulshok_factory.txt index 8efea049676..bc6b110bb4f 100644 --- a/forge-gui/res/cardsfolder/v/vulshok_factory.txt +++ b/forge-gui/res/cardsfolder/v/vulshok_factory.txt @@ -5,5 +5,5 @@ A:AB$ Mana | Cost$ T | Produced$ R | SubAbility$ DBCounter | SpellDescription$ A SVar:DBCounter:DB$ PutCounter | CounterType$ CHARGE | CounterNum$ 1 A:AB$ Token | Cost$ 2 R T Sac<1/CARDNAME> | SorcerySpeed$ True | TokenScript$ c_x_x_a_golem_haste | TokenPower$ X | TokenToughness$ X | SpellDescription$ Create an X/X colorless Golem artifact creature token with haste, where X is the number of charge counters on CARDNAME. Activate only as a sorcery. SVar:X:Count$CardCounters.CHARGE -DeckHas:Ability$Counters|Tokens|Sacrifice & Type$Golem +DeckHas:Ability$Counters|Token|Sacrifice & Type$Golem Oracle:{T}: Add {R}. Put a charge counter on Vulshok Factory.\n{2}{R}, {T}, Sacrifice Vulshok Factory: Create an X/X colorless Golem artifact creature token with haste, where X is the number of charge counters on Vulshok Factory. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/w/war_of_the_spark.txt b/forge-gui/res/cardsfolder/w/war_of_the_spark.txt index 5287265df8d..6f41e6cbddf 100644 --- a/forge-gui/res/cardsfolder/w/war_of_the_spark.txt +++ b/forge-gui/res/cardsfolder/w/war_of_the_spark.txt @@ -5,10 +5,8 @@ K:Chapter:3:TrigChangeZone,TrigSac,TrigExile SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Battlefield | ChangeType$ Creature.Zombie+setWAR,Planeswalker.setWAR | DefinedPlayer$ Player | ChangeNum$ 1 | SpellDescription$ Each player may put a planeswalker or Zombie card from War of the Spark from their hand or graveyard onto the battlefield. SVar:TrigSac:DB$ Sacrifice | Defined$ You | Amount$ SacX | SacValid$ Creature,Planeswalker | RememberSacrificed$ True | Optional$ True | SubAbility$ DBEdict | SpellDescription$ Sacrifice any number of creatures and/or planeswalkers. Each opponent sacrifices that many creatures and/or planeswalkers. SVar:DBEdict:DB$ Sacrifice | Defined$ Player.Opponent | SacValid$ Creature,Planeswalker | SacMessage$ Creature,Planeswalker | Amount$ EdictX -SVar:TrigExile:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature.Bolas,Planeswalker.Bolas | TgtPrompt$ Select up to one target Bolas | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBProliferate | SpellDescription$ Exile up to one target Bolas. Proliferate three times. -SVar:DBProliferate:DB$ Proliferate | SubAbility$ DBProliferate2 | SpellDescription$ Proliferate three times. -SVar:DBProliferate2:DB$ Proliferate | SubAbility$ DBProliferate3 -SVar:DBProliferate3:DB$ Proliferate +SVar:TrigExile:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Bolas | TgtPrompt$ Select up to one target Bolas | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBProliferate | SpellDescription$ Exile up to one target Bolas. Proliferate three times. +SVar:DBProliferate:DB$ Proliferate | Amount$ 3 | SpellDescription$ Proliferate three times. SVar:SacX:Count$Valid Creature.YouCtrl/Plus.SacPlanes SVar:SacPlanes:Count$Valid Planeswalker.YouCtrl SVar:EdictX:Remembered$Amount diff --git a/forge-gui/res/cardsfolder/w/warlords_elite.txt b/forge-gui/res/cardsfolder/w/warlords_elite.txt index 2db4cc7ed09..81de84233b6 100644 --- a/forge-gui/res/cardsfolder/w/warlords_elite.txt +++ b/forge-gui/res/cardsfolder/w/warlords_elite.txt @@ -2,6 +2,6 @@ Name:Warlord's Elite ManaCost:2 W Types:Creature Human Soldier PT:4/4 -A:SP$ PermanentCreature | Cost$ 2 W tapXType<2/Artifact;Creature;Land/artifacts, creatures, and/or lands> | CostDesc$ As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control. | SpellDescription$ As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control. +A:SP$ PermanentCreature | Cost$ 2 W tapXType<2/Artifact;Creature;Land/artifacts, creatures, and/or lands> | SpellDescription$ As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control. DeckHints:Type$Artifact Oracle:As an additional cost to cast this spell, tap two untapped artifacts, creatures, and/or lands you control. diff --git a/forge-gui/res/cardsfolder/w/welcome_to_jurassic_park.txt b/forge-gui/res/cardsfolder/w/welcome_to_jurassic_park.txt index 6cd21d0cafb..b150031c56f 100644 --- a/forge-gui/res/cardsfolder/w/welcome_to_jurassic_park.txt +++ b/forge-gui/res/cardsfolder/w/welcome_to_jurassic_park.txt @@ -2,7 +2,7 @@ Name:Welcome to . . . ManaCost:1 G G Types:Enchantment Saga K:Chapter:3:DBAnimateAll,DBToken,DBWrath -SVar:DBAnimateAll:DB$ Animate | ValidTgts$ Artifact.nonCreature+OppCtrl | TgtPrompt$ Select target noncreature Artifact | TargetMin$ 0 | TargetMax$ OneEach | TargetsForEachPlayer$ True | Defined$ Targeted | Power$ 0 | Toughness$ 4 | Types$ Creature,Artifact,Wall | Keywords$ Defender | Duration$ AsLongAsControl | SpellDescription$ For each opponent, up to one target noncreature artifact they control becomes a 0/4 Wall artifact creature with defender for as long as you control this Saga +SVar:DBAnimateAll:DB$ Animate | ValidTgts$ Artifact.nonCreature+OppCtrl | TgtPrompt$ Select target noncreature Artifact | TargetMin$ 0 | TargetMax$ OneEach | TargetsForEachPlayer$ True | Defined$ Targeted | Power$ 0 | Toughness$ 4 | Types$ Creature,Artifact,Wall | Keywords$ Defender | Duration$ AsLongAsControl | SpellDescription$ For each opponent, up to one target noncreature artifact they control becomes a 0/4 Wall artifact creature with defender for as long as you control this Saga. SVar:OneEach:PlayerCountOpponents$Amount SVar:DBToken:DB$ Token | TokenOwner$ You | TokenScript$ g_3_3_dinosaur_trample | PumpKeywords$ Haste | SpellDescription$ Create a 3/3 green Dinosaur creature token with trample. It gains haste until end of turn. SVar:DBWrath:DB$ DestroyAll | ValidCards$ Creature.Wall | SubAbility$ DBTransform | SpellDescription$ Destroy all Walls. Exile this Saga, then return it to the battlefield transformed under your control. diff --git a/forge-gui/res/cardsfolder/w/welcome_to_miniapolis.txt b/forge-gui/res/cardsfolder/w/welcome_to_mini_apolis.txt similarity index 92% rename from forge-gui/res/cardsfolder/w/welcome_to_miniapolis.txt rename to forge-gui/res/cardsfolder/w/welcome_to_mini_apolis.txt index 6afb665aa60..6983ca1dfeb 100644 --- a/forge-gui/res/cardsfolder/w/welcome_to_miniapolis.txt +++ b/forge-gui/res/cardsfolder/w/welcome_to_mini_apolis.txt @@ -3,4 +3,4 @@ ManaCost:3 U U Types:Enchantment T:Mode$ SpellCast | ValidCard$ Creature | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigCopySpell | TriggerDescription$ Whenever an opponent casts a creature spell, create a token that's a copy of it, except it's 1/1. SVar:TrigCopySpell:DB$ CopySpellAbility | Controller$ You | Defined$ TriggeredSpellAbility | SetPower$ 1 | SetToughness$ 1 -Oracle:Whenever an opponent casts a creature spell, create a token that's a copy of it, except it's 1/1. +Oracle:Whenever an opponent casts a creature spell, create a token that's a copy of it, except it's 1/1. diff --git a/forge-gui/res/cardsfolder/w/wheel_of_potential.txt b/forge-gui/res/cardsfolder/w/wheel_of_potential.txt index a862ebbc54b..71fbef2e83b 100644 --- a/forge-gui/res/cardsfolder/w/wheel_of_potential.txt +++ b/forge-gui/res/cardsfolder/w/wheel_of_potential.txt @@ -1,7 +1,7 @@ Name:Wheel of Potential ManaCost:2 R Types:Sorcery -A:SP$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 3 | SubAbility$ ChooseX | StackDescription$ REP You get_{p:You} gets & you_ | SpellDescription$ You get {E}{E}{E} (three energy counters), then you may pay any amount of {E}.,,,,,, +A:SP$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 3 | SubAbility$ ChooseX | StackDescription$ REP You get_{p:You} gets & you may_they may | SpellDescription$ You get {E}{E}{E} (three energy counters), then you may pay any amount of {E}.,,,,,, SVar:ChooseX:DB$ ChooseNumber | Max$ Count$YourCountersEnergy | ListTitle$ amount of energy to pay | SubAbility$ Pay | StackDescription$ None SVar:Pay:DB$ Pump | UnlessCost$ Mandatory PayEnergy | UnlessPayer$ You | UnlessSwitched$ True | SubAbility$ Choose | StackDescription$ None SVar:Choose:DB$ GenericChoice | TempRemember$ Chooser | ShowChoice$ ExceptSelf | Defined$ Player | Choices$ ExileDraw,No | SubAbility$ Exile | StackDescription$ SpellDescription | SpellDescription$ Each player may exile their hand and draw cards equal to the amount of {E} paid this way. @@ -9,10 +9,10 @@ SVar:ExileDraw:DB$ Pump | Defined$ Remembered | NoteCards$ Self | NoteCardsFor$ SVar:No:DB$ Pump | SpellDescription$ Keep your hand. SVar:Exile:DB$ ChangeZoneAll | Origin$ Hand | Destination$ Exile | Defined$ Player.NotedForExileDraw | RememberChanged$ True | SubAbility$ Draw | StackDescription$ None SVar:Draw:DB$ Draw | Defined$ Player.NotedForExileDraw | NumCards$ X | SubAbility$ Effect | StackDescription$ None -SVar:Effect:DB$ Effect | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | RememberObjects$ Remembered.YouOwn | StaticAbilities$ Play | Duration$ UntilTheEndOfYourNextTurn | ForgetOnMoved$ Exile | SubAbility$ DBCleanup | SpellDescription$ If 7 or more {E} was paid this way, you may play cards you own exiled this way until the end of your next turn. +SVar:Effect:DB$ Effect | ConditionCheckSVar$ X | ConditionSVarCompare$ GE7 | RememberObjects$ Remembered.YouOwn | StaticAbilities$ Play | Duration$ UntilTheEndOfYourNextTurn | ForgetOnMoved$ Exile | SubAbility$ DBCleanup | StackDescription$ REP you may_{p:You} may & you own_they own & your_their | SpellDescription$ If 7 or more {E} was paid this way, you may play cards you own exiled this way until the end of your next turn. SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.YouOwn+IsRemembered | AffectedZone$ Exile | Description$ You may play cards you own exiled this way until the end of your next turn. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBClearNotes -SVar:DBClearNotes:DB$ Pump | Defined$ Player | ClearNotedCardsFor$ ExileDraw +SVar:DBClearNotes:DB$ Pump | Defined$ Player | ClearNotedCardsFor$ ExileDraw | StackDescription$ None SVar:X:Count$ChosenNumber AI:RemoveDeck:All Oracle:You get {E}{E}{E} (three energy counters), then you may pay any amount of {E}.\nEach player may exile their hand and draw cards equal to the amount of {E} paid this way. If 7 or more {E} was paid this way, you may play cards you own exiled this way until the end of your next turn. diff --git a/forge-gui/res/cardsfolder/w/whirling_strike.txt b/forge-gui/res/cardsfolder/w/whirling_strike.txt index 88c695ac2a2..034c00ed990 100644 --- a/forge-gui/res/cardsfolder/w/whirling_strike.txt +++ b/forge-gui/res/cardsfolder/w/whirling_strike.txt @@ -2,5 +2,5 @@ Name:Whirling Strike ManaCost:1 R Types:Instant A:SP$ Pump | ValidTgts$ Creature | NumAtt$ +2 | KW$ First Strike & Trample | SpellDescription$ Target creature gets +2/+0 and gains first strike and trample until end of turn. -DeckHas:Keyword$FirstStrike|Trample +DeckHas:Keyword$First Strike|Trample Oracle:Target creature gets +2/+0 and gains first strike and trample until end of turn. diff --git a/forge-gui/res/cardsfolder/w/whisperwood_elemental.txt b/forge-gui/res/cardsfolder/w/whisperwood_elemental.txt index 28bc0451824..104a2571e26 100644 --- a/forge-gui/res/cardsfolder/w/whisperwood_elemental.txt +++ b/forge-gui/res/cardsfolder/w/whisperwood_elemental.txt @@ -2,7 +2,7 @@ Name:Whisperwood Elemental ManaCost:3 G G Types:Creature Elemental PT:4/4 -T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigManifest | TriggerDescription$ At the beginning of your end step, manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card) +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigManifest | TriggerDescription$ At the beginning of your end step, manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) SVar:TrigManifest:DB$ Manifest A:AB$ AnimateAll | Cost$ Sac<1/CARDNAME> | ValidCards$ Creature.YouCtrl+nonToken+faceUp | Triggers$ Trig | SpellDescription$ Until end of turn, face-up, nontoken creatures you control gain "When this creature dies, manifest the top card of your library." SVar:Trig:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigManifest | TriggerDescription$ When this creature dies, manifest the top card of your library. diff --git a/forge-gui/res/cardsfolder/w/winters_chill.txt b/forge-gui/res/cardsfolder/w/winters_chill.txt index 26024818470..3bb1da0c47b 100644 --- a/forge-gui/res/cardsfolder/w/winters_chill.txt +++ b/forge-gui/res/cardsfolder/w/winters_chill.txt @@ -4,8 +4,8 @@ Types:Instant Text:Cast CARDNAME only during combat before blockers are declared.\r\nX can't be greater than the number of snow lands you control.\r\n A:SP$ RepeatEach | XMaxLimit$ Snow | TargetMin$ X | TargetMax$ X | ValidTgts$ Creature.attacking | TgtPrompt$ Select X target attacking creatures | ActivationPhases$ BeginCombat->Declare Attackers | IsCurse$ True | DefinedCards$ Targeted | RepeatSubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Choose X target attacking creatures. For each of those creatures, its controller may pay {1} or {2}. If that player doesn't, destroy that creature at end of combat. If that player pays only {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat. SVar:DBChoose:DB$ GenericChoice | Defined$ RememberedController | Choices$ Pay2,Pay1 | AILogic$ PayUnlessCost | SubAbility$ DBDelayTrigger -SVar:Pay2:DB$ Cleanup | ClearRemembered$ True | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | SpellDescription$ You may pay {2} to avoid negative effects | ShowCurrentCard$ Remembered -SVar:Pay1:DB$ Pump | Defined$ Remembered | KW$ Prevent all combat damage that would be dealt to and dealt by CARDNAME. | Duration$ UntilEndOfCombat | UnlessCost$ 1 | UnlessPayer$ RememberedController | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBCleanup | ShowCurrentCard$ Remembered | SpellDescription$ You may pay {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat. +SVar:Pay2:DB$ Cleanup | ClearRemembered$ True | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | SpellDescription$ You may pay {2}. If you do, ignore CARDNAME's effect for this creature. | ShowCurrentCard$ Remembered +SVar:Pay1:DB$ Pump | Defined$ Remembered | KW$ Prevent all combat damage that would be dealt to and dealt by CARDNAME. | Duration$ UntilEndOfCombat | UnlessCost$ 1 | UnlessPayer$ RememberedController | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBCleanup | ShowCurrentCard$ Remembered | SpellDescription$ You may pay {1}. If you do, prevent all combat damage that would be dealt to and dealt by this creature this combat. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBDelayTrigger:DB$ DelayedTrigger | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | RememberObjects$ Remembered | Mode$ Phase | Phase$ EndCombat | Execute$ TrigDestroy | TriggerDescription$ Destroy that creature at end of combat. SVar:TrigDestroy:DB$ Destroy | Defined$ DelayTriggerRememberedLKI diff --git a/forge-gui/res/cardsfolder/w/wisedrafters_will.txt b/forge-gui/res/cardsfolder/w/wisedrafters_will.txt index a00ed56f1f8..8c9985adcab 100644 --- a/forge-gui/res/cardsfolder/w/wisedrafters_will.txt +++ b/forge-gui/res/cardsfolder/w/wisedrafters_will.txt @@ -6,4 +6,4 @@ A:AB$ Draw | Cost$ U Sac<1/CARDNAME> | SpellDescription$ Draw a card. A:AB$ Counter | Cost$ U U Sac<1/CARDNAME> | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | SpellDescription$ Counter target spell. SVar:NonStackingEffect:True AI:RemoveDeck:All -Oracle:Your opponents play with their hands revealed.\n{U}, Sacrifice Wisedrafter’s Will: Draw a card.\n{U}{U}, Sacrifice Wisedrafter’s Will: Counter target spell. +Oracle:Your opponents play with their hands revealed.\n{U}, Sacrifice Wisedrafter's Will: Draw a card.\n{U}{U}, Sacrifice Wisedrafter's Will: Counter target spell. diff --git a/forge-gui/res/cardsfolder/w/wishing_well.txt b/forge-gui/res/cardsfolder/w/wishing_well.txt index 1f3dae7fef2..ef24ab19977 100644 --- a/forge-gui/res/cardsfolder/w/wishing_well.txt +++ b/forge-gui/res/cardsfolder/w/wishing_well.txt @@ -1,7 +1,7 @@ Name:Wishing Well ManaCost:3 U Types:Artifact -A:AB$ PutCounter | Cost$ T | Defined$ Self | SorcerySpeed$ True | CounterType$ COIN | CounterNum$ 1 | RememberPut$ True | SubAbility$ DBImmediateTrig | SpellDescription$ Put a coin counter on Wishing Well. When you do, you may cast target instant or sorcery card with mana value equal to the number of coin counters on CARDNAME from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. Activate only as a sorcery. +A:AB$ PutCounter | Cost$ T | Defined$ Self | SorcerySpeed$ True | CounterType$ COIN | CounterNum$ 1 | RememberPut$ True | SubAbility$ DBImmediateTrig | SpellDescription$ Put a coin counter on CARDNAME. When you do, you may cast target instant or sorcery card with mana value equal to the number of coin counters on CARDNAME from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. Activate only as a sorcery. SVar:DBImmediateTrig:DB$ ImmediateTrigger | Execute$ TrigPlay | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup | TriggerDescription$ When you do, you may cast target instant or sorcery card with mana value equal to the number of coin counters on CARDNAME from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. Activate only as a sorcery. SVar:TrigPlay:DB$ Play | TgtZone$ Graveyard | ValidTgts$ Instant.YouCtrl+cmcEQX,Sorcery.YouCtrl+cmcEQX | ValidSA$ Spell | TgtPrompt$ Choose target instant or sorcery card with mana value equal to the number of coin counters on CARDNAME from your graveyard | WithoutManaCost$ True | Optional$ True | ReplaceGraveyard$ Exile | AILogic$ ReplaySpell SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/w/world_at_war.txt b/forge-gui/res/cardsfolder/w/world_at_war.txt index 0c85cfb9484..4724b2bc285 100644 --- a/forge-gui/res/cardsfolder/w/world_at_war.txt +++ b/forge-gui/res/cardsfolder/w/world_at_war.txt @@ -1,8 +1,8 @@ Name:World at War ManaCost:3 R R Types:Sorcery -A:SP$ AddPhase | ExtraPhase$ Combat | AfterPhase$ Main2 | FollowedBy$ Main2 | BeforeFirstPostCombatMainEnd$ True | ExtraPhaseDelayedTrigger$ DelTrigUntap | ExtraPhaseDelayedTriggerExcute$ TrigUntapAll | SpellDescription$ After the first postcombat main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn. +A:SP$ AddPhase | ExtraPhase$ Combat | AfterPhase$ Main2 | FollowedBy$ Main2 | BeforeFirstPostCombatMainEnd$ True | ExtraPhaseDelayedTrigger$ DelTrigUntap | ExtraPhaseDelayedTriggerExcute$ TrigUntapAll | SpellDescription$ After the second main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn. SVar:DelTrigUntap:Mode$ Phase | Phase$ BeginCombat | TriggerDescription$ At the beginning of that combat, untap all creatures that attacked this turn. SVar:TrigUntapAll:DB$ UntapAll | ValidCards$ Creature.attackedThisTurn K:Rebound -Oracle:After the first postcombat main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn.\nRebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +Oracle:After the second main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn.\nRebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) diff --git a/forge-gui/res/cardsfolder/w/wrenn_and_one.txt b/forge-gui/res/cardsfolder/w/wrenn_and_one.txt index 2f12f433cc9..b0909eb3916 100644 --- a/forge-gui/res/cardsfolder/w/wrenn_and_one.txt +++ b/forge-gui/res/cardsfolder/w/wrenn_and_one.txt @@ -10,4 +10,4 @@ A:AB$ Effect | Cost$ SubCounter<4/LOYALTY> | Planeswalker$ True | Ultimate$ True SVar:TrigCradle:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigMana | TriggerDescription$ At the beginning of your precombat main phase, add {G} for each creature you control. SVar:TrigMana:DB$ Mana | Produced$ G | Amount$ X | Defined$ You SVar:X:Count$Valid Creature.YouCtrl -Oracle:[+1]: Wrenn and One gains "{T}: Add {G}" until your next turn.\n[−1]: Create a 1/1 green Squirrel creature token.\n[−4]: You get an emblem with "At the beginning of your precombat main phase, add {G} for each creature you control." +Oracle:[+1]: Wrenn and One gains "{T}: Add {G}" until your next turn.\n[-1]: Create a 1/1 green Squirrel creature token.\n[-4]: You get an emblem with "At the beginning of your precombat main phase, add {G} for each creature you control." diff --git a/forge-gui/res/cardsfolder/y/young_blue_dragon_sand_augury.txt b/forge-gui/res/cardsfolder/y/young_blue_dragon_sand_augury.txt index 65cec31b0f4..85c6421b718 100644 --- a/forge-gui/res/cardsfolder/y/young_blue_dragon_sand_augury.txt +++ b/forge-gui/res/cardsfolder/y/young_blue_dragon_sand_augury.txt @@ -12,5 +12,5 @@ Name:Sand Augury ManaCost:1 U Types:Sorcery Adventure A:SP$ Scry | ScryNum$ 1 | SubAbility$ DBDraw | SpellDescription$ Scry 1, -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ then draw a card +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | SpellDescription$ then draw a card. Oracle:Scry 1, then draw a card. (Then exile this card. You may cast the creature later from exile.) diff --git a/forge-gui/res/cardsfolder/y/youre_in_command.txt b/forge-gui/res/cardsfolder/y/youre_in_command.txt index a7549b3907a..e29ef2b7592 100644 --- a/forge-gui/res/cardsfolder/y/youre_in_command.txt +++ b/forge-gui/res/cardsfolder/y/youre_in_command.txt @@ -4,4 +4,4 @@ Types:Sorcery A:SP$ AlterAttribute | ValidTgts$ Creature.YouOwn+YouCtrl | IncludeAllComponentCards$ True | Attributes$ Commander | RememberTargets$ True | SubAbility$ DBDemote | SpellDescription$ Choose target creature you own and control. That creature becomes your commander. Any other commanders you have are no longer your commander. (That creature starts with a commander tax of {0}.) SVar:DBDemote:DB$ AlterAttribute | Defined$ ValidAll Card.YouOwn+IsNotRemembered+IsCommander | Attributes$ Commander | Activate$ False | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -Oracle:Choose target creature you own and control. That creature becomes your commander. Any other commanders you have are no longer your commander. (That creature starts with a commander tax of {0}.) \ No newline at end of file +Oracle:Choose target creature you own and control. That creature becomes your commander. Any other commanders you have are no longer your commander. (That creature starts with a commander tax of {0}.) diff --git a/forge-gui/res/cardsfolder/z/zombie_master.txt b/forge-gui/res/cardsfolder/z/zombie_master.txt index c161b7897cf..69f3b92cf11 100644 --- a/forge-gui/res/cardsfolder/z/zombie_master.txt +++ b/forge-gui/res/cardsfolder/z/zombie_master.txt @@ -4,7 +4,7 @@ Types:Creature Zombie PT:2/3 S:Mode$ Continuous | Affected$ Creature.Zombie+Other | AddKeyword$ Landwalk:Swamp | Description$ Other Zombie creatures have swampwalk. (They can't be blocked as long as defending player controls a Swamp.) S:Mode$ Continuous | Affected$ Card.Zombie+Other | AddAbility$ Regenerate | Description$ Other Zombies have "{B}: Regenerate this permanent." -SVar:Regenerate:AB$ Regenerate | Cost$ B | SpellDescription$ Regenerate this permanent +SVar:Regenerate:AB$ Regenerate | Cost$ B | SpellDescription$ Regenerate this permanent. SVar:PlayMain1:TRUE DeckHas:Keyword$Regenerate|Swampwalk DeckHints:Type$Zombie & Name$Urborg, Tomb of Yawgmoth diff --git a/forge-gui/res/deckgendecks/Modern.lda.dat b/forge-gui/res/deckgendecks/Modern.lda.dat index ee597208cc9..27013a148ad 100644 Binary files a/forge-gui/res/deckgendecks/Modern.lda.dat and b/forge-gui/res/deckgendecks/Modern.lda.dat differ diff --git a/forge-gui/res/deckgendecks/Modern.raw.dat b/forge-gui/res/deckgendecks/Modern.raw.dat index a5a4a5ecc44..e78189a3e16 100644 Binary files a/forge-gui/res/deckgendecks/Modern.raw.dat and b/forge-gui/res/deckgendecks/Modern.raw.dat differ diff --git a/forge-gui/res/deckgendecks/Standard.lda.dat b/forge-gui/res/deckgendecks/Standard.lda.dat index 8a2bed276b8..1900fb777e1 100644 Binary files a/forge-gui/res/deckgendecks/Standard.lda.dat and b/forge-gui/res/deckgendecks/Standard.lda.dat differ diff --git a/forge-gui/res/deckgendecks/Standard.raw.dat b/forge-gui/res/deckgendecks/Standard.raw.dat index 765f5388dc1..440de5560dd 100644 Binary files a/forge-gui/res/deckgendecks/Standard.raw.dat and b/forge-gui/res/deckgendecks/Standard.raw.dat differ diff --git a/forge-gui/res/editions/2020 Heroes of the Realm.txt b/forge-gui/res/editions/2020 Heroes of the Realm.txt index 5cfdcd2fc43..d4106f201a3 100644 --- a/forge-gui/res/editions/2020 Heroes of the Realm.txt +++ b/forge-gui/res/editions/2020 Heroes of the Realm.txt @@ -9,4 +9,4 @@ ScryfallCode=PH20 [cards] 1 M Euroakus @Franz Vohwinkel 2 M Mountain Mover @Alexander Forssberg -3 M The Secret Lair @ Wizard of Barge +3 M The Secret Lair @Wizard of Barge diff --git a/forge-gui/res/editions/2022 Heroes of the Realm.txt b/forge-gui/res/editions/2022 Heroes of the Realm.txt index 3d3b10c6ebd..0f16011fc90 100644 --- a/forge-gui/res/editions/2022 Heroes of the Realm.txt +++ b/forge-gui/res/editions/2022 Heroes of the Realm.txt @@ -10,4 +10,4 @@ ScryfallCode=PH22 2 M Elusen, the Giving @Livia Prima 3 M Heroes of Kamigawa @Magali Villeneuve 4 M Svega, the Unconventional @Chris Rallis -5 M Wizard from Beyond @Nestor Ossandon Leal +5 M Wizard from Beyond @Néstor Ossandón Leal diff --git a/forge-gui/res/editions/30th Anniversary Play Promos.txt b/forge-gui/res/editions/30th Anniversary Play Promos.txt index e4e581e8448..8a38fe3cf0e 100644 --- a/forge-gui/res/editions/30th Anniversary Play Promos.txt +++ b/forge-gui/res/editions/30th Anniversary Play Promos.txt @@ -6,7 +6,7 @@ Type=Promo ScryfallCode=P30A [cards] -1 U Serra Angel @Kev Walker +1 R Serra Angel @Kev Walker 2 R Ball Lightning @Trevor Claxton 3 R Fyndhorn Elves @Igor Kieryluk 4 R Wall of Roots @Matt Stewart @@ -22,7 +22,7 @@ ScryfallCode=P30A 14 R Niv-Mizzet, the Firemind @Daarken 15 R Tarmogoyf @Ryan Barger 16 R Glen Elendra Archmage @Warren Mahy -17 U Acidic Slime @Karl Kopinski +17 R Acidic Slime @Karl Kopinski 18 R Terastodon @Lars Grant-West 19 R Hornet Queen @Martina Pilcerova 20 R Harvester of Souls @Thomas M. Baxa diff --git a/forge-gui/res/editions/Aether Revolt.txt b/forge-gui/res/editions/Aether Revolt.txt index fd2c3c45694..eb461462947 100644 --- a/forge-gui/res/editions/Aether Revolt.txt +++ b/forge-gui/res/editions/Aether Revolt.txt @@ -25,7 +25,7 @@ ScryfallCode=AER 10 C Caught in the Brights @Kieran Yanner 11 R Consulate Crackdown @Jonas De Ro 12 C Conviction @John Stanko -13 C Countless Gears Renegade @Dan Scott +13 C Countless Gears Renegade @Dan Murayama Scott 14 C Dawnfeather Eagle @Sidharth Chaturvedi 15 U Deadeye Harpooner @Ryan Pancoast 16 C Decommission @Josh Hass @@ -84,7 +84,7 @@ ScryfallCode=AER 69 C Renegade's Getaway @Ryan Yee 70 C Resourceful Return @Titus Lunter 71 R Secret Salvage @Tommy Arnold -72 U Sly Requisitioner @Dan Scott +72 U Sly Requisitioner @Dan Murayama Scott 73 U Vengeful Rebel @Tomasz Jedruszek 74 R Yahenni, Undying Partisan @Lius Lasahido 75 R Yahenni's Expertise @Daarken @@ -148,7 +148,7 @@ ScryfallCode=AER 133 U Renegade Rallier @Kieran Yanner 134 U Renegade Wheelsmith @Darek Zabrocki 135 U Rogue Refiner @Victor Adame Minguez -136 U Spire Patrol @Dan Scott +136 U Spire Patrol @Dan Murayama Scott 137 M Tezzeret the Schemer @Ryan Alexander Lee 138 U Tezzeret's Touch @Chris Rallis 139 U Weldfast Engineer @Sara Winters diff --git a/forge-gui/res/editions/Alchemy Duskmourn.txt b/forge-gui/res/editions/Alchemy Duskmourn.txt new file mode 100644 index 00000000000..761fe1255ee --- /dev/null +++ b/forge-gui/res/editions/Alchemy Duskmourn.txt @@ -0,0 +1,9 @@ +[metadata] +Code=YDSK +Date=2024-10-15 +Name=Alchemy: Duskmourn +Type=Online +ScryfallCode=YDSK + +[cards] +0 R Solitary Study // Endless Corridor @Leon Tukker diff --git a/forge-gui/res/editions/Alchemy Innistrad.txt b/forge-gui/res/editions/Alchemy Innistrad.txt index 55b397459e6..f855f3f2ded 100644 --- a/forge-gui/res/editions/Alchemy Innistrad.txt +++ b/forge-gui/res/editions/Alchemy Innistrad.txt @@ -22,9 +22,9 @@ ScryfallCode=YMID 13 R Unexpected Conversion @Kekai Kotaki 14 R Clone Crafter @Lie Setiawan 15 R Discover the Formula @Joshua Cairos -16 M Geist of Regret @Igor Kieryluk +16 M Geist of Regret @Igor Krstic 17 R Geistchanneler @Daarken -18 U Kindred Denial @Justyna Gil +18 U Kindred Denial @Justyna Dura 19 R Obsessive Collector @Reiko Murakami 20 M Oglor, Devoted Assistant @Michele Giorgi 21 U Rimewall Protector @Cristi Balanescu @@ -55,7 +55,7 @@ ScryfallCode=YMID 46 R Antique Collector @Wisnu Tan 47 M Garruk, Wrath of the Wilds @Tyler Walpole 48 R Geistpack Alpha @Brian Valeza -49 R Grizzled Huntmaster @Nestor Ossandon Leal +49 R Grizzled Huntmaster @Néstor Ossandón Leal 50 R Hinterland Chef @Konstantin Porubov 51 R Hollowhenge Wrangler @Daarken 52 M Ishkanah, Broodmother @Reiko Murakami diff --git a/forge-gui/res/editions/Alchemy New Capenna.txt b/forge-gui/res/editions/Alchemy New Capenna.txt index 24013f3cf49..89ef1f786fb 100644 --- a/forge-gui/res/editions/Alchemy New Capenna.txt +++ b/forge-gui/res/editions/Alchemy New Capenna.txt @@ -32,7 +32,7 @@ ScryfallCode=YSNC 23 M Effluence Devourer @Gaboleps 24 R Obscura Polymorphist @Darren Tan 25 R Racketeer Boss @Igor Grechanyi -26 R Riveteers Provocateur @Nestor Ossandon Leal +26 R Riveteers Provocateur @Néstor Ossandón Leal 27 R Rope Line Attendant @Fariba Khamseh 28 M Spara's Bodyguard @Ilse Gort 29 M Spelldrain Assassin @Cristi Balanescu diff --git a/forge-gui/res/editions/Alchemy Phyrexia.txt b/forge-gui/res/editions/Alchemy Phyrexia.txt index 4bba7c821c4..92fb725688f 100644 --- a/forge-gui/res/editions/Alchemy Phyrexia.txt +++ b/forge-gui/res/editions/Alchemy Phyrexia.txt @@ -12,7 +12,7 @@ ScryfallCode=YONE 3 R Nettling Host @Dominik Mayer 4 U Norn's Fetchling @Carlos Palma Cruchaga 5 R Quicksilver Servitor @Samuel Araya -6 R Surgical Metamorph @Nestor Ossandon Leal +6 R Surgical Metamorph @Néstor Ossandón Leal 7 U Tezzeret's Reckoning @Camille Alquier 8 R Blightwing Whelp @J.P. Targete 9 U March Toward Perfection @Brian Valeza diff --git a/forge-gui/res/editions/Alchemy The Brothers War.txt b/forge-gui/res/editions/Alchemy The Brothers War.txt index 2c28fea9719..1699f3a0327 100644 --- a/forge-gui/res/editions/Alchemy The Brothers War.txt +++ b/forge-gui/res/editions/Alchemy The Brothers War.txt @@ -12,7 +12,7 @@ ScryfallCode=YBRO 3 U Tawnos Endures @Steven Belledin 4 U Hurkyl's Prodigy @Artur Nakhodkin 5 U Piece It Together @Peter Polach -6 U Lonely End @Piotr Dura +6 U Lonely End @Piotr Foksowicz 7 R Penregon Besieged @Artur Treffner 8 R Fallaji Antiquarian @Ernanda Souza 9 M Kayla's Kindling @Ernanda Souza diff --git a/forge-gui/res/editions/Alchemy Thunder Junction.txt b/forge-gui/res/editions/Alchemy Thunder Junction.txt index 6439850218f..38c223372b2 100644 --- a/forge-gui/res/editions/Alchemy Thunder Junction.txt +++ b/forge-gui/res/editions/Alchemy Thunder Junction.txt @@ -20,7 +20,7 @@ ScryfallCode=YOTJ 12 U Impetuous Lootmonger @Inkognit 13 R Sapphire Collector @Francis Tneh 14 U Switchgrass Grazer @Leanna Crossan -15 C Wagon Wrecker @Wero Gallo +15 R Wagon Wrecker @Wero Gallo 16 R Blooming Cactusfolk @David Szabo 17 M Jessie Zane, Fangbringer @Francisco Miyara 18 R Jet Collector @Francis Tneh diff --git a/forge-gui/res/editions/Alliances.txt b/forge-gui/res/editions/Alliances.txt index 569a69cb599..2d62018bc82 100644 --- a/forge-gui/res/editions/Alliances.txt +++ b/forge-gui/res/editions/Alliances.txt @@ -11,8 +11,8 @@ Foil=NotSupported ScryfallCode=ALL [cards] -1a C Carrier Pigeons @Pat Morrissey -1b C Carrier Pigeons @Pat Morrissey +1a C Carrier Pigeons @Pat Lewis +1b C Carrier Pigeons @Pat Lewis 2a C Errand of Duty @Julie Baroh 2b C Errand of Duty @Julie Baroh 3 R Exile @Rob Alexander @@ -159,13 +159,13 @@ ScryfallCode=ALL 100a C Taste of Paradise @Lawrence Snelly 100b C Taste of Paradise @Lawrence Snelly 101 R Tornado @Susan Van Camp -102a C Undergrowth @Pat Morrissey -102b C Undergrowth @Pat Morrissey +102a C Undergrowth @Pat Lewis +102b C Undergrowth @Pat Lewis 103a C Whip Vine @Allen Williams 103b C Whip Vine @Allen Williams 104a C Yavimaya Ancients @Quinton Hoover 104b C Yavimaya Ancients @Quinton Hoover -105 U Yavimaya Ants @Pat Morrissey +105 U Yavimaya Ants @Pat Lewis 106 U Energy Arc @Terese Nielsen 107 U Lim-Dûl's Vault @Rob Alexander 108 U Lim-Dûl's Paladin @Christopher Rush @@ -206,7 +206,7 @@ ScryfallCode=ALL 138 R Heart of Yavimaya @Pete Venters 139 R Kjeldoran Outpost @Jeff A. Menges 140 R Lake of the Dead @Pete Venters -141 U School of the Unseen @Pat Morrissey +141 U School of the Unseen @Pat Lewis 142 R Sheltered Valley @Rob Alexander 143 R Soldevi Excavations @Liz Danforth 144 R Thawing Glaciers @Jeff A. Menges diff --git a/forge-gui/res/editions/Amonkhet Remastered.txt b/forge-gui/res/editions/Amonkhet Remastered.txt index ab14560487d..31165331240 100644 --- a/forge-gui/res/editions/Amonkhet Remastered.txt +++ b/forge-gui/res/editions/Amonkhet Remastered.txt @@ -146,7 +146,7 @@ ScryfallCode=AKR 136 U Abrade @Jonas De Ro 137 U Ahn-Crop Crasher @Seb McKinnon 138 R Anger of the Gods @Yigit Koroglu -139 U Battlefield Scavenger @Dan Scott +139 U Battlefield Scavenger @Dan Murayama Scott 140 C Bloodlust Inciter @Anthony Palumbo 141 C Blur of Blades @Anna Steinbauer 142 C Brute Strength @Nils Hamm @@ -173,7 +173,7 @@ ScryfallCode=AKR 163 C Khenra Scrapper @Jesper Ejsing 164 C Magma Spray @Svetlin Velinov 165 U Magmaroth @Yeong-Hao Han -166 C Nef-Crop Entangler @Dan Scott +166 C Nef-Crop Entangler @Dan Murayama Scott 167 M Neheb, the Eternal @Chris Rahn 168 C Nimble-Blade Khenra @Tomasz Jedruszek 169 C Open Fire @Jason Kang @@ -205,7 +205,7 @@ ScryfallCode=AKR 195 U Hope Tender @Magali Villeneuve 196 M Hornet Queen @Jonathan Kuo 197 R Hour of Promise @Jonas De Ro -198 C Initiate's Companion @Dan Scott +198 C Initiate's Companion @Dan Murayama Scott 199 C Life Goes On @Daarken 200 M Majestic Myriarch @Randy Vargas 201 U Manglehorn @Lius Lasahido @@ -249,7 +249,7 @@ ScryfallCode=AKR 239 R Heaven // Earth @Jonas De Ro 240 U Honored Crop-Captain @Sara Winters 241 U Khenra Charioteer @Chris Rallis -242 R Leave // Chance @Dan Scott +242 R Leave // Chance @Dan Murayama Scott 243 M The Locust God @Lius Lasahido 244 R Lord of Extinction @Jason A. Engle 245 U Merciless Javelineer @Nils Hamm diff --git a/forge-gui/res/editions/Amonkhet.txt b/forge-gui/res/editions/Amonkhet.txt index ca660eaa9d4..ac6c0248b3b 100644 --- a/forge-gui/res/editions/Amonkhet.txt +++ b/forge-gui/res/editions/Amonkhet.txt @@ -39,7 +39,7 @@ ScryfallCode=AKH 23 U Protection of the Hekma @Ryan Alexander Lee 24 R Regal Caracal @Filip Burburan 25 U Renewed Faith @Wesley Burt -26 C Rhet-Crop Spearmaster @Dan Scott +26 C Rhet-Crop Spearmaster @Dan Murayama Scott 27 C Sacred Cat @Zezhou Chen 28 U Seraph of the Suns @Winona Nelson 29 C Sparring Mummy @Ryan Pancoast @@ -131,7 +131,7 @@ ScryfallCode=AKH 115 C Wander in Death @Seb McKinnon 116 C Wasteland Scorpion @Yeong-Hao Han 117 U Ahn-Crop Crasher @Seb McKinnon -118 U Battlefield Scavenger @Dan Scott +118 U Battlefield Scavenger @Dan Murayama Scott 119 C Blazing Volley @Zezhou Chen 120 C Bloodlust Inciter @Anthony Palumbo 121 U Bloodrage Brawler @Lars Grant-West @@ -157,7 +157,7 @@ ScryfallCode=AKH 141 C Magma Spray @Svetlin Velinov 142 C Manticore of the Gauntlet @James Paick 143 C Minotaur Sureshot @Joseph Meehan -144 C Nef-Crop Entangler @Dan Scott +144 C Nef-Crop Entangler @Dan Murayama Scott 145 C Nimble-Blade Khenra @Tomasz Jedruszek 146 C Pathmaker Initiate @Josu Hernaiz 147 C Pursue Glory @Johann Bodin @@ -187,7 +187,7 @@ ScryfallCode=AKH 171 C Haze of Pollen @Mark Zug 172 R Honored Hydra @Todd Lockwood 173 C Hooded Brawler @Daarken -174 C Initiate's Companion @Dan Scott +174 C Initiate's Companion @Dan Murayama Scott 175 U Manglehorn @Lius Lasahido 176 C Naga Vitalist @James Ryman 177 C Oashra Cultivator @Sara Winters @@ -201,7 +201,7 @@ ScryfallCode=AKH 185 C Shed Weakness @Christine Choi 186 U Shefet Monitor @Viktor Titov 187 U Sixth Sense @Zoltan Boros -188 C Spidery Grasp @Dan Scott +188 C Spidery Grasp @Dan Murayama Scott 189 C Stinging Shot @Scott Murphy 190 U Synchronized Strike @David Palumbo 191 U Trial of Strength @Kieran Yanner diff --git a/forge-gui/res/editions/Anthologies.txt b/forge-gui/res/editions/Anthologies.txt index e3ba6216a5d..78621adbf69 100644 --- a/forge-gui/res/editions/Anthologies.txt +++ b/forge-gui/res/editions/Anthologies.txt @@ -8,91 +8,91 @@ Foil=NotSupported ScryfallCode=ATH [cards] -1 R Nevinyrral's Disk -2 R Goblin King -3 R Goblin Warrens -4 R Volcanic Dragon -5 R Strip Mine -6 C Lady Orca -7 U Black Knight -8 U Hypnotic Specter -9 U Knight of Stromgald -10 U Ihsan's Shade -11 U Goblin Balloon Brigade -12 U Goblin Mutant -13 U Goblin Offensive -14 C Goblin Recruiter -15 U Goblin Snowman -16 C Pyrokinesis -17 U Uthden Troll -19 C Aesthir Glider -20 C Polluted Mire -21 C Smoldering Crater -22 C Cuombajj Witches -23 C Feast of the Unicorn -24 C Hymn to Tourach -25 C Terror -26 C Unholy Strength -27 U Fireball -28 C Goblin Digging Team -29 C Goblin Grenade -30 C Goblin Hero -31 C Goblin Matron -32 C Goblin Tinkerer -33 C Goblin Vandal -34 C Lightning Bolt -35 C Mogg Fanatic -36 C Mogg Flunkies -37 C Mogg Raider -38 C Pyrotechnics -39 C Raging Goblin -40 L Mountain -41 L Mountain -42 L Swamp -43 L Swamp -44 R Brushland -45 R Mirri, Cat Warrior -46 R Armageddon -47 R Sacred Mesa -48 U Pendelhaven -49 R Jalum Tome -50 U Ranger en-Vec -51 U Erhnam Djinn -52 U Hurricane -53 U Spectral Bears -54 U Overrun -55 U Order of the White Shield -56 C Pegasus Charger -57 U Serra Angel -58 U Swords to Plowshares -59 U White Knight -60 U Pegasus Stampede -61 C Drifting Meadow -62 C Slippery Karst -63 U Serrated Arrows -64 C Canopy Spider -65 C Carnivorous Plant -66 C Giant Growth -67 C Giant Spider -68 C Gorilla Chieftain -69 C Llanowar Elves -70 C Scavenger Folk -71 U Woolly Spider -72 C Armored Pegasus -73 C Benalish Knight -74 C Combat Medic -75 C Disenchant -76 C Freewind Falcon -77 C Icatian Javelineers -78 C Infantry Veteran -79 C Pacifism -81 C Samite Healer -82 C Warrior's Honor -83 C Youthful Knight -84 L Forest -85 L Forest -86 L Plains -87 L Plains +1 R Armageddon @Jesper Myrfors +2 C Armored Pegasus @Andrew Robinson +3 C Benalish Knight @Zina Saunders +4 C Combat Medic @Liz Danforth +5 C Disenchant @Amy Weber +6 C Freewind Falcon @Una Fricker +7 C Icatian Javelineers @Edward P. Beard, Jr. +8 C Infantry Veteran @Christopher Rush +9 U Order of the White Shield @Ruth Thompson +10 C Pacifism @Robert Bliss +11 C Pegasus Charger @Val Mayerik +12 U Pegasus Stampede @Mark Zug +13 R Sacred Mesa @Margaret Organ-Kean +14 C Samite Healer @Tom Wänerstrand +15 U Serra Angel @Douglas Shuler +16 U Swords to Plowshares @Jeff A. Menges +17 C Warrior's Honor @D. Alexander Gregory +18 U White Knight @Daniel Gelon +19 C Youthful Knight @Rebecca Guay +20 U Black Knight @Adrian Smith +21 C Cuombajj Witches @Kaja Foglio +22 C Feast of the Unicorn @Dennis Detwiller +23 C Hymn to Tourach @Liz Danforth +24 U Hypnotic Specter @Douglas Shuler +25 U Ihsan's Shade @Christopher Rush +26 U Knight of Stromgald @Mark Poole +27 C Terror @Ron Spencer +28 C Unholy Strength @Douglas Shuler +29 C Fireball @Mark Tedin +30 C Goblin Balloon Brigade @Andi Rusu +31 C Goblin Digging Team @Phil Foglio +32 C Goblin Grenade @Ron Spencer +33 C Goblin Hero @Pete Venters +34 R Goblin King @Jesper Myrfors +35 U Goblin Matron @Daniel Gelon +36 U Goblin Mutant @Daniel Gelon +37 U Goblin Offensive @Carl Critchlow +38 U Goblin Recruiter @Scott Kirschner +39 U Goblin Snowman @Daniel Gelon +40 C Goblin Tinkerer @Hannibal King +41 C Goblin Vandal @Franz Vohwinkel +42 R Goblin Warrens @Dan Frazier +43 C Lightning Bolt @Christopher Rush +44 C Mogg Fanatic @Brom +45 C Mogg Flunkies @Brom +46 C Mogg Raider @Brian Snõddy +47 U Pyrokinesis @Ron Spencer +48 C Pyrotechnics @Anson Maddocks +49 U Raging Goblin @Brian Snõddy +50 U Uthden Troll @Douglas Shuler +51 R Volcanic Dragon @Janine Johnston +52 C Canopy Spider @Christopher Rush +53 C Carnivorous Plant @Quinton Hoover +54 U Erhnam Djinn @Ken Meyer, Jr. +55 C Giant Growth @Sandra Everingham +56 C Giant Spider @Sandra Everingham +57 C Gorilla Chieftain @Quinton Hoover +58 U Hurricane @Cornelius Brudi +59 C Llanowar Elves @Anson Maddocks +60 R Mirri, Cat Warrior @Daren Bader +61 U Overrun @Jeff Miracola +62 C Scavenger Folk @Dennis Detwiller +63 U Spectral Bears @Pat Lewis +64 C Woolly Spider @Daniel Gelon +65 U Lady Orca @Sandra Everingham +66 U Ranger en-Vec @Randy Elliott +67 C Aesthir Glider @Ruth Thompson +68 U Jalum Tome @Tom Wänerstrand +69 R Nevinyrral's Disk @Mark Tedin +70 C Serrated Arrows @David A. Cherry +71 R Brushland @Bryon Wackwitz +72 C Drifting Meadow @Bob Eggleton +73 U Pendelhaven @Bryon Wackwitz +74 C Polluted Mire @Stephen Daniele +75 C Slippery Karst @Stephen Daniele +76 C Smoldering Crater @Mark Tedin +77 R Strip Mine @Daniel Gelon +78 L Plains @Tom Wänerstrand +79 L Plains @Douglas Shuler +80 L Swamp @Douglas Shuler +81 L Swamp @Brom +82 L Mountain @Douglas Shuler +83 L Mountain @John Avon +84 L Forest @Tony Roberts +85 L Forest @Quinton Hoover [tokens] w_1_1_pegasus_flying diff --git a/forge-gui/res/editions/Antiquities.txt b/forge-gui/res/editions/Antiquities.txt index 6f3a9bd1be5..c5a06bd5e7f 100644 --- a/forge-gui/res/editions/Antiquities.txt +++ b/forge-gui/res/editions/Antiquities.txt @@ -99,10 +99,10 @@ ScryfallCode=ATQ 82b R Strip Mine @Daniel Gelon 82c R Strip Mine @Daniel Gelon 82d R Strip Mine @Daniel Gelon -83a C Urza's Mine @Anson Maddocks +83a U Urza's Mine @Anson Maddocks 83b U Urza's Mine @Anson Maddocks 83c C Urza's Mine @Anson Maddocks -83d U Urza's Mine @Anson Maddocks +83d C Urza's Mine @Anson Maddocks 84a C Urza's Power Plant @Mark Tedin 84b U Urza's Power Plant @Mark Tedin 84c C Urza's Power Plant @Mark Tedin diff --git a/forge-gui/res/editions/Arabian Nights.txt b/forge-gui/res/editions/Arabian Nights.txt index 5765745788b..47bff97e1f4 100644 --- a/forge-gui/res/editions/Arabian Nights.txt +++ b/forge-gui/res/editions/Arabian Nights.txt @@ -97,7 +97,7 @@ ScryfallCode=ARN 70 U Bazaar of Baghdad @Jeff A. Menges 71 U City of Brass @Mark Tedin 72 C Desert @Jesper Myrfors -73 U Diamond Valley @Brian Snõddy +73 R Diamond Valley @Brian Snõddy 74 R Elephant Graveyard @Rob Alexander 75 R Island of Wak-Wak @Douglas Shuler 76 U Library of Alexandria @Mark Poole diff --git a/forge-gui/res/editions/Arena Beginner Set.txt b/forge-gui/res/editions/Arena Beginner Set.txt index 05746fd3d9d..5908e27fa54 100644 --- a/forge-gui/res/editions/Arena Beginner Set.txt +++ b/forge-gui/res/editions/Arena Beginner Set.txt @@ -95,7 +95,7 @@ ScryfallCode=ANB 87 C Tin Street Cadet @Jarel Threat 88 U Volcanic Dragon @Chris Rahn 89 U Affectionate Indrik @Steve Prescott -90 C Baloth Packhunter @Nestor Ossandon Leal +90 C Baloth Packhunter @Néstor Ossandón Leal 91 C Charging Badger @Raoul Vitale 92 U Colossal Majesty @Randy Vargas 93 R Epic Proportions @Jesper Ejsing @@ -113,7 +113,7 @@ ScryfallCode=ANB 105 C Stony Strength @Chris Seaman 106 C Titanic Growth @Ryan Pancoast 107 C Treetop Warden @Colin Boyer -108 C Wildwood Patrol @Dan Scott +108 C Wildwood Patrol @Dan Murayama Scott 109 C Woodland Mystic @Uriah Voth 110 R World Shaper @Raymond Swanland 111 C Evolving Wilds @Steven Belledin @@ -122,5 +122,5 @@ ScryfallCode=ANB 114 C Mountain @Richard Wright 115 C Plains @Nils Hamm 116 C Swamp @Adam Paquette -117 C Arcane Signet @Dan Scott +117 C Arcane Signet @Dan Murayama Scott 118 C Command Tower @Evan Shipard diff --git a/forge-gui/res/editions/Arena League 2001.txt b/forge-gui/res/editions/Arena League 2001.txt index e4980627845..b7061807342 100644 --- a/forge-gui/res/editions/Arena League 2001.txt +++ b/forge-gui/res/editions/Arena League 2001.txt @@ -6,7 +6,7 @@ Type=Promo ScryfallCode=PAL01 [cards] -1 R Forest @Pat Morrissey +1 R Forest @Pat Lewis 2 R Creeping Mold @David Seeley 3 R Island @Anson Maddocks 4 R Dismiss @Donato Giancola diff --git a/forge-gui/res/editions/Astral Cards.txt b/forge-gui/res/editions/Astral Cards.txt index e1c0adb2e4a..4927943c554 100644 --- a/forge-gui/res/editions/Astral Cards.txt +++ b/forge-gui/res/editions/Astral Cards.txt @@ -3,6 +3,7 @@ Code=PAST Date=1997-04-01 Name=Astral Cards Type=Funny +ScryfallCode=PAST [cards] 1 C Aswan Jaguar @Pat Lewis diff --git a/forge-gui/res/editions/Avacyn Restored.txt b/forge-gui/res/editions/Avacyn Restored.txt index 9c915ebed4d..0dff763afa8 100644 --- a/forge-gui/res/editions/Avacyn Restored.txt +++ b/forge-gui/res/editions/Avacyn Restored.txt @@ -40,7 +40,7 @@ ScryfallCode=AVR 26 C Leap of Faith @Gabor Szikszai 27 C Midnight Duelist @Bud Cook 28 C Midvast Protector @James Ryman -29 C Moonlight Geist @Dan Scott +29 C Moonlight Geist @Dan Murayama Scott 30 C Moorland Inquisitor @David Palumbo 31 U Nearheath Pilgrim @Erica Yang 32 R Restoration Angel @Johannes Voss @@ -66,7 +66,7 @@ ScryfallCode=AVR 52 U Fettergeist @Izzy 53 C Fleeting Distraction @Ryan Yee 54 C Galvanic Alchemist @Svetlin Velinov -55 C Geist Snatch @Dan Scott +55 C Geist Snatch @Dan Murayama Scott 56 C Ghostform @Scott Chou 57 C Ghostly Flicker @Raymond Swanland 58 U Ghostly Touch @Jason Felix @@ -218,11 +218,11 @@ ScryfallCode=AVR 204 C Wildwood Geist @Lars Grant-West 205 U Wolfir Avenger @Daniel Ljunggren 206 R Wolfir Silverheart @Raymond Swanland -207 U Yew Spirit @Dan Scott +207 U Yew Spirit @Dan Murayama Scott 208 M Bruna, Light of Alabaster @Winona Nelson 209 M Gisela, Blade of Goldnight @Jason Chan 210 M Sigarda, Host of Herons @Chris Rahn -211 U Angel's Tomb @Dan Scott +211 U Angel's Tomb @Dan Murayama Scott 212 U Angelic Armaments @Daniel Ljunggren 213 C Bladed Bracers @Ryan Yee 214 R Conjurer's Closet @Jason Felix @@ -236,7 +236,7 @@ ScryfallCode=AVR 222 U Tormentor's Trident @Anthony Palumbo 223 C Vanguard's Shield @Ryan Pancoast 224 U Vessel of Endless Rest @John Avon -225 R Alchemist's Refuge @Dan Scott +225 R Alchemist's Refuge @Dan Murayama Scott 226 R Cavern of Souls @Cliff Childs 227 R Desolate Lighthouse @Scott Chou 228 C Seraph Sanctuary @David Palumbo diff --git a/forge-gui/res/editions/Battle Royale.txt b/forge-gui/res/editions/Battle Royale.txt index 3f2c16654ee..ee609b6d1a8 100644 --- a/forge-gui/res/editions/Battle Royale.txt +++ b/forge-gui/res/editions/Battle Royale.txt @@ -131,9 +131,9 @@ ScryfallCode=BRB 121 L Mountain @John Avon 122 L Mountain @John Avon 123 L Mountain @John Avon -124 L Plains @Pat Morrissey -125 L Plains @Pat Morrissey -126 L Plains @Pat Morrissey +124 L Plains @Pat Lewis +125 L Plains @Pat Lewis +126 L Plains @Pat Lewis 127 L Plains @Douglas Shuler 128 L Plains @Douglas Shuler 129 L Plains @Douglas Shuler diff --git a/forge-gui/res/editions/Battle for Zendikar.txt b/forge-gui/res/editions/Battle for Zendikar.txt index 8ea8f5bcbb0..7eb55e0f3e2 100644 --- a/forge-gui/res/editions/Battle for Zendikar.txt +++ b/forge-gui/res/editions/Battle for Zendikar.txt @@ -42,10 +42,10 @@ ScryfallCode=BFZ 27 C Fortified Rampart @David Gaillet 28 C Ghostly Sentinel @Daarken 29 M Gideon, Ally of Zendikar @Eric Deschamps -30 C Gideon's Reproach @Dan Scott +30 C Gideon's Reproach @Dan Murayama Scott 31 R Hero of Goma Fada @Lake Hurwitz 32 C Inspired Charge @Willian Murai -33 C Kitesail Scout @Dan Scott +33 C Kitesail Scout @Dan Murayama Scott 34 U Kor Bladewhirl @Steven Belledin 35 C Kor Castigator @Greg Opalinski 36 U Kor Entanglers @Jason Rainville @@ -65,7 +65,7 @@ ScryfallCode=BFZ 50 U Stasis Snare @Jason Felix 51 C Stone Haven Medic @Anna Steinbauer 52 C Tandem Tactics @David Gaillet -53 U Unified Front @Dan Scott +53 U Unified Front @Dan Murayama Scott 54 U Adverse Conditions @Jason Rainville 55 C Benthic Infiltrator @Mathias Kollros 56 U Cryptic Cruiser @Svetlin Velinov @@ -184,7 +184,7 @@ ScryfallCode=BFZ 169 U Void Attendant @Viktor Titov 170 R Beastcaller Savant @Anthony Palumbo 171 C Broodhunter Wurm @Svetlin Velinov -172 C Earthen Arms @Dan Scott +172 C Earthen Arms @Dan Murayama Scott 173 C Giant Mantis @Lake Hurwitz 174 M Greenwarden of Murasa @Eric Deschamps 175 U Infuse with the Elements @Daniel Ljunggren @@ -232,13 +232,13 @@ ScryfallCode=BFZ 217 M Omnath, Locus of Rage @Brad Rigney 218 U Resolute Blademaster @Joseph Meehan 219 U Roil Spout @Igor Kieryluk -220 U Skyrider Elf @Dan Scott +220 U Skyrider Elf @Dan Murayama Scott 221 R Veteran Warleader @Josu Hernaiz 222 R Aligned Hedron Network @Richard Wright 223 U Hedron Archive @Craig J Spearing 224 C Hedron Blade @Zack Stella 225 U Pathway Arrows @Kev Walker -226 U Pilgrim's Eye @Dan Scott +226 U Pilgrim's Eye @Dan Murayama Scott 227 U Slab Hammer @Joseph Meehan 228 R Ally Encampment @Jonas De Ro 229 U Blighted Cataract @Vincent Proce diff --git a/forge-gui/res/editions/Battlebond.txt b/forge-gui/res/editions/Battlebond.txt index ebfad4e0d4e..29b967e2163 100644 --- a/forge-gui/res/editions/Battlebond.txt +++ b/forge-gui/res/editions/Battlebond.txt @@ -38,7 +38,7 @@ ScryfallCode=BBD 28 U Jubilant Mascot @Filip Burburan 29 R Play of the Game @Jung Park 30 R Regna's Sanction @Bayard Wu -31 C Skystreamer @Dan Scott +31 C Skystreamer @Dan Murayama Scott 32 R Together Forever @Aaron Miller 33 M Arcane Artisan @Tommy Arnold 34 U Fumble @Gabor Szikszai @@ -150,9 +150,9 @@ ScryfallCode=BBD 140 C Daggerdrome Imp @Jack Wang 141 R Diabolic Intent @Josu Hernaiz 142 C Doomed Dissenter @Tony Foti -143 C Eyeblight Assassin @Dan Scott +143 C Eyeblight Assassin @Dan Murayama Scott 144 C Fill with Fright @Luca Zontini -145 C Grotesque Mutation @Dan Scott +145 C Grotesque Mutation @Dan Murayama Scott 146 C Hand of Silumgar @Lius Lasahido 147 C Last Gasp @Jason A. Engle 148 C Liturgy of Blood @Zack Stella diff --git a/forge-gui/res/editions/Betrayers of Kamigawa.txt b/forge-gui/res/editions/Betrayers of Kamigawa.txt index a0f04af3872..fb1b3d1cc74 100644 --- a/forge-gui/res/editions/Betrayers of Kamigawa.txt +++ b/forge-gui/res/editions/Betrayers of Kamigawa.txt @@ -54,7 +54,7 @@ ScryfallCode=BOK 41 U Minamo Sightbender @Luca Zontini 42 C Minamo's Meddling @Alex Horley-Orlandelli 43 C Mistblade Shinobi @Kev Walker -44 C Ninja of the Deep Hours @Dan Scott +44 C Ninja of the Deep Hours @Dan Murayama Scott 45 R Patron of the Moon @Scott M. Fischer 46 C Phantom Wings @Greg Staples 47 U Quash @Shishizaru @@ -92,7 +92,7 @@ ScryfallCode=BOK 79 U Pus Kami @Dave Allsop 80 U Scourge of Numai @Arnie Swekel 81 R Shirei, Shizo's Caretaker @Wayne Reynolds -82 R Sickening Shoal @Dan Scott +82 R Sickening Shoal @Dan Murayama Scott 83 C Skullmane Baku @Tim Hildebrandt 84 C Skullsnatcher @Matt Cavotta 85 C Stir the Grave @Jim Nelson @@ -112,7 +112,7 @@ ScryfallCode=BOK 99 U Cunning Bandit @Paolo Parente 100 C First Volley @Glen Angus 101 U Flames of the Blood Hand @Aleksi Briclot -102 C Frost Ogre @Dan Scott +102 C Frost Ogre @Dan Murayama Scott 103 C Frostling @Carl Critchlow 104 R Fumiko the Lowblood @Michael Sutfin 105 U Genju of the Spires @Joel Thomas @@ -126,7 +126,7 @@ ScryfallCode=BOK 113 U Ogre Recluse @Jim Murray 114 U Overblaze @Ron Spencer 115 R Patron of the Akki @Jim Nelson -116 U Ronin Cliffrider @Dan Scott +116 U Ronin Cliffrider @Dan Murayama Scott 117 C Shinka Gatekeeper @Pete Venters 118 U Sowing Salt @Hideaki Takamura 119 C Torrent of Stone @Greg Staples diff --git a/forge-gui/res/editions/Bloomburrow Commander.txt b/forge-gui/res/editions/Bloomburrow Commander.txt index 5fd79c22a97..b226db48d48 100644 --- a/forge-gui/res/editions/Bloomburrow Commander.txt +++ b/forge-gui/res/editions/Bloomburrow Commander.txt @@ -139,7 +139,7 @@ ScryfallCode=BLC 131 R Exotic Orchard @Ron Spears 132 U Reliquary Tower @Jesper Ejsing 133 R Swarmyard @Volkan Baǵa -134 U Angel of the Ruins @Viko Menezes +134 R Angel of the Ruins @Viko Menezes 135 U Baird, Steward of Argive @Christine Choi 136 R Blade Splicer @Greg Staples 137 R Boss's Chauffeur @Yangtian Li @@ -150,7 +150,7 @@ ScryfallCode=BLC 142 R Jazal Goldmane @Aaron Miller 143 R Loran of the Third Path @Steven Belledin 144 M Luminous Broodmoth @Lie Setiawan -145 R Mangara, the Diplomat @Howard Lyon +145 M Mangara, the Diplomat @Howard Lyon 146 R Martial Coup @Greg Staples 147 U Path to Exile @Raf Sarmento 148 R Promise of Loyalty @Sara Winters @@ -203,7 +203,7 @@ ScryfallCode=BLC 195 R Devilish Valet @Bud Cook 196 R Etali, Primal Storm @Raymond Swanland 197 R Gratuitous Violence @Christopher Moeller -198 R Inferno Titan @Kev Walker +198 M Inferno Titan @Kev Walker 199 R Outpost Siege @Daarken 200 R Rain of Riches @Evyn Fong 201 R Rose Room Treasurer @David Sladek @@ -227,7 +227,7 @@ ScryfallCode=BLC 219 U Garruk's Uprising @Wisnu Tan 220 R Ghalta, Primal Hunger @Chase Stone 221 R Gilded Goose @Lindsey Look -222 U Goreclaw, Terror of Qal Sisma @Svetlin Velinov +222 R Goreclaw, Terror of Qal Sisma @Svetlin Velinov 223 R Greater Good @Mathias Kollros 224 M Grothama, All-Devouring @Mark Behm 225 R Jolrael, Mwonvuli Recluse @Izzy @@ -238,7 +238,7 @@ ScryfallCode=BLC 230 R Managorger Hydra @Lucas Graciano 231 R Path of Discovery @Howard Lyon 232 M Primeval Bounty @Christine Choi -233 R Rampaging Baloths @Steve Prescott +233 M Rampaging Baloths @Steve Prescott 234 C Rampant Growth @Steven Belledin 235 R Rishkar, Peema Renegade @Todd Lockwood 236 C Sakura-Tribe Elder @Anastasia Ovchinnikova @@ -277,13 +277,13 @@ ScryfallCode=BLC 269 U Fellwar Stone @John Avon 270 R Ghirapur Orrery @Kirsten Zirngibl 271 R Gilded Lotus @Volkan Baǵa -272 C Golgari Signet @Raoul Vitale -273 C Gruul Signet @Efrem Palacios +272 U Golgari Signet @Raoul Vitale +273 U Gruul Signet @Efrem Palacios 274 U Haywire Mite @Izzy 275 U Hedron Archive @Craig J Spearing 276 R Helm of the Host @Igor Kieryluk 277 R Idol of Oblivion @Piotr Dura -278 C Izzet Signet @Raoul Vitale +278 U Izzet Signet @Raoul Vitale 279 R Maskwood Nexus @Jason A. Engle 280 U Mind Stone @Adam Rex 281 C Ornithopter of Paradise @Raoul Vitale @@ -294,7 +294,7 @@ ScryfallCode=BLC 286 U Swiftfoot Boots @Svetlin Velinov 287 U Talisman of Impulse @Mike Dringenberg 288 U Talisman of Resilience @Lindsey Look -289 U Thought Vessel @rk post +289 C Thought Vessel @rk post 290 U Thran Dynamo @Ron Spears 291 R Adarkar Wastes @Piotr Dura 292 U Barren Moor @Heather Hudson @@ -313,7 +313,7 @@ ScryfallCode=BLC 305 C Forgotten Cave @Tony Szczudlo 306 R Game Trail @Adam Paquette 307 R Glacial Fortress @Franz Vohwinkel -308 C Golgari Rot Farm @John Avon +308 U Golgari Rot Farm @John Avon 309 R Grim Backwoods @Vincent Proce 310 C Gruul Turf @John Avon 311 C Haunted Mire @Bruce Brenneise diff --git a/forge-gui/res/editions/Born of the Gods.txt b/forge-gui/res/editions/Born of the Gods.txt index d5e01427166..f7260ace4e8 100644 --- a/forge-gui/res/editions/Born of the Gods.txt +++ b/forge-gui/res/editions/Born of the Gods.txt @@ -47,12 +47,12 @@ ScryfallCode=BNG 35 C Deepwater Hypnotist @Christopher Moeller 36 C Divination @Willian Murai 37 U Eternity Snare @Min Yum -38 C Evanescent Intellect @Dan Scott +38 C Evanescent Intellect @Dan Murayama Scott 39 R Fated Infatuation @Winona Nelson 40 U Flitterstep Eidolon @Chase Stone 41 C Floodtide Serpent @Steven Belledin 42 U Kraken of the Straits @Richard Wright -43 U Meletis Astronomer @Dan Scott +43 U Meletis Astronomer @Dan Murayama Scott 44 R Mindreaver @Wesley Burt 45 C Nullify @Adam Paquette 46 C Nyxborn Triton @Clint Cearley diff --git a/forge-gui/res/editions/Celebration Cards.txt b/forge-gui/res/editions/Celebration Cards.txt index 59b50d8d363..109f3f7943e 100644 --- a/forge-gui/res/editions/Celebration Cards.txt +++ b/forge-gui/res/editions/Celebration Cards.txt @@ -6,7 +6,7 @@ Type=Funny ScryfallCode=PCEL [cards] -1 M 1996 World Champion @Christopher Rush +1 R 1996 World Champion @Christopher Rush 2 R Shichifukujin Dragon @Christopher Rush 3 R Proposal @Quinton Hoover 4 R Splendid Genesis @Monique Thirifay diff --git a/forge-gui/res/editions/Champions of Kamigawa.txt b/forge-gui/res/editions/Champions of Kamigawa.txt index f79d1ca5586..28d05e3bbf9 100644 --- a/forge-gui/res/editions/Champions of Kamigawa.txt +++ b/forge-gui/res/editions/Champions of Kamigawa.txt @@ -137,7 +137,7 @@ ScryfallCode=CHK 124 R Marrow-Gnawer @Wayne Reynolds 125 C Midnight Covenant @Pete Venters 126 R Myojin of Night's Reach @Kev Walker -127 U Nezumi Bone-Reader @Dan Scott +127 U Nezumi Bone-Reader @Dan Murayama Scott 128 C Nezumi Cutthroat @Carl Critchlow 129 U Nezumi Graverobber @Jim Nelson 130 C Nezumi Ronin @Scott M. Fischer @@ -242,9 +242,9 @@ ScryfallCode=CHK 228 C Moss Kami @Hugh Jamieson 229 R Myojin of Life's Web @Kev Walker 230 R Nature's Will @Mitch Cotie -231 U Orbweaver Kumo @Dan Scott +231 U Orbweaver Kumo @Dan Murayama Scott 232 C Order of the Sacred Bell @Carl Critchlow -233 U Orochi Eggwatcher @Dan Scott +233 U Orochi Eggwatcher @Dan Murayama Scott 234 C Orochi Leafcaller @Joel Thomas 235 C Orochi Ranger @Greg Hildebrandt 236 C Orochi Sustainer @rk post diff --git a/forge-gui/res/editions/Classic Sixth Edition.txt b/forge-gui/res/editions/Classic Sixth Edition.txt index bcbc846e25d..2de393ad7cc 100644 --- a/forge-gui/res/editions/Classic Sixth Edition.txt +++ b/forge-gui/res/editions/Classic Sixth Edition.txt @@ -279,7 +279,7 @@ ScryfallCode=6ED 265 C Vitalize @Pete Venters 266 R Waiting in the Weeds @Susan Van Camp 267 U Warthog @Steve White -268 C Wild Growth @Pat Morrissey +268 C Wild Growth @Pat Lewis 269 U Worldly Tutor @David O'Connor 270 R Wyluli Wolf @Susan Van Camp 271 R Aladdin's Ring @Stuart Griffin @@ -333,7 +333,7 @@ ScryfallCode=6ED 319 R Adarkar Wastes @Gary Leach 320 R Brushland @Tom Wänerstrand 321 R City of Brass @Tom Wänerstrand -322 U Crystal Vein @Pat Morrissey +322 U Crystal Vein @Pat Lewis 323 U Dwarven Ruins @Liz Danforth 324 U Ebon Stronghold @Liz Danforth 325 U Havenwood Battleground @Liz Danforth diff --git a/forge-gui/res/editions/Coldsnap Theme Decks.txt b/forge-gui/res/editions/Coldsnap Theme Decks.txt index d876d1ba442..fcb01b3122d 100644 --- a/forge-gui/res/editions/Coldsnap Theme Decks.txt +++ b/forge-gui/res/editions/Coldsnap Theme Decks.txt @@ -13,7 +13,7 @@ ScryfallCode=CST 20 C Disenchant @Brian Snõddy 25 U Browse @Phil Foglio 30b C Lat-Nam's Legacy @Tom Wänerstrand -34 C Kjeldoran Elite Guard @Melissa A. Benson +34 U Kjeldoran Elite Guard @Melissa A. Benson 37 U Storm Elemental @John Matson 42 U Viscerid Drone @Heather Hudson 43 U Balduvian Dead @Mike Kimble @@ -65,9 +65,9 @@ ScryfallCode=CST 378 L Mountain @Tom Wänerstrand 379 L Mountain @Tom Wänerstrand 380 L Mountain @Tom Wänerstrand -381 L Forest @Pat Morrissey -382 L Forest @Pat Morrissey -383 L Forest @Pat Morrissey +381 L Forest @Pat Lewis +382 L Forest @Pat Lewis +383 L Forest @Pat Lewis [tokens] w_0_1_deserter diff --git a/forge-gui/res/editions/Coldsnap.txt b/forge-gui/res/editions/Coldsnap.txt index 2378bc2c9cc..87bc2399ca2 100644 --- a/forge-gui/res/editions/Coldsnap.txt +++ b/forge-gui/res/editions/Coldsnap.txt @@ -53,7 +53,7 @@ ScryfallCode=CSP 40 C Martyr of Frost @Wayne England 41 U Perilous Research @Dany Orizio 42 R Rimefeather Owl @Kensuke Okabayashi -43 U Rimewind Cryomancer @Dan Scott +43 U Rimewind Cryomancer @Dan Murayama Scott 44 C Rimewind Taskmage @Ron Spears 45 C Ronom Serpent @Ron Spencer 46 C Rune Snag @Dave Dorman @@ -122,8 +122,8 @@ ScryfallCode=CSP 109 C Frostweb Spider @Greg Hildebrandt 110 R Hibernation's End @Steven Belledin 111 C Into the North @Richard Sardinha -112 U Karplusan Strider @Dan Scott -113 C Martyr of Spores @Dan Scott +112 U Karplusan Strider @Dan Murayama Scott +113 C Martyr of Spores @Dan Murayama Scott 114 U Mystic Melting @Chippy 115 R Ohran Viper @Kev Walker 116 R Panglacial Wurm @Jim Pavelec diff --git a/forge-gui/res/editions/Commander 2013.txt b/forge-gui/res/editions/Commander 2013.txt index c705114f337..9cda9b7d03a 100644 --- a/forge-gui/res/editions/Commander 2013.txt +++ b/forge-gui/res/editions/Commander 2013.txt @@ -95,7 +95,7 @@ ScryfallCode=C13 86 R Phyrexian Delver @Igor Kieryluk 87 U Phyrexian Gargantua @Igor Kieryluk 88 U Phyrexian Reclamation @rk post -89 R Price of Knowledge @Dan Scott +89 R Price of Knowledge @Dan Murayama Scott 90 C Quagmire Druid @Jaime Jones 91 U Reckless Spite @Karl Kopinski 92 R Sanguine Bond @Jaime Jones @@ -109,7 +109,7 @@ ScryfallCode=C13 100 U Wight of Precinct Six @Ryan Barger 101 U Blood Rites @Raymond Swanland 102 R Capricious Efreet @Justin Sweet -103 R Charmbreaker Devils @Dan Scott +103 R Charmbreaker Devils @Dan Murayama Scott 104 R Crater Hellion @Daren Bader 105 U Curse of Chaos @Jason A. Engle 106 U Fireball @Dave Dorman @@ -130,7 +130,7 @@ ScryfallCode=C13 121 R Stalking Vengeance @Anthony S. Waters 122 R Starstorm @Jonas De Ro 123 U Street Spasm @Raymond Swanland -124 R Sudden Demise @Dan Scott +124 R Sudden Demise @Dan Murayama Scott 125 R Tempt with Vengeance @Ryan Barger 126 U Terra Ravager @Ralph Horsley 127 R Tooth and Claw @Val Mayerik @@ -138,7 +138,7 @@ ScryfallCode=C13 129 R Warstorm Surge @Raymond Swanland 130 R Where Ancients Tread @Zoltan Boros & Gabor Szikszai 131 R Widespread Panic @Dave Kendall -132 R Wild Ricochet @Dan Scott +132 R Wild Ricochet @Dan Murayama Scott 133 R Witch Hunt @Karl Kopinski 134 U Acidic Slime @Karl Kopinski 135 M Avenger of Zendikar @Zoltan Boros & Gabor Szikszai @@ -259,7 +259,7 @@ ScryfallCode=C13 250 C Obelisk of Esper @Francis Tsai 251 C Obelisk of Grixis @Nils Hamm 252 C Obelisk of Jund @Brandon Kitkouski -253 C Pilgrim's Eye @Dan Scott +253 C Pilgrim's Eye @Dan Murayama Scott 254 R Plague Boiler @Mark Tedin 255 C Pristine Talisman @Matt Cavotta 256 R Seer's Sundial @Franz Vohwinkel @@ -334,7 +334,7 @@ ScryfallCode=C13 325 C Smoldering Crater @Mark Tedin 326 R Springjack Pasture @Terese Nielsen 327 U Temple of the False God @Brian Snõddy -328 C Terramorphic Expanse @Dan Scott +328 C Terramorphic Expanse @Dan Murayama Scott 329 C Tranquil Thicket @Heather Hudson 330 C Transguild Promenade @Noah Bradley 331 U Urza's Factory @Mark Tedin diff --git a/forge-gui/res/editions/Commander 2014.txt b/forge-gui/res/editions/Commander 2014.txt index 5f463aca1f9..583bb49ed48 100644 --- a/forge-gui/res/editions/Commander 2014.txt +++ b/forge-gui/res/editions/Commander 2014.txt @@ -22,7 +22,7 @@ ScryfallCode=C14 13 R Domineering Will @Mike Sass 14 R Dulcet Sirens @Magali Villeneuve 15 R Intellectual Offering @Mark Winters -16 R Reef Worm @Dan Scott +16 R Reef Worm @Dan Murayama Scott 17 M Stitcher Geralf @Karla Ortiz 18 R Stormsurge Kraken @Svetlin Velinov 19 M Teferi, Temporal Archmage @Tyler Jacobson @@ -39,12 +39,12 @@ ScryfallCode=C14 30 R Spoils of Blood @Erica Yang 31 R Wake the Dead @Christopher Moeller 32 R Bitter Feud @Aaron Miller -33 M Daretti, Scrap Savant @Dan Scott +33 M Daretti, Scrap Savant @Dan Murayama Scott 34 R Dualcaster Mage @Matt Stewart 35 M Feldon of the Third Path @Chase Stone 36 R Impact Resonance @Jesper Ejsing 37 R Incite Rebellion @Alex Horley-Orlandelli -38 R Scrap Mastery @Dan Scott +38 R Scrap Mastery @Dan Murayama Scott 39 R Tyrant's Familiar @Todd Lockwood 40 R Volcanic Offering @Eric Velhagen 41 R Warmonger Hellkite @Trevor Claxton @@ -82,7 +82,7 @@ ScryfallCode=C14 73 U Gift of Estates @Hugh Jamieson 74 R Grand Abolisher @Eric Deschamps 75 R Kemba, Kha Regent @Todd Lockwood -76 C Kor Sanctifiers @Dan Scott +76 C Kor Sanctifiers @Dan Murayama Scott 77 R Marshal's Anthem @Matt Stewart 78 R Martial Coup @Greg Staples 79 R Mentor of the Meek @Jana Schirmer & Johannes Voss @@ -268,7 +268,7 @@ ScryfallCode=C14 259 C Panic Spellbomb @Franz Vohwinkel 260 R Pearl Medallion @Daniel Ljunggren 261 R Pentavus @Greg Staples -262 C Pilgrim's Eye @Dan Scott +262 C Pilgrim's Eye @Dan Murayama Scott 263 R Predator, Flagship @Mark Tedin 264 C Pristine Talisman @Matt Cavotta 265 R Ruby Medallion @Daniel Ljunggren @@ -277,12 +277,12 @@ ScryfallCode=C14 268 U Skullclamp @Daniel Ljunggren 269 U Sky Diamond @Lindsey Look 270 U Sol Ring @Mike Bierek -271 R Solemn Simulacrum @Dan Scott +271 R Solemn Simulacrum @Dan Murayama Scott 272 R Spine of Ish Sah @Daniel Ljunggren 273 R Steel Hellkite @James Paick 274 R Strata Scythe @Scott Chou 275 U Swiftfoot Boots @Svetlin Velinov -276 R Sword of Vengeance @Dan Scott +276 R Sword of Vengeance @Dan Murayama Scott 277 U Thran Dynamo @Ron Spears 278 U Tormod's Crypt @Lars Grant-West 279 R Trading Post @Adam Paquette @@ -321,7 +321,7 @@ ScryfallCode=C14 312 C Smoldering Crater @Mark Tedin 313 U Tectonic Edge @Vincent Proce 314 U Temple of the False God @Brian Snõddy -315 C Terramorphic Expanse @Dan Scott +315 C Terramorphic Expanse @Dan Murayama Scott 316 C Tranquil Thicket @Heather Hudson 317 U Zoetic Cavern @Lars Grant-West 318 L Plains @John Avon diff --git a/forge-gui/res/editions/Commander 2015.txt b/forge-gui/res/editions/Commander 2015.txt index 05dea4438a5..0883ac592cb 100644 --- a/forge-gui/res/editions/Commander 2015.txt +++ b/forge-gui/res/editions/Commander 2015.txt @@ -35,7 +35,7 @@ ScryfallCode=C15 26 R Fiery Confluence @Kieran Yanner 27 R Magus of the Wheel @Carl Frank 28 U Meteor Blast @Mike Sass -29 R Mizzix's Mastery @Dan Scott +29 R Mizzix's Mastery @Dan Murayama Scott 30 U Rite of the Raging Storm @Svetlin Velinov 31 U Warchief Giant @Slawomir Maniak 32 R Arachnogenesis @Johannes Voss @@ -79,7 +79,7 @@ ScryfallCode=C15 70 U Ghostblade Eidolon @Ryan Yee 71 R Jareth, Leonine Titan @Daren Bader 72 R Karmic Justice @Ray Lago -73 C Kor Sanctifiers @Dan Scott +73 C Kor Sanctifiers @Dan Murayama Scott 74 R Marshal's Anthem @Matt Stewart 75 R Mesa Enchantress @Randy Gallegos 76 U Monk Idealist @Daren Bader @@ -105,7 +105,7 @@ ScryfallCode=C15 96 R Lone Revenant @Jaime Jones 97 U Mulldrifter @Eric Fortune 98 U Mystic Retrieval @Scott Chou -99 C Ninja of the Deep Hours @Dan Scott +99 C Ninja of the Deep Hours @Dan Murayama Scott 100 U Plaxmanta @Alan Pollack 101 C Preordain @Svetlin Velinov 102 U Rapid Hybridization @Jack Wang @@ -151,7 +151,7 @@ ScryfallCode=C15 142 R Borderland Behemoth @Jesper Ejsing 143 U Breath of Darigaaz @Greg Hildebrandt & Tim Hildebrandt 144 R Chain Reaction @Trevor Claxton -145 R Charmbreaker Devils @Dan Scott +145 R Charmbreaker Devils @Dan Murayama Scott 146 M Comet Storm @Jung Park 147 U Curse of the Nightly Hunt @Daarken 148 R Desolation Giant @Alan Pollack @@ -222,9 +222,9 @@ ScryfallCode=C15 213 C Coiling Oracle @Mark Zug 214 R Counterflux @Scott M. Fischer 215 R Death Grasp @Raymond Swanland -216 M Epic Experiment @Dan Scott +216 M Epic Experiment @Dan Murayama Scott 217 R Etherium-Horn Sorcerer @Franz Vohwinkel -218 R Firemind's Foresight @Dan Scott +218 R Firemind's Foresight @Dan Murayama Scott 219 M Gisela, Blade of Goldnight @Jason Chan 220 C Goblin Electromancer @Svetlin Velinov 221 U Golgari Charm @Zoltan Boros @@ -245,7 +245,7 @@ ScryfallCode=C15 236 U Trygon Predator @Jack Wang 237 U Underworld Coinsmith @Mark Winters 238 R Vulturous Zombie @Greg Staples -239 R Biomantic Mastery @Dan Scott +239 R Biomantic Mastery @Dan Murayama Scott 240 R Call the Skybreaker @Randy Gallegos 241 R Cold-Eyed Selkie @Jaime Jones 242 C Snakeform @Jim Nelson @@ -275,10 +275,10 @@ ScryfallCode=C15 266 C Simic Signet @Mike Sass 267 U Skullclamp @Daniel Ljunggren 268 U Sol Ring @Mike Bierek -269 R Solemn Simulacrum @Dan Scott -270 R Staff of Nin @Dan Scott +269 R Solemn Simulacrum @Dan Murayama Scott +270 R Staff of Nin @Dan Murayama Scott 271 U Swiftfoot Boots @Svetlin Velinov -272 R Sword of Vengeance @Dan Scott +272 R Sword of Vengeance @Dan Murayama Scott 273 R Urza's Incubator @Pete Venters 274 C Wayfarer's Bauble @Darrell Riche 275 U Worn Powerstone @Henry G. Higginbotham @@ -320,7 +320,7 @@ ScryfallCode=C15 311 U Tainted Field @Don Hazeltine 312 U Tainted Wood @Rob Alexander 313 U Temple of the False God @Brian Snõddy -314 C Terramorphic Expanse @Dan Scott +314 C Terramorphic Expanse @Dan Murayama Scott 315 C Thornwood Falls @Eytan Zana 316 U Vivid Crag @Martina Pilcerova 317 U Vivid Creek @Fred Fields diff --git a/forge-gui/res/editions/Commander 2016.txt b/forge-gui/res/editions/Commander 2016.txt index a9d958d8384..0d04623e716 100644 --- a/forge-gui/res/editions/Commander 2016.txt +++ b/forge-gui/res/editions/Commander 2016.txt @@ -96,7 +96,7 @@ ScryfallCode=C16 87 R Devastation Tide @Raymond Swanland 88 C Disdainful Stroke @Svetlin Velinov 89 C Etherium Sculptor @Steven Belledin -90 M Ethersworn Adjudicator @Dan Scott +90 M Ethersworn Adjudicator @Dan Murayama Scott 91 R Evacuation @Franz Vohwinkel 92 R Master of Etherium @Matt Cavotta 93 R Minds Aglow @Yeong-Hao Han @@ -129,7 +129,7 @@ ScryfallCode=C16 120 R Blasphemous Act @Daarken 121 R Breath of Fury @Kev Walker 122 R Chaos Warp @Trevor Claxton -123 M Daretti, Scrap Savant @Dan Scott +123 M Daretti, Scrap Savant @Dan Murayama Scott 124 R Dragon Mage @Matthew D. Wilson 125 R Godo, Bandit Warlord @Paolo Parente 126 U Grab the Reins @Michael Sutfin @@ -159,7 +159,7 @@ ScryfallCode=C16 150 R Forgotten Ancient @Mark Tedin 151 U Gamekeeper @Scott Hampton 152 R Hardened Scales @Mark Winters -153 U Inspiring Call @Dan Scott +153 U Inspiring Call @Dan Murayama Scott 154 M Kalonian Hydra @Chris Rahn 155 C Kodama's Reach @Heather Hudson 156 R Lurking Predators @Mike Bierek @@ -279,7 +279,7 @@ ScryfallCode=C16 270 C Simic Signet @Mike Sass 271 U Skullclamp @Daniel Ljunggren 272 U Sol Ring @Mike Bierek -273 R Solemn Simulacrum @Dan Scott +273 R Solemn Simulacrum @Dan Murayama Scott 274 M Soul of New Phyrexia @Daarken 275 R Sunforger @Darrell Riche 276 U Swiftfoot Boots @Svetlin Velinov @@ -338,7 +338,7 @@ ScryfallCode=C16 329 R Sunpetal Grove @Jason Chan 330 C Swiftwater Cliffs @Eytan Zana 331 U Temple of the False God @James Zapata -332 C Terramorphic Expanse @Dan Scott +332 C Terramorphic Expanse @Dan Murayama Scott 333 C Thornwood Falls @Eytan Zana 334 C Transguild Promenade @Noah Bradley 335 R Underground River @Andrew Goldhawk diff --git a/forge-gui/res/editions/Commander 2017.txt b/forge-gui/res/editions/Commander 2017.txt index a769ce664b2..b9d26aca951 100644 --- a/forge-gui/res/editions/Commander 2017.txt +++ b/forge-gui/res/editions/Commander 2017.txt @@ -33,7 +33,7 @@ ScryfallCode=C17 24 U Curse of Opulence @Kieran Yanner 25 R Disrupt Decorum @Sidharth Chaturvedi 26 R Izzet Chemister @Svetlin Velinov -27 R Kindred Charge @Dan Scott +27 R Kindred Charge @Dan Murayama Scott 28 R Shifting Shadow @Christopher Burdett 29 R Territorial Hellkite @Jonas De Ro 30 U Curse of Bounty @Kieran Yanner @@ -99,10 +99,10 @@ ScryfallCode=C17 90 R Polymorphist's Jest @Craig J Spearing 91 U Reality Shift @Howard Lyon 92 C Sea Gate Oracle @Daniel Ljunggren -93 R Serendib Sorcerer @Dan Scott +93 R Serendib Sorcerer @Dan Murayama Scott 94 R Spelltwine @Noah Bradley 95 U Ambition's Cost @Zezhou Chen -96 R Anowon, the Ruin Sage @Dan Scott +96 R Anowon, the Ruin Sage @Dan Murayama Scott 97 R Apprentice Necromancer @Randy Vargas 98 R Black Market @Jeff Easley 99 U Blood Artist @Johannes Voss @@ -180,11 +180,11 @@ ScryfallCode=C17 171 R Etherium-Horn Sorcerer @Franz Vohwinkel 172 R Fleecemane Lion @Slawomir Maniak 173 M Havengul Lich @James Ryman -174 R Intet, the Dreamer @Dan Scott +174 R Intet, the Dreamer @Dan Murayama Scott 175 C Izzet Chronarch @Steven Belledin 176 R Kolaghan, the Storm's Fury @Jaime Jones 177 M Marchesa, the Black Rose @Matt Stewart -178 R Memory Plunder @Dan Scott +178 R Memory Plunder @Dan Murayama Scott 179 R Merciless Eviction @Richard Wright 180 R Mercurial Chemister @Wesley Burt 181 M Mirari's Wake @Volkan Baǵa @@ -230,11 +230,11 @@ ScryfallCode=C17 221 U Rakdos Signet @Martina Pilcerova 222 U Skullclamp @Daniel Ljunggren 223 U Sol Ring @Mike Bierek -224 R Staff of Nin @Dan Scott +224 R Staff of Nin @Dan Murayama Scott 225 R Steel Hellkite @James Paick 226 U Swiftfoot Boots @Svetlin Velinov 227 R Sword of the Animist @Daniel Ljunggren -228 R Sword of Vengeance @Dan Scott +228 R Sword of Vengeance @Dan Murayama Scott 229 U Unstable Obelisk @William Wu 230 C Wayfarer's Bauble @Darrell Riche 231 R Well of Lost Dreams @Jeff Miracola @@ -291,7 +291,7 @@ ScryfallCode=C17 282 U Stone Quarry @Cliff Childs 283 C Swiftwater Cliffs @Eytan Zana 284 U Temple of the False God @James Zapata -285 C Terramorphic Expanse @Dan Scott +285 C Terramorphic Expanse @Dan Murayama Scott 286 U Tranquil Expanse @Cliff Childs 287 C Tranquil Thicket @Heather Hudson 288 U Urborg Volcano @Tony Szczudlo diff --git a/forge-gui/res/editions/Commander 2018.txt b/forge-gui/res/editions/Commander 2018.txt index e5b4c4ef7e3..b88b73f53c7 100644 --- a/forge-gui/res/editions/Commander 2018.txt +++ b/forge-gui/res/editions/Commander 2018.txt @@ -101,8 +101,8 @@ ScryfallCode=C18 92 C Into the Roil @Kieran Yanner 93 R Jeskai Infiltrator @Cynthia Sheppard 94 U Mulldrifter @Eric Fortune -95 C Ninja of the Deep Hours @Dan Scott -96 C Ponder @Dan Scott +95 C Ninja of the Deep Hours @Dan Murayama Scott +96 C Ponder @Dan Murayama Scott 97 C Portent @Christopher Burdett 98 U Predict @Rebecca Guay 99 U Reverse Engineer @Chase Stone @@ -213,14 +213,14 @@ ScryfallCode=C18 204 U Dreamstone Hedron @Eric Deschamps 205 R Duplicant @Marco Nelor 206 U Hedron Archive @Craig J Spearing -207 U Izzet Signet @Raoul Vitale -208 U Magnifying Glass @Dan Scott +207 C Izzet Signet @Raoul Vitale +208 U Magnifying Glass @Dan Murayama Scott 209 R Mimic Vat @Matt Cavotta 210 C Mind Stone @Adam Rex 211 R Mirrorworks @John Avon 212 R Myr Battlesphere @Franz Vohwinkel 213 C Orzhov Signet @Martina Pilcerova -214 C Pilgrim's Eye @Dan Scott +214 C Pilgrim's Eye @Dan Murayama Scott 215 U Prismatic Lens @Alan Pollack 216 R Prototype Portal @Drew Baker 217 R Psychosis Crawler @Stephan Martiniere @@ -292,7 +292,7 @@ ScryfallCode=C18 283 U Submerged Boneyard @Cliff Childs 284 C Swiftwater Cliffs @Eytan Zana 285 U Temple of the False God @James Zapata -286 C Terramorphic Expanse @Dan Scott +286 C Terramorphic Expanse @Dan Murayama Scott 287 C Thornwood Falls @Eytan Zana 288 C Tranquil Cove @John Avon 289 U Tranquil Expanse @Cliff Childs diff --git a/forge-gui/res/editions/Commander 2019.txt b/forge-gui/res/editions/Commander 2019.txt index 123d1d38c59..8ff3a2c1841 100644 --- a/forge-gui/res/editions/Commander 2019.txt +++ b/forge-gui/res/editions/Commander 2019.txt @@ -129,7 +129,7 @@ ScryfallCode=C19 120 R Hex @Michael Sutfin 121 R In Garruk's Wake @Chase Stone 122 C Murderous Compulsion @David Palumbo -123 C Nightshade Assassin @Darren Tan +123 U Nightshade Assassin @Darren Tan 124 M Ob Nixilis Reignited @Chris Rahn 125 R Overseer of the Damned @rk post 126 U Plaguecrafter @Anna Steinbauer @@ -193,7 +193,7 @@ ScryfallCode=C19 184 R Thelonite Hermit @Chippy 185 R Thragtusk @Nils Hamm 186 R Trail of Mystery @Raymond Swanland -187 R Biomass Mutation @Dan Scott +187 R Biomass Mutation @Dan Murayama Scott 188 R Bloodhall Priest @Mark Winters 189 R Bounty of the Luxa @Jonas De Ro 190 U Crackling Drake @Victor Adame Minguez @@ -287,7 +287,7 @@ ScryfallCode=C19 278 R Sunken Hollow @Adam Paquette 279 C Swiftwater Cliffs @Eytan Zana 280 U Temple of the False God @James Zapata -281 C Terramorphic Expanse @Dan Scott +281 C Terramorphic Expanse @Dan Murayama Scott 282 R Thespian's Stage @John Avon 283 C Thornwood Falls @Eytan Zana 284 C Tranquil Cove @John Avon diff --git a/forge-gui/res/editions/Commander 2020.txt b/forge-gui/res/editions/Commander 2020.txt index 24375bed533..0e4b1976951 100644 --- a/forge-gui/res/editions/Commander 2020.txt +++ b/forge-gui/res/editions/Commander 2020.txt @@ -68,7 +68,7 @@ ScryfallCode=C20 60 R Glademuse @Ilse Gort 61 R Obscuring Haze @Campbell White 62 U Predatory Impetus @Randy Vargas -63 R Ravenous Gigantotherium @Bartlomiej Gawel +63 R Ravenous Gigantotherium @Bartłomiej Gaweł 64 R Sawtusk Demolisher @Aaron Miller 65 R Selective Adaptation @Tomasz Jedruszek 66 R Slippery Bogbonder @Mila Pesic @@ -152,7 +152,7 @@ ScryfallCode=C20 144 R Captivating Crew @Winona Nelson 145 M Chandra, Flamecaller @Jason Rainville 146 R Chaos Warp @Trevor Claxton -147 R Charmbreaker Devils @Dan Scott +147 R Charmbreaker Devils @Dan Murayama Scott 148 M Comet Storm @Jung Park 149 R Commune with Lava @Ryan Barger 150 R Dualcaster Mage @Matt Stewart @@ -178,7 +178,7 @@ ScryfallCode=C20 170 C Cultivate @Anthony Palumbo 171 C Evolution Charm @John Avon 172 R Genesis Hydra @Peter Mohrbacher -173 U Harmonize @Dan Scott +173 U Harmonize @Dan Murayama Scott 174 C Harrow @Rob Alexander 175 U Heroes' Bane @Raymond Swanland 176 R Hornet Queen @Martina Pilcerova @@ -234,7 +234,7 @@ ScryfallCode=C20 226 U Nyx Weaver @Jack Wang 227 R Prophetic Bolt @Slawomir Maniak 228 U Putrefy @Igor Kieryluk -229 R Rashmi, Eternities Crafter @Magali Villeneuve +229 M Rashmi, Eternities Crafter @Magali Villeneuve 230 U Temur Charm @Mathias Kollros 231 U Terminate @Lucas Graciano 232 U Trygon Predator @Jack Wang @@ -242,7 +242,7 @@ ScryfallCode=C20 234 R Wort, the Raidmother @Dave Allsop 235 R Wydwen, the Biting Gale @Matt Cavotta 236 R Abandoned Sarcophagus @Daarken -237 C Arcane Signet @Dan Scott +237 C Arcane Signet @Dan Murayama Scott 238 U Azorius Signet @Raoul Vitale 239 U Boros Signet @Mike Sass 240 C Commander's Sphere @Ryan Alexander Lee diff --git a/forge-gui/res/editions/Commander 2021.txt b/forge-gui/res/editions/Commander 2021.txt index c218cc6354d..b237154792e 100644 --- a/forge-gui/res/editions/Commander 2021.txt +++ b/forge-gui/res/editions/Commander 2021.txt @@ -52,11 +52,11 @@ ScryfallCode=C21 44 R Stinging Study @Kieran Yanner 45 R Tivash, Gloom Summoner @Kieran Yanner 46 R Veinwitch Coven @Caio Monteiro -47 R Audacious Reshapers @Justyna Gil +47 R Audacious Reshapers @Justyna Dura 48 R Battlemage's Bracers @David Gaillet 49 R Creative Technique @Gaboleps 50 R Cursed Mirror @David Gaillet -51 R Fiery Encore @Justyna Gil +51 R Fiery Encore @Justyna Dura 52 R Inferno Project @Olivier Bernard 53 R Laelia, the Blade Reforged @Wisnu Tan 54 R Radiant Performer @Alessandra Pisano @@ -119,7 +119,7 @@ ScryfallCode=C21 111 R Windborn Muse @Adam Rex 112 R Zetalpa, Primal Dawn @Chris Rallis 113 R Aether Gale @Jack Wang -114 R Aetherspouts @Dan Scott +114 R Aetherspouts @Dan Murayama Scott 115 C Brainstorm @Willian Murai 116 R Champion of Wits @Even Amundsen 117 R Crafty Cutpurse @Grzegorz Rutkowski @@ -130,9 +130,9 @@ ScryfallCode=C21 122 M Metallurgic Summonings @Kieran Yanner 123 R Mind's Desire @Anthony Francisco 124 M Naru Meha, Master Wizard @Matt Stewart -125 C Ponder @Dan Scott +125 C Ponder @Dan Murayama Scott 126 U Rapid Hybridization @Jack Wang -127 R Reef Worm @Dan Scott +127 R Reef Worm @Dan Murayama Scott 128 R Rite of Replication @Matt Cavotta 129 U Serum Visions @Izzy 130 R Swarm Intelligence @Daniel Ljunggren @@ -158,7 +158,7 @@ ScryfallCode=C21 150 U Parasitic Impetus @Mila Pesic 151 U Reckless Spite @Karl Kopinski 152 R Sangromancer @Igor Kieryluk -153 U Sanguine Bond @Jaime Jones +153 R Sanguine Bond @Jaime Jones 154 U Silversmote Ghoul @Bryan Sola 155 U Suffer the Past @Trevor Claxton 156 R Taste of Death @Chris Rallis @@ -167,9 +167,9 @@ ScryfallCode=C21 159 R Blasphemous Act @Daarken 160 R Brass's Bounty @Grzegorz Rutkowski 161 R Chain Reaction @Trevor Claxton -162 R Charmbreaker Devils @Dan Scott +162 R Charmbreaker Devils @Dan Murayama Scott 163 M Combustible Gearhulk @Daarken -164 M Daretti, Scrap Savant @Dan Scott +164 M Daretti, Scrap Savant @Dan Murayama Scott 165 R Dualcaster Mage @Matt Stewart 166 R Erratic Cyclops @Milivoj Ćeran 167 R Etali, Primal Storm @Raymond Swanland @@ -205,7 +205,7 @@ ScryfallCode=C21 197 C Kodama's Reach @John Avon 198 U Krosan Grip @Zoltan Boros & Gabor Szikszai 199 R Managorger Hydra @Lucas Graciano -200 U Nissa's Expedition @Dan Scott +200 U Nissa's Expedition @Dan Murayama Scott 201 R Nissa's Renewal @Lius Lasahido 202 U Pulse of Murasa @Matt Stewart 203 R Rampaging Baloths @Steve Prescott @@ -214,14 +214,14 @@ ScryfallCode=C21 206 R Shamanic Revelation @Cynthia Sheppard 207 R Terastodon @Lars Grant-West 208 R Verdant Sun's Avatar @Izzy -209 R Biomass Mutation @Dan Scott +209 R Biomass Mutation @Dan Murayama Scott 210 U Boros Charm @Zoltan Boros 211 R Call the Skybreaker @Randy Gallegos 212 C Coiling Oracle @Mark Zug 213 U Crackling Drake @Victor Adame Minguez 214 R Deathbringer Liege @Drew Tucker 215 R Debtors' Knell @Kev Walker -216 M Epic Experiment @Dan Scott +216 M Epic Experiment @Dan Murayama Scott 217 R Gaze of Granite @Nils Hamm 218 R Gluttonous Troll @Joe Slucher 219 U Incubation // Incongruity @Mike Bierek @@ -239,7 +239,7 @@ ScryfallCode=C21 231 U Trygon Predator @Carl Critchlow 232 R Utter End @Mark Winters 233 M Alhammarret's Archive @Richard Wright -234 C Arcane Signet @Dan Scott +234 C Arcane Signet @Dan Murayama Scott 235 U Bloodthirsty Blade @Jason Kang 236 C Boros Locket @Aaron Miller 237 R Bosh, Iron Golem @Brom @@ -262,7 +262,7 @@ ScryfallCode=C21 254 U Orzhov Signet @Martina Pilcerova 255 U Paradise Plume @Wayne England 256 R Pendant of Prosperity @Raoul Vitale -257 C Pilgrim's Eye @Dan Scott +257 C Pilgrim's Eye @Dan Murayama Scott 258 C Pristine Talisman @Matt Cavotta 259 M Pyromancer's Goggles @James Paick 260 R Scrap Trawler @Daarken @@ -320,7 +320,7 @@ ScryfallCode=C21 312 U Rogue's Passage @Christine Choi 313 U Sapseep Forest @Aleksi Briclot 314 R Scavenger Grounds @Steven Belledin -315 C Secluded Steppe @Heather Hudson +315 U Secluded Steppe @Heather Hudson 316 R Shivan Reef @Rob Alexander 317 U Simic Growth Chamber @John Avon 318 R Slayers' Stronghold @Karl Kopinski @@ -379,11 +379,11 @@ ScryfallCode=C21 371 R Stinging Study @Kieran Yanner 372 R Tivash, Gloom Summoner @Kieran Yanner 373 R Veinwitch Coven @Caio Monteiro -374 R Audacious Reshapers @Justyna Gil +374 R Audacious Reshapers @Justyna Dura 375 R Battlemage's Bracers @David Gaillet 376 R Creative Technique @Gaboleps 377 R Cursed Mirror @David Gaillet -378 R Fiery Encore @Justyna Gil +378 R Fiery Encore @Justyna Dura 379 R Inferno Project @Olivier Bernard 380 R Laelia, the Blade Reforged @Wisnu Tan 381 R Radiant Performer @Alessandra Pisano diff --git a/forge-gui/res/editions/Commander Anthology Vol. II.txt b/forge-gui/res/editions/Commander Anthology Vol. II.txt index 082afd82ba0..ccf19bde599 100644 --- a/forge-gui/res/editions/Commander Anthology Vol. II.txt +++ b/forge-gui/res/editions/Commander Anthology Vol. II.txt @@ -9,7 +9,7 @@ ScryfallCode=CM2 1 M The Mimeoplasm @Svetlin Velinov 2 M Damia, Sage of Stone @Steve Argyle 3 R Vorosh, the Hunter @Mark Zug -4 M Daretti, Scrap Savant @Dan Scott +4 M Daretti, Scrap Savant @Dan Murayama Scott 5 R Bosh, Iron Golem @Brom 6 M Feldon of the Third Path @Chase Stone 7 M Kalemne, Disciple of Iroas @Jason Chan @@ -54,8 +54,8 @@ ScryfallCode=CM2 46 R Minds Aglow @Yeong-Hao Han 47 C Mulldrifter @Eric Fortune 48 R Riddlekeeper @Steve Prescott -49 U Slipstream Eel @Mark Tedin -50 U Spell Crumple @Dan Scott +49 C Slipstream Eel @Mark Tedin +50 U Spell Crumple @Dan Murayama Scott 51 U Tezzeret's Gambit @Karl Kopinski 52 U Thrummingbird @Efrem Palacios 53 C Treasure Cruise @Cynthia Sheppard @@ -121,7 +121,7 @@ ScryfallCode=CM2 113 R Magus of the Wheel @Carl Frank 114 U Meteor Blast @Mike Sass 115 U Rite of the Raging Storm @Svetlin Velinov -116 R Scrap Mastery @Dan Scott +116 R Scrap Mastery @Dan Murayama Scott 117 U Spitebellows @Larry MacDougall 118 R Starstorm @Jonas De Ro 119 C Stinkdrinker Daredevil @Pete Venters @@ -144,7 +144,7 @@ ScryfallCode=CM2 136 U Eternal Witness @Terese Nielsen 137 R Forgotten Ancient @Mark Tedin 138 R Hardened Scales @Mark Winters -139 U Inspiring Call @Dan Scott +139 U Inspiring Call @Dan Murayama Scott 140 M Kalonian Hydra @Chris Rahn 141 R Lhurgoyf @Pete Venters 142 C Relic Crush @Steven Belledin @@ -215,7 +215,7 @@ ScryfallCode=CM2 207 U Palladium Myr @Alan Pollack 208 C Panic Spellbomb @Franz Vohwinkel 209 R Pentavus @Greg Staples -210 C Pilgrim's Eye @Dan Scott +210 C Pilgrim's Eye @Dan Murayama Scott 211 C Pristine Talisman @Matt Cavotta 212 R Ruby Medallion @Daniel Ljunggren 213 U Sandstone Oracle @Eric Deschamps @@ -224,9 +224,9 @@ ScryfallCode=CM2 216 C Simic Signet @Mike Sass 217 U Sol Ring @Mike Bierek 218 R Solemn Simulacrum @Greg Staples -219 R Solemn Simulacrum @Dan Scott +219 R Solemn Simulacrum @Dan Murayama Scott 220 R Spine of Ish Sah @Daniel Ljunggren -221 R Staff of Nin @Dan Scott +221 R Staff of Nin @Dan Murayama Scott 222 R Steel Hellkite @James Paick 223 U Swiftfoot Boots @Svetlin Velinov 224 C Thought Vessel @rk post @@ -278,7 +278,7 @@ ScryfallCode=CM2 270 U Svogthos, the Restless Tomb @Martina Pilcerova 271 U Temple of the False God @Brian Snõddy 272 U Temple of the False God @James Zapata -273 C Terramorphic Expanse @Dan Scott +273 C Terramorphic Expanse @Dan Murayama Scott 274 C Tranquil Thicket @Heather Hudson 275 R Underground River @Andrew Goldhawk 276 U Vivid Crag @Martina Pilcerova diff --git a/forge-gui/res/editions/Commander Anthology.txt b/forge-gui/res/editions/Commander Anthology.txt index 5ecbfe016f5..e868003e1ce 100644 --- a/forge-gui/res/editions/Commander Anthology.txt +++ b/forge-gui/res/editions/Commander Anthology.txt @@ -230,7 +230,7 @@ ScryfallCode=CMA 221 U Loreseeker's Stone @Franz Vohwinkel 222 U Moss Diamond @Lindsey Look 223 C Orzhov Signet @Greg Hildebrandt -224 C Pilgrim's Eye @Dan Scott +224 C Pilgrim's Eye @Dan Murayama Scott 225 R Predator, Flagship @Mark Tedin 226 C Rakdos Signet @Greg Hildebrandt 227 R Seer's Sundial @Franz Vohwinkel @@ -284,7 +284,7 @@ ScryfallCode=CMA 275 C Slippery Karst @Stephen Daniele 276 U Tainted Wood @Rob Alexander 277 U Temple of the False God @Brian Snõddy -278 C Terramorphic Expanse @Dan Scott +278 C Terramorphic Expanse @Dan Murayama Scott 279 C Tranquil Thicket @Heather Hudson 280 C Transguild Promenade @Noah Bradley 281 U Vivid Grove @Howard Lyon diff --git a/forge-gui/res/editions/Commander Collection Green.txt b/forge-gui/res/editions/Commander Collection Green.txt index f5910cce69b..1e7d2091ff4 100644 --- a/forge-gui/res/editions/Commander Collection Green.txt +++ b/forge-gui/res/editions/Commander Collection Green.txt @@ -6,7 +6,7 @@ Type=Collector_Edition ScryfallCode=CC1 [cards] -1 R Freyalise, Llanowar's Fury @Kieran Yanner +1 M Freyalise, Llanowar's Fury @Kieran Yanner 2 M Omnath, Locus of Mana @Chase Stone 3 R Bane of Progress @Grzegorz Rutkowski 4 R Seedborn Muse @Forrest Imel diff --git a/forge-gui/res/editions/Commander Legends Battle for Baldur's Gate.txt b/forge-gui/res/editions/Commander Legends Battle for Baldur's Gate.txt index 5694b60a95a..e434eb1635e 100644 --- a/forge-gui/res/editions/Commander Legends Battle for Baldur's Gate.txt +++ b/forge-gui/res/editions/Commander Legends Battle for Baldur's Gate.txt @@ -24,11 +24,11 @@ ScryfallCode=CLB 13 U Crystal Dragon @John Severin Brassell 14 U Cut a Deal @Jodie Muir 15 C Dawnbringer Cleric @Lie Setiawan -16 U Ellyn Harbreeze, Busybody @Dan Scott +16 U Ellyn Harbreeze, Busybody @Dan Murayama Scott 17 U Far Traveler @Alix Branwyn 18 C Flaming Fist @Diego Gisbert 19 C Flaming Fist Officer @Darek Zabrocki -20 U Githzerai Monk @Dan Scott +20 U Githzerai Monk @Dan Murayama Scott 21 C Goliath Paladin @John Severin Brassell 22 C Greatsword of Tyr @Titus Lunter 23 C Guardian Naga @Tom Babbey @@ -45,7 +45,7 @@ ScryfallCode=CLB 34 C Minimus Containment @Steve Prescott 35 R Noble Heritage @Dallas Williams 36 C Pegasus Guardian @Leanna Crossan -37 U Rasaad yn Bashir @Dan Scott +37 U Rasaad yn Bashir @Dan Murayama Scott 38 C Recruitment Drive @Diego Gisbert 39 U Rescuer Chwinga @Nils Hamm 40 C Roving Harper @Anastasia Ovchinnikova @@ -215,7 +215,7 @@ ScryfallCode=CLB 204 R Wand of Wonder @Xavier Ribeiro 205 C Warehouse Thief @Andrea Piparo 206 U Wild Magic Surge @Dave Greco -207 R Wrathful Red Dragon @Dan Scott +207 R Wrathful Red Dragon @Dan Murayama Scott 208 R Wyll, Blade of Frontiers @Mads Ahm 209 R Wyll's Reversal @Irina Nordsol 210 C Young Red Dragon @Adam Vehige @@ -291,7 +291,7 @@ ScryfallCode=CLB 280 U Korlessa, Scale Singer @Jesper Ejsing 281 U Lozhan, Dragons' Legacy @Rudy Siswanto 282 U Mahadi, Emporium Master @Ilse Gort -283 R Mazzy, Truesword Paladin @Justyna Gil +283 R Mazzy, Truesword Paladin @Justyna Dura 284 R Miirym, Sentinel Wyrm @Kekai Kotaki 285 M Minsc & Boo, Timeless Heroes @Andreas Zafiratos 286 U Minthara, Merciless Soul @Evyn Fong @@ -302,8 +302,8 @@ ScryfallCode=CLB 291 R Raggadragga, Goreguts Boss @Xavier Ribeiro 292 R Raphael, Fiendish Savior @Livia Prima 293 U Rilsa Rael, Kingpin @Micah Epstein -294 M Tasha, the Witch Queen @Martina Fackova -295 U Thrakkus the Butcher @Nestor Ossandon Leal +294 M Tasha, the Witch Queen @Martina Fačková +295 U Thrakkus the Butcher @Néstor Ossandón Leal 296 R Zevlor, Elturel Exile @David Rapoza 297 U Arcane Encyclopedia @Victor Harmatiuk 298 U Arcane Signet @Sam White @@ -484,14 +484,14 @@ ScryfallCode=CLB 449 C Sky Diamond @Phil Stone 450 U Stonespeaker Crystal @Mark A. Nelson 471 U Abdel Adrian, Gorion's Ward @Karl Kopinski -472 U Ellyn Harbreeze, Busybody @Dan Scott +472 U Ellyn Harbreeze, Busybody @Dan Murayama Scott 473 U Far Traveler @Alix Branwyn 474 C Flaming Fist @Diego Gisbert 475 U Inspiring Leader @Stephen Stark 476 R Lae'zel, Vlaakith's Champion @John Stanko 477 U Lulu, Loyal Hollyphant @Jakob Eirich 478 R Noble Heritage @Dallas Williams -479 U Rasaad yn Bashir @Dan Scott +479 U Rasaad yn Bashir @Dan Murayama Scott 480 U Veteran Soldier @Brock Grossman 481 U Alora, Merry Thief @Aaron Miller 482 C Candlekeep Sage @Kim Sokol @@ -553,7 +553,7 @@ ScryfallCode=CLB 538 U Korlessa, Scale Singer @Jesper Ejsing 539 U Lozhan, Dragons' Legacy @Rudy Siswanto 540 U Mahadi, Emporium Master @Ilse Gort -541 R Mazzy, Truesword Paladin @Justyna Gil +541 R Mazzy, Truesword Paladin @Justyna Dura 542 R Miirym, Sentinel Wyrm @Kekai Kotaki 543 U Minthara, Merciless Soul @Evyn Fong 544 R Myrkul, Lord of Bones @Isis @@ -563,7 +563,7 @@ ScryfallCode=CLB 548 R Raggadragga, Goreguts Boss @Xavier Ribeiro 549 R Raphael, Fiendish Savior @Livia Prima 550 U Rilsa Rael, Kingpin @Micah Epstein -551 U Thrakkus the Butcher @Nestor Ossandon Leal +551 U Thrakkus the Butcher @Néstor Ossandón Leal 552 R Zevlor, Elturel Exile @David Rapoza 931 M Captain N'ghathrod @Andrey Kuzinskiy 932 M Faldorn, Dread Wolf Herald @Jason A. Engle @@ -603,7 +603,7 @@ ScryfallCode=CLB 582 R Firbolg Flutist @Joseph Weston 583 M Storm King's Thunder @Alexander Mokhov 584 R Wand of Wonder @Xavier Ribeiro -585 R Wrathful Red Dragon @Dan Scott +585 R Wrathful Red Dragon @Dan Murayama Scott 586 R Wyll's Reversal @Irina Nordsol 587 R Barroom Brawl @Craig J Spearing 588 R Earthquake Dragon @Johan Grenier @@ -765,7 +765,7 @@ ScryfallCode=CLB 742 M Calculating Lich @Antonio José Manzanedo 743 C Changeling Outcast @Micah Epstein 744 U Corpse Augur @Scott M. Fischer -745 R Crippling Fear @Nestor Ossandon Leal +745 R Crippling Fear @Néstor Ossandón Leal 746 R Curtains' Call @James Ryman 747 R Dark Hatchling @Brad Rigney 748 C Dauthi Horror @Jeff Laubenstein @@ -869,7 +869,7 @@ ScryfallCode=CLB 846 R Firja's Retribution @Anna Steinbauer 847 U Grumgully, the Generous @Milivoj Ćeran 848 R High Priest of Penance @Mark Zug -849 R Memory Plunder @Dan Scott +849 R Memory Plunder @Dan Murayama Scott 850 R Nemesis of Reason @Mark Tedin 851 R Niv-Mizzet, Parun @Svetlin Velinov 852 U Sprite Dragon @Gabor Szikszai diff --git a/forge-gui/res/editions/Commander Legends.txt b/forge-gui/res/editions/Commander Legends.txt index 9164a2ad729..6afbdf1d5d3 100644 --- a/forge-gui/res/editions/Commander Legends.txt +++ b/forge-gui/res/editions/Commander Legends.txt @@ -9,7 +9,7 @@ DoublePick=Always ScryfallCode=CMR [cards] -1 C The Prismatic Piper @Seb McKinnon +1 S The Prismatic Piper @Seb McKinnon 2 M Akroma, Vision of Ixidor @Chris Rahn 3 R Akroma's Will @Antonio José Manzanedo 4 U Alharu, Solemn Ritualist @Chris Rallis @@ -131,7 +131,7 @@ ScryfallCode=CMR 120 C Elvish Doomsayer @Denman Rooke 121 R Elvish Dreadlord @Randy Vargas 122 C Exquisite Huntmaster @Lie Setiawan -123 C Eyeblight Assassin @Dan Scott +123 C Eyeblight Assassin @Dan Murayama Scott 124 C Eyeblight Cullers @Randy Vargas 125 C Eyeblight Massacre @Igor Kieryluk 126 U Falthis, Shadowcat Familiar @Jesper Ejsing @@ -249,7 +249,7 @@ ScryfallCode=CMR 238 R Kamahl's Will @Nicholas Gregory 239 R Kodama of the East Tree @Daarken 240 C Lifecrafter's Gift @Winona Nelson -241 C Lys Alana Bowmaster @Dan Scott +241 C Lys Alana Bowmaster @Dan Murayama Scott 242 R Magus of the Order @Tomasz Jedruszek 243 C Molder Beast @Randis Albion 244 U Monstrous Onslaught @Slawomir Maniak @@ -276,7 +276,7 @@ ScryfallCode=CMR 265 U Abomination of Llanowar @Vincent Proce 266 R Amareth, the Lustrous @Lie Setiawan 267 U Araumi of the Dead Tide @Daarken -268 R Archelos, Lagoon Mystic @Dan Scott +268 R Archelos, Lagoon Mystic @Dan Murayama Scott 269 R Averna, the Chaos Bloom @Lucas Graciano 270 R Belbe, Corrupted Observer @Igor Kieryluk 271 R Bell Borca, Spectral Sergeant @Mila Pesic @@ -291,7 +291,7 @@ ScryfallCode=CMR 280 U Imoti, Celebrant of Bounty @Ekaterina Burmak 281 R Jared Carthalion, True Heir @Lius Lasahido 282 U Juri, Master of the Revue @Dmitry Burmak -283 U Kangee, Sky Warden @Dan Scott +283 U Kangee, Sky Warden @Dan Murayama Scott 284 R Kwain, Itinerant Meddler @Lucas Graciano 285 R Lathiel, the Bounteous Dawn @Lucas Graciano 286 R Liesa, Shroud of Dusk @Slawomir Maniak @@ -305,7 +305,7 @@ ScryfallCode=CMR 294 R Zara, Renegade Recruiter @Chris Rallis 295 C Amorphous Axe @Martina Pilcerova 296 U Angelic Armaments @Daniel Ljunggren -297 U Arcane Signet @Dan Scott +297 U Arcane Signet @Dan Murayama Scott 298 C Armillary Sphere @Franz Vohwinkel 299 C Armory of Iroas @Yeong-Hao Han 300 R Bladegriff Prototype @Johann Bodin @@ -340,7 +340,7 @@ ScryfallCode=CMR 329 U Pennon Blade @Alex Horley-Orlandelli 330 C Perilous Myr @Jason Felix 331 M Phyrexian Triniform @Adam Paquette -332 C Pilgrim's Eye @Dan Scott +332 C Pilgrim's Eye @Dan Murayama Scott 333 C Pirate's Cutlass @John Stanko 334 C Prophetic Prism @John Avon 335 R Rings of Brighthearth @Howard Lyon @@ -365,7 +365,7 @@ ScryfallCode=CMR 354 R Rejuvenating Springs @Alayna Danner 355 C Rupture Spire @Jaime Jones 356 R Spectator Seating @Ravenna Tran -357 C Terramorphic Expanse @Dan Scott +357 C Terramorphic Expanse @Dan Murayama Scott 358 R Training Center @Daniel Ljunggren 359 R Undergrowth Stadium @Yeong-Hao Han 360 R Vault of Champions @Cliff Childs @@ -429,7 +429,7 @@ ScryfallCode=CMR 416 R Relentless Assault @Christopher Moeller 417 C Temur Battle Rage @Jaime Jones 418 U Volcanic Fallout @Zoltan Boros & Gabor Szikszai -419 R Wild Ricochet @Dan Scott +419 R Wild Ricochet @Dan Murayama Scott 420 R Word of Seizing @Vance Kovacs 421 U Acidic Slime @Karl Kopinski 422 M Avenger of Zendikar @Zoltan Boros & Gabor Szikszai @@ -485,9 +485,9 @@ ScryfallCode=CMR 472 U Sol Ring @Mike Bierek 473 R Sunforger @Darrell Riche 474 U Swiftfoot Boots @Svetlin Velinov -475 R Sword of Vengeance @Dan Scott +475 R Sword of Vengeance @Dan Murayama Scott 476 U Blighted Woodland @Jason Felix -477 C Boros Garrison @John Avon +477 U Boros Garrison @John Avon 478 C Boros Guildgate @Noah Bradley 479 C Command Tower @Ryan Yee 480 U Coral Atoll @John Avon @@ -507,7 +507,7 @@ ScryfallCode=CMR 494 R Slayers' Stronghold @Karl Kopinski 495 U Stone Quarry @Noah Bradley 496 U Sunhome, Fortress of the Legion @Martina Pilcerova -497 C Terramorphic Expanse @Dan Scott +497 C Terramorphic Expanse @Dan Murayama Scott 498 C Thornwood Falls @Eytan Zana 499 C Transguild Promenade @Noah Bradley 500 U Vivid Creek @Fred Fields @@ -560,7 +560,7 @@ ScryfallCode=CMR 543 M Zedruu the Greathearted @Mark Zug 544 M Zur the Enchanter @Josu Hernaiz 545 M Ramos, Dragon Engine @Joseph Meehan -546 C The Prismatic Piper @Seb McKinnon +546 S The Prismatic Piper @Seb McKinnon 547 M Akroma, Vision of Ixidor @Chris Rahn 548 U Alharu, Solemn Ritualist @Chris Rallis 549 U Ardenn, Intrepid Archaeologist @Jason Rainville @@ -602,7 +602,7 @@ ScryfallCode=CMR 585 U Abomination of Llanowar @Vincent Proce 586 R Amareth, the Lustrous @Lie Setiawan 587 U Araumi of the Dead Tide @Daarken -588 R Archelos, Lagoon Mystic @Dan Scott +588 R Archelos, Lagoon Mystic @Dan Murayama Scott 589 R Averna, the Chaos Bloom @Lucas Graciano 590 R Belbe, Corrupted Observer @Igor Kieryluk 591 R Bell Borca, Spectral Sergeant @Mila Pesic @@ -617,7 +617,7 @@ ScryfallCode=CMR 600 U Imoti, Celebrant of Bounty @Ekaterina Burmak 601 R Jared Carthalion, True Heir @Lius Lasahido 602 U Juri, Master of the Revue @Dmitry Burmak -603 U Kangee, Sky Warden @Dan Scott +603 U Kangee, Sky Warden @Dan Murayama Scott 604 R Kwain, Itinerant Meddler @Lucas Graciano 605 R Lathiel, the Bounteous Dawn @Lucas Graciano 606 R Liesa, Shroud of Dusk @Slawomir Maniak @@ -705,7 +705,7 @@ ScryfallCode=CMR 686 U Three Visits @Yeong-Hao Han 687 U Boros Charm @Zoltan Boros 688 C Coiling Oracle @Mark Zug -689 U Arcane Signet @Dan Scott +689 U Arcane Signet @Dan Murayama Scott 690 R Bladegriff Prototype @Johann Bodin 691 U Burnished Hart @Yeong-Hao Han 692 M Commander's Plate @Volkan Baǵa @@ -728,7 +728,7 @@ ScryfallCode=CMR 709 R Rejuvenating Springs @Alayna Danner 710 U Reliquary Tower @Jesper Ejsing 711 R Spectator Seating @Ravenna Tran -712 C Terramorphic Expanse @Dan Scott +712 C Terramorphic Expanse @Dan Murayama Scott 713 R Training Center @Daniel Ljunggren 714 R Undergrowth Stadium @Yeong-Hao Han 715 R Vault of Champions @Cliff Childs diff --git a/forge-gui/res/editions/Commander Masters.txt b/forge-gui/res/editions/Commander Masters.txt index a6da047e904..35b100c9d53 100644 --- a/forge-gui/res/editions/Commander Masters.txt +++ b/forge-gui/res/editions/Commander Masters.txt @@ -159,7 +159,7 @@ ScryfallCode=CMM 151 R Demonlord Belzenlok @Tyler Jacobson 152 C Dread Drone @Raymond Swanland 153 C Dread Return @Kev Walker -154 C Drown in Sorrow @ +154 C Drown in Sorrow @Valera Lutfullina 155 R Endrek Sahr, Master Breeder @Lucas Graciano 156 U Exsanguinate @Marie Magny 157 U Extinguish All Hope @Aaron J. Riley @@ -218,7 +218,7 @@ ScryfallCode=CMM 210 C Champion of the Flame @Wayne Reynolds 211 C Crimson Fleet Commodore @Sidharth Chaturvedi 212 C Cyclops Electromancer @Jason Felix -213 R Daretti, Scrap Savant @Dan Scott +213 R Daretti, Scrap Savant @Dan Murayama Scott 214 R Deflecting Swat @Izzy 215 R Disrupt Decorum @Sidharth Chaturvedi 216 R Divergent Transformations @Kev Walker @@ -242,7 +242,7 @@ ScryfallCode=CMM 234 C Impulsive Pilferer @Jakub Kasper 235 R Inferno Titan @Kev Walker 236 M Insurrection @Mark Zug -237 R Kazuul, Tyrant of the Cliffs @Paul Bonner +237 U Kazuul, Tyrant of the Cliffs @Paul Bonner 238 R Krenko, Mob Boss @Karl Kopinski 239 C Living Lightning @Caio Monteiro 240 U Loyal Apprentice @Joe Slucher @@ -262,11 +262,11 @@ ScryfallCode=CMM 254 U Skyline Despot @Lucas Graciano 255 U Slice and Dice @Jeremy Wilson 256 C Spikeshot Goblin @Alan Pollack -257 C Spitebellows @ +257 C Spitebellows @Brent Hollowell 258 U Squee, Goblin Nabob @Greg Staples 259 R Star of Extinction @Chris Rahn 260 U Storm-Kiln Artist @Manuel Castañón -261 R Subira, Tulzidi Caravanner @Leesha Hannigan +261 U Subira, Tulzidi Caravanner @Leesha Hannigan 262 C Sulfurous Blast @Jeff Miracola 263 R Tempt with Vengeance @Ryan Barger 264 C Temur Battle Rage @Jaime Jones @@ -372,7 +372,7 @@ ScryfallCode=CMM 364 R Yuriko, the Tiger's Shadow @Yongjae Choi 365 R Zacama, Primal Calamity @Jaime Jones 366 R Zilortha, Strength Incarnate @Chase Stone -367 U Arcane Signet @Dan Scott +367 U Arcane Signet @Dan Murayama Scott 368 U Ashnod's Altar @Greg Staples 369 U Assault Suit @James Paick 370 C Bonder's Ornament @Lindsey Look @@ -407,7 +407,7 @@ ScryfallCode=CMM 399 U Meteor Golem @Samuel Perin 400 C Myr Sire @Jaime Jones 401 R Pearl Medallion @Daniel Ljunggren -402 C Pilgrim's Eye @Dan Scott +402 C Pilgrim's Eye @Dan Murayama Scott 403 C Prismatic Lens @Scott Murphy 404 C Prophetic Prism @Daniel Ljunggren 405 R Ruby Medallion @Daniel Ljunggren @@ -536,7 +536,7 @@ ScryfallCode=CMM 528 R Ashling the Pilgrim @Wayne Reynolds 529 R Avatar of Slaughter @Jason A. Engle 530 M Balefire Dragon @Eric Deschamps -531 R Daretti, Scrap Savant @Dan Scott +531 R Daretti, Scrap Savant @Dan Murayama Scott 532 R Deflecting Swat @Izzy 533 R Disrupt Decorum @Sidharth Chaturvedi 534 R Divergent Transformations @Kev Walker @@ -747,7 +747,7 @@ ScryfallCode=CMM 739 R Composer of Spring @Gaboleps 740 R For the Ancestors @Hristo D. Chukov 741 R Hatchery Sliver @Svetlin Velinov -742 R Nyxborn Behemoth @Nestor Ossandon Leal +742 R Nyxborn Behemoth @Néstor Ossandón Leal 743 R Darksteel Monolith @Sergey Glushakov 744 R Abstruse Archaic @Hristo D. Chukov 745 R Calamity of the Titans @Svetlin Velinov @@ -777,7 +777,7 @@ ScryfallCode=CMM 769 R Composer of Spring @Gaboleps 770 R For the Ancestors @Hristo D. Chukov 771 R Hatchery Sliver @Svetlin Velinov -772 R Nyxborn Behemoth @Nestor Ossandon Leal +772 R Nyxborn Behemoth @Néstor Ossandón Leal 773 M Anikthea, Hand of Erebos @Magali Villeneuve 774 M Leori, Sparktouched Hunter @John Tedrick 775 M Narci, Fable Singer @Miranda Meeks @@ -867,7 +867,7 @@ ScryfallCode=CMM 859 U Windfall @Scott Murphy 860 C Winged Sliver @Anthony S. Waters 861 C Clot Sliver @Jeff Laubenstein -862 R Crippling Fear @Nestor Ossandon Leal +862 R Crippling Fear @Néstor Ossandón Leal 863 C Crypt Sliver @Michele Giorgi 864 R Cunning Rhetoric @Chris Rallis 865 R Doomwake Giant @Kev Walker diff --git a/forge-gui/res/editions/Commander Theme Decks.txt b/forge-gui/res/editions/Commander Theme Decks.txt index 4589e6eee98..388041939ba 100644 --- a/forge-gui/res/editions/Commander Theme Decks.txt +++ b/forge-gui/res/editions/Commander Theme Decks.txt @@ -32,7 +32,7 @@ A23 U Fact or Fiction @Terese Nielsen A24 U Hinder @Wayne Reynolds A25 C Looter il-Kor @Mike Dringenberg A26 C Man-o'-War @Jon J Muth -A27 C Merfolk Looter @Ron Spencer +A27 U Merfolk Looter @Ron Spencer A28 C Mulldrifter @Eric Fortune A29 U Overwhelming Intellect @Alex Horley-Orlandelli A30 U Raven Familiar @Edward P. Beard, Jr. @@ -54,7 +54,7 @@ A45 U Nezumi Graverobber @Jim Nelson A46 R Phyrexian Arena @Pete Venters A47 C Reaping the Graves @Ron Spencer A48 U Shriekmaw @Steve Prescott -A49 U Stinkweed Imp @Edward P. Beard, Jr. +A49 C Stinkweed Imp @Edward P. Beard, Jr. A50 C Terror @Ron Spencer A51 C Twisted Abomination @Daren Bader A52 C Anarchist @Brom @@ -144,7 +144,7 @@ A135 U Savage Lands @Vance Kovacs A136 U Seaside Citadel @Volkan Baǵa A137 U Selesnya Sanctuary @John Avon A138 U Simic Growth Chamber @John Avon -A139 C Terramorphic Expanse @Dan Scott +A139 C Terramorphic Expanse @Dan Murayama Scott A140 C Tranquil Thicket @Heather Hudson A141 U Treva's Ruins @Jerry Tiritilli A145 L Island @Ku Xueming diff --git a/forge-gui/res/editions/Commander.txt b/forge-gui/res/editions/Commander.txt index 3f7d979f924..6c5f325c928 100644 --- a/forge-gui/res/editions/Commander.txt +++ b/forge-gui/res/editions/Commander.txt @@ -71,7 +71,7 @@ ScryfallCode=cmd 60 U Scattering Stroke @Franz Vohwinkel 61 U Skyscribing @Luca Zontini 62 C Slipstream Eel @Mark Tedin -63 U Spell Crumple @Dan Scott +63 U Spell Crumple @Dan Murayama Scott 64 R Trade Secrets @Ron Spears 65 R Trench Gorger @Hideaki Takamura 66 U Vedalken Plotter @Greg Staples @@ -147,7 +147,7 @@ ScryfallCode=cmd 136 R Stranglehold @John Stanko 137 U Sulfurous Blast @Jeff Miracola 138 U Vow of Lightning @Svetlin Velinov -139 R Wild Ricochet @Dan Scott +139 R Wild Ricochet @Dan Murayama Scott 140 U Acidic Slime @Karl Kopinski 141 C Aquastrand Spider @Dany Orizio 142 R Awakening Zone @Johann Bodin @@ -212,7 +212,7 @@ ScryfallCode=cmd 201 U Golgari Guildmage @Zoltan Boros & Gabor Szikszai 202 U Gwyllion Hedge-Mage @Todd Lockwood 203 C Hull Breach @Brian Snõddy -204 R Intet, the Dreamer @Dan Scott +204 R Intet, the Dreamer @Dan Murayama Scott 205 C Izzet Chronarch @Nick Percival 206 M Kaalia of the Vast @Michael Komarck 207 M Karador, Ghost Chieftain @Todd Lockwood @@ -299,7 +299,7 @@ ScryfallCode=cmd 288 C Simic Growth Chamber @John Avon 289 U Svogthos, the Restless Tomb @Martina Pilcerova 290 U Temple of the False God @Brian Snõddy -291 C Terramorphic Expanse @Dan Scott +291 C Terramorphic Expanse @Dan Murayama Scott 292 C Tranquil Thicket @Heather Hudson 293 U Vivid Crag @Martina Pilcerova 294 U Vivid Creek @Fred Fields diff --git a/forge-gui/res/editions/Conflux Promos.txt b/forge-gui/res/editions/Conflux Promos.txt index b67ee0211ea..f582bd1d8a4 100644 --- a/forge-gui/res/editions/Conflux Promos.txt +++ b/forge-gui/res/editions/Conflux Promos.txt @@ -6,5 +6,5 @@ Type=Promo ScryfallCode=PCON [cards] -117★ R Malfegor @Karl Kopinski +117★ M Malfegor @Karl Kopinski 140★ R Obelisk of Alara @John Avon diff --git a/forge-gui/res/editions/Conflux.txt b/forge-gui/res/editions/Conflux.txt index 8339b1feff5..89efd828911 100644 --- a/forge-gui/res/editions/Conflux.txt +++ b/forge-gui/res/editions/Conflux.txt @@ -37,7 +37,7 @@ ScryfallCode=CON 23 U Controlled Instincts @Ralph Horsley 24 U Cumber Stone @Warren Mahy 25 U Esperzoa @Warren Mahy -26 M Ethersworn Adjudicator @Dan Scott +26 M Ethersworn Adjudicator @Dan Murayama Scott 27 C Faerie Mechanist @Matt Cavotta 28 C Frontline Sage @Volkan Baǵa 29 C Grixis Illusionist @Mark Tedin @@ -59,7 +59,7 @@ ScryfallCode=CON 45 U Fleshformer @Dave Kendall 46 U Grixis Slavedriver @Dave Kendall 47 C Infectious Horror @Pete Venters -48 R Kederekt Parasite @Dan Scott +48 R Kederekt Parasite @Dan Murayama Scott 49 R Nyxathid @Raymond Swanland 50 C Pestilent Kathari @Dave Kendall 51 C Rotting Rats @Dave Allsop diff --git a/forge-gui/res/editions/Conspiracy.txt b/forge-gui/res/editions/Conspiracy.txt index 28e32cec3a6..ee09c6ea6dd 100644 --- a/forge-gui/res/editions/Conspiracy.txt +++ b/forge-gui/res/editions/Conspiracy.txt @@ -47,7 +47,7 @@ ScryfallCode=CNS 36 U Treasonous Ogre @Randy Gallegos 37 U Predator's Howl @Ralph Horsley 38 R Realm Seekers @Mike Sass -39 U Selvala's Charge @Dan Scott +39 U Selvala's Charge @Dan Murayama Scott 40 C Selvala's Enforcer @Jesper Ejsing 41 R Brago, King Eternal @Karla Ortiz 42 M Dack Fayden @Eric Deschamps @@ -58,7 +58,7 @@ ScryfallCode=CNS 47 R Grenzo, Dungeon Warden @Lucas Graciano 48 R Magister of Worth @John Stanko 49 M Marchesa, the Black Rose @Matt Stewart -50 U Marchesa's Smuggler @Dan Scott +50 U Marchesa's Smuggler @Dan Murayama Scott 51 R Selvala, Explorer Returned @Tyler Jacobson 52 U Woodvine Elemental @Mike Bierek 53 R Aether Searcher @James Paick @@ -66,7 +66,7 @@ ScryfallCode=CNS 55 R Canal Dredger @John Avon 56 M Coercive Portal @Yeong-Hao Han 57 R Cogwork Grinder @Jasper Sandner -58 C Cogwork Librarian @Dan Scott +58 C Cogwork Librarian @Dan Murayama Scott 59 C Cogwork Spy @Tomasz Jedruszek 60 U Cogwork Tracker @Alex Horley-Orlandelli 61 R Deal Broker @Cliff Childs diff --git a/forge-gui/res/editions/Dark Ascension.txt b/forge-gui/res/editions/Dark Ascension.txt index a1fb124de1d..af22c8a76ab 100644 --- a/forge-gui/res/editions/Dark Ascension.txt +++ b/forge-gui/res/editions/Dark Ascension.txt @@ -19,7 +19,7 @@ ScryfallCode=DKA 5 U Curse of Exhaustion @Slawomir Maniak 6 C Elgaud Inquisitor @Slawomir Maniak 7 U Faith's Shield @Svetlin Velinov -8 C Gather the Townsfolk @Dan Scott +8 C Gather the Townsfolk @Dan Murayama Scott 9 U Gavony Ironwright @Karl Kopinski 10 U Hollowhenge Spirit @Lars Grant-West 11 R Increasing Devotion @Daniel Ljunggren @@ -52,7 +52,7 @@ ScryfallCode=DKA 38 C Griptide @Igor Kieryluk 39 R Havengul Runebinder @Bud Cook 40 C Headless Skaab @Johann Bodin -41 R Increasing Confusion @Dan Scott +41 R Increasing Confusion @Dan Murayama Scott 42 U Mystic Retrieval @Scott Chou 43 C Nephalia Seakite @Wayne England 44 U Niblis of the Breath @Igor Kieryluk @@ -62,7 +62,7 @@ ScryfallCode=DKA 48 U Secrets of the Dead @Eytan Zana 49 C Shriekgeist @Raymond Swanland 50 U Soul Seizer @Lucas Graciano -51 C Stormbound Geist @Dan Scott +51 C Stormbound Geist @Dan Murayama Scott 52 C Thought Scour @David Rapoza 53 U Tower Geist @Izzy 54 C Black Cat @David Palumbo diff --git a/forge-gui/res/editions/Deckmasters Garfield vs. Finkel.txt b/forge-gui/res/editions/Deckmasters Garfield vs. Finkel.txt index c6ec85798c7..178efc40f4c 100644 --- a/forge-gui/res/editions/Deckmasters Garfield vs. Finkel.txt +++ b/forge-gui/res/editions/Deckmasters Garfield vs. Finkel.txt @@ -28,7 +28,7 @@ ScryfallCode=DKM 16 C Lava Burst @Tom Wänerstrand 17 U Orcish Cannoneers @Dan Frazier 18 U Pillage @Richard Kane Ferguson -19 U Pyroclasm @Pat Morrissey +19 U Pyroclasm @Pat Lewis 20 C Shatter @Bryon Wackwitz 21a C Storm Shaman @Carol Heyer 21b C Storm Shaman @Carol Heyer @@ -43,7 +43,7 @@ ScryfallCode=DKM 30 C Woolly Spider @Daniel Gelon 31a C Yavimaya Ancients @Quinton Hoover 31b C Yavimaya Ancients @Quinton Hoover -32 U Yavimaya Ants @Pat Morrissey +32 U Yavimaya Ants @Pat Lewis 33 U Giant Trap Door Spider @Heather Hudson 34 C Barbed Sextant @Amy Weber 35 R Elkin Bottle @Quinton Hoover @@ -60,6 +60,6 @@ ScryfallCode=DKM 45 L Mountain @Tom Wänerstrand 46 L Mountain @Tom Wänerstrand 47 L Mountain @Tom Wänerstrand -48 L Forest @Pat Morrissey -49 L Forest @Pat Morrissey -50 L Forest @Pat Morrissey +48 L Forest @Pat Lewis +49 L Forest @Pat Lewis +50 L Forest @Pat Lewis diff --git a/forge-gui/res/editions/Dissension.txt b/forge-gui/res/editions/Dissension.txt index fa29cc923f3..7dfb8b6119a 100644 --- a/forge-gui/res/editions/Dissension.txt +++ b/forge-gui/res/editions/Dissension.txt @@ -17,7 +17,7 @@ ScryfallCode=DIS 2 U Azorius Herald @Justin Sweet 3 C Beacon Hawk @William Simpson 4 U Blessing of the Nephilim @Greg Hildebrandt -5 U Brace for Impact @Dan Scott +5 U Brace for Impact @Dan Murayama Scott 6 C Carom @Alex Horley-Orlandelli 7 R Celestial Ancient @Mark Tedin 8 U Condemn @Daren Bader @@ -35,7 +35,7 @@ ScryfallCode=DIS 20 C Valor Made Real @Jeff Miracola 21 R Wakestone Gargoyle @Jim Murray 22 U Court Hussar @Ron Spears -23 R Cytoplast Manipulator @Dan Scott +23 R Cytoplast Manipulator @Dan Murayama Scott 24 C Enigma Eidolon @Shishizaru 25 R Govern the Guildless @Alex Horley-Orlandelli 26 C Helium Squirter @Hideaki Takamura @@ -64,7 +64,7 @@ ScryfallCode=DIS 49 U Nightcreep @Jeff Miracola 50 R Nihilistic Glee @Ron Spears & Wayne Reynolds 51 U Ragamuffyn @rk post -52 R Ratcatcher @Dan Scott +52 R Ratcatcher @Dan Murayama Scott 53 C Seal of Doom @Ralph Horsley 54 C Slaughterhouse Bouncer @Greg Staples 55 U Slithering Shade @Daren Bader @@ -96,7 +96,7 @@ ScryfallCode=DIS 81 R Cytoplast Root-Kin @Thomas M. Baxa 82 C Cytospawn Shambler @Anthony S. Waters 83 R Elemental Resonance @Mark Tedin -84 U Fertile Imagination @Dan Scott +84 U Fertile Imagination @Dan Murayama Scott 85 U Flash Foliage @Ron Spears 86 U Indrik Stomphowler @Carl Critchlow 87 R Loaming Shaman @Carl Critchlow @@ -106,7 +106,7 @@ ScryfallCode=DIS 91 U Simic Basilisk @Luca Zontini 92 C Simic Initiate @Dany Orizio 93 C Simic Ragworm @Nick Percival -94 C Sporeback Troll @Dan Scott +94 C Sporeback Troll @Dan Murayama Scott 95 R Sprouting Phytohydra @Heather Hudson 96 U Stomp and Howl @Carl Critchlow 97 C Street Savvy @Kev Walker @@ -154,7 +154,7 @@ ScryfallCode=DIS 139 C Wrecking Ball @Ron Spears 140 R Avatar of Discord @rk post 141 U Azorius Guildmage @Christopher Moeller -142 R Biomantic Mastery @Dan Scott +142 R Biomantic Mastery @Dan Murayama Scott 143 R Dovescape @Shishizaru 144 C Minister of Impediments @Brian Hagan 145 U Rakdos Guildmage @Jeremy Jarvis diff --git a/forge-gui/res/editions/Doctor Who Commander.txt b/forge-gui/res/editions/Doctor Who Commander.txt index 6376d512812..5f6479bde39 100644 --- a/forge-gui/res/editions/Doctor Who Commander.txt +++ b/forge-gui/res/editions/Doctor Who Commander.txt @@ -20,7 +20,7 @@ ScryfallCode=WHO 12 U Atraxi Warden @Slawomir Maniak 13 U Banish to Another Universe @David Astruga 14 R Barbara Wright @Irina Nordsol -15 R The Caves of Androzani @Nestor Ossandon Leal +15 R The Caves of Androzani @Néstor Ossandón Leal 16 R Crack in Time @Eliz Roxs 17 R Crisis of Conscience @Borja Pindado 18 R Everybody Lives! @Alice Xia Zhang @@ -39,7 +39,7 @@ ScryfallCode=WHO 31 R The Wedding of River Song @Mandy Jurgens 32 R Wilfred Mott @John Di Giovanni 33 R Adric, Mathematical Genius @Billy Christian -34 R All of History, All at Once @Nestor Ossandon Leal +34 R All of History, All at Once @Néstor Ossandón Leal 35 R An Unearthly Child @Kieran Yanner 36 R Auton Soldier @Greg Opalinski 37 R Become the Pilot @Irina Nordsol @@ -290,7 +290,7 @@ ScryfallCode=WHO 282 R Frostboil Snarl @Wei Guan 283 R Furycalm Snarl @Evan Shipard 284 R Game Trail @Victor Harmatiuk -285 R Glacial Fortress @Nestor Ossandon Leal +285 R Glacial Fortress @Néstor Ossandón Leal 286 R Haunted Ridge @Victor Harmatiuk 287 R Horizon Canopy @David Sondered 288 R Irrigated Farmland @Pablo Mendoza @@ -357,7 +357,7 @@ ScryfallCode=WHO 349 R The Wedding of River Song @Mandy Jurgens 350 R Wilfred Mott @John Di Giovanni 351 R Adric, Mathematical Genius @Billy Christian -352 R All of History, All at Once @Nestor Ossandon Leal +352 R All of History, All at Once @Néstor Ossandón Leal 353 R Auton Soldier @Greg Opalinski 354 R Become the Pilot @Irina Nordsol 355 R Cyber Conversion @Eddie Schillo @@ -506,7 +506,7 @@ ScryfallCode=WHO 498 R Frostboil Snarl @Wei Guan 499 R Furycalm Snarl @Evan Shipard 500 R Game Trail @Victor Harmatiuk -501 R Glacial Fortress @Nestor Ossandon Leal +501 R Glacial Fortress @Néstor Ossandón Leal 502 R Haunted Ridge @Victor Harmatiuk 503 R Horizon Canopy @David Sondered 504 R Irrigated Farmland @Pablo Mendoza @@ -625,7 +625,7 @@ ScryfallCode=WHO 617 U Atraxi Warden @Slawomir Maniak 618 U Banish to Another Universe @David Astruga 619 R Barbara Wright @Irina Nordsol -620 R The Caves of Androzani @Nestor Ossandon Leal +620 R The Caves of Androzani @Néstor Ossandón Leal 621 R Crack in Time @Eliz Roxs 622 R Crisis of Conscience @Borja Pindado 623 R Everybody Lives! @Alice Xia Zhang @@ -644,7 +644,7 @@ ScryfallCode=WHO 636 R The Wedding of River Song @Mandy Jurgens 637 R Wilfred Mott @John Di Giovanni 638 R Adric, Mathematical Genius @Billy Christian -639 R All of History, All at Once @Nestor Ossandon Leal +639 R All of History, All at Once @Néstor Ossandón Leal 640 R An Unearthly Child @Kieran Yanner 641 R Auton Soldier @Greg Opalinski 642 R Become the Pilot @Irina Nordsol @@ -881,7 +881,7 @@ ScryfallCode=WHO 873 R Frostboil Snarl @Wei Guan 874 R Furycalm Snarl @Evan Shipard 875 R Game Trail @Victor Harmatiuk -876 R Glacial Fortress @Nestor Ossandon Leal +876 R Glacial Fortress @Néstor Ossandón Leal 877 R Haunted Ridge @Victor Harmatiuk 878 R Horizon Canopy @David Sondered 879 R Irrigated Farmland @Pablo Mendoza @@ -948,7 +948,7 @@ ScryfallCode=WHO 940 R The Wedding of River Song @Mandy Jurgens 941 R Wilfred Mott @John Di Giovanni 942 R Adric, Mathematical Genius @Billy Christian -943 R All of History, All at Once @Nestor Ossandon Leal +943 R All of History, All at Once @Néstor Ossandón Leal 944 R Auton Soldier @Greg Opalinski 945 R Become the Pilot @Irina Nordsol 946 R Cyber Conversion @Eddie Schillo @@ -1097,7 +1097,7 @@ ScryfallCode=WHO 1089 R Frostboil Snarl @Wei Guan 1090 R Furycalm Snarl @Evan Shipard 1091 R Game Trail @Victor Harmatiuk -1092 R Glacial Fortress @Nestor Ossandon Leal +1092 R Glacial Fortress @Néstor Ossandón Leal 1093 R Haunted Ridge @Victor Harmatiuk 1094 R Horizon Canopy @David Sondered 1095 R Irrigated Farmland @Pablo Mendoza diff --git a/forge-gui/res/editions/Dominaria Remastered.txt b/forge-gui/res/editions/Dominaria Remastered.txt index fd8c42d82e6..df2d5c51c45 100644 --- a/forge-gui/res/editions/Dominaria Remastered.txt +++ b/forge-gui/res/editions/Dominaria Remastered.txt @@ -130,7 +130,7 @@ ScryfallCode=DMR 116 U Dragon Whelp @Jokubas Uogintas 117 C Ember Beast @Wayne England 118 C Empty the Warrens @Johan Grenier -119 U Fireblast @Donato Giancola +119 U Fireblast @Mike Bierek 120 U Flametongue Kavu @Slawomir Maniak 121 R Gamble @Andrew Goldhawk 122 U Gempalm Incinerator @Andrew Mar @@ -159,7 +159,7 @@ ScryfallCode=DMR 145 C Suq'Ata Lancer @Jeff Miracola 146 C Undying Rage @Scott M. Fischer 147 U Valduk, Keeper of the Flame @Victor Adame Minguez -148 M Worldgorger Dragon @Nestor Ossandon Leal +148 M Worldgorger Dragon @Néstor Ossandón Leal 149 R Arboria @Uriah Voth 150 C Battlefield Scrounger @Daren Bader 151 R Birds of Paradise @Mark Poole @@ -227,7 +227,7 @@ ScryfallCode=DMR 213 U Illusion // Reality @John Avon & David Martin 214 U Night // Day @Christopher Moeller & Anthony S. Waters 215 U Fire // Ice @David Martin & Franz Vohwinkel -216 U Life // Death @Ryan Barger +216 U Life // Death @Anthony S. Waters & Scott Murphy 217 R Crawlspace @Zoltan Boros 218 R Cryptic Gateway @David Martin 219 U Damping Sphere @Adam Paquette @@ -332,7 +332,7 @@ ScryfallCode=DMR 316 C Chain Lightning @Christopher Moeller 317 U Dragon Whelp @Jokubas Uogintas 318 C Empty the Warrens @Johan Grenier -319 U Fireblast @Donato Giancola +319 U Fireblast @Mike Bierek 320 U Flametongue Kavu @Slawomir Maniak 321 R Gamble @Andrew Goldhawk 322 U Gempalm Incinerator @Andrew Mar @@ -347,7 +347,7 @@ ScryfallCode=DMR 331 M Sneak Attack @Jerry Tiritilli 332 R Sulfuric Vortex @Greg Staples 333 U Valduk, Keeper of the Flame @Victor Adame Minguez -334 M Worldgorger Dragon @Nestor Ossandon Leal +334 M Worldgorger Dragon @Néstor Ossandón Leal 335 R Arboria @Uriah Voth 336 R Birds of Paradise @Mark Poole 337 U Deadwood Treefolk @Don Hazeltine diff --git a/forge-gui/res/editions/Dominaria United Commander.txt b/forge-gui/res/editions/Dominaria United Commander.txt index 61d5432f150..1436524b57a 100644 --- a/forge-gui/res/editions/Dominaria United Commander.txt +++ b/forge-gui/res/editions/Dominaria United Commander.txt @@ -6,7 +6,7 @@ Type=Commander ScryfallCode=DMC [cards] -1 M Dihada, Binder of Wills @Nestor Ossandon Leal +1 M Dihada, Binder of Wills @Néstor Ossandón Leal 2 M Jared Carthalion @Manuel Castañón 3 M Jenson Carthalion, Druid Exile @Livia Prima 4 M Shanid, Sleepers' Scourge @Ryan Pancoast @@ -20,7 +20,7 @@ ScryfallCode=DMC 12 R Iridian Maelstrom @Justyna Dura 13 R Primeval Spawn @Filip Burburan 14 R Two-Headed Hellkite @Fajareka Setiawan -15 R Unite the Coalition @Nestor Ossandon Leal +15 R Unite the Coalition @Néstor Ossandón Leal 16 R Verrak, Warped Sengir @Alix Branwyn 17 R Gerrard's Hourglass Pendant @Sam Burley 18 R Obsidian Obelisk @Andrew Mar @@ -41,7 +41,7 @@ ScryfallCode=DMC 33 U Jasmine Boreal of the Seven @Bastien L. Deharme 34 M Jedit Ojanen, Mercenary @Ilse Gort 35 M The Lady of Otaria @Scott Murphy -36 R Ohabi Caleria @Nestor Ossandon Leal +36 R Ohabi Caleria @Néstor Ossandón Leal 37 R Orca, Siege Demon @Daarken 38 U Ramirez DePietro, Pillager @Anna Steinbauer 39 R Ramses, Assassin Lord @Manuel Castañón @@ -54,7 +54,7 @@ ScryfallCode=DMC 46 U Tor Wauki the Younger @Karl Kopinski 47 M Torsten, Founder of Benalia @Volkan Baǵa 48 R Xira, the Golden Sting @Mila Pesic -49 M Dihada, Binder of Wills @Nestor Ossandon Leal +49 M Dihada, Binder of Wills @Néstor Ossandón Leal 50 M Jared Carthalion @Manuel Castañón 51 R Ayesha Tanaka, Armorer @Aurore Folny 52 R The Ever-Changing 'Dane @Campbell White @@ -63,7 +63,7 @@ ScryfallCode=DMC 55 U Jasmine Boreal of the Seven @Bastien L. Deharme 56 M Jedit Ojanen, Mercenary @Ilse Gort 57 M The Lady of Otaria @Scott Murphy -58 R Ohabi Caleria @Nestor Ossandon Leal +58 R Ohabi Caleria @Néstor Ossandón Leal 59 R Orca, Siege Demon @Daarken 60 U Ramirez DePietro, Pillager @Anna Steinbauer 61 R Ramses, Assassin Lord @Manuel Castañón @@ -96,7 +96,7 @@ ScryfallCode=DMC 88 R Iridian Maelstrom @Justyna Dura 89 R Primeval Spawn @Filip Burburan 90 R Two-Headed Hellkite @Fajareka Setiawan -91 R Unite the Coalition @Nestor Ossandon Leal +91 R Unite the Coalition @Néstor Ossandón Leal 92 R Verrak, Warped Sengir @Alix Branwyn 93 R Gerrard's Hourglass Pendant @Sam Burley 94 R Obsidian Obelisk @Andrew Mar @@ -145,7 +145,7 @@ ScryfallCode=DMC 137 C Search for Tomorrow @Greg Staples 138 U Abzan Charm @Mathias Kollros 139 R Adriana, Captain of the Guard @Chris Rallis -140 R Archelos, Lagoon Mystic @Dan Scott +140 R Archelos, Lagoon Mystic @Dan Murayama Scott 141 U Arvad the Cursed @Lius Lasahido 142 M Atla Palani, Nest Tender @Ekaterina Burmak 143 R Baleful Strix @Nils Hamm @@ -182,7 +182,7 @@ ScryfallCode=DMC 174 U Wear // Tear @Ryan Pancoast 175 M Xyris, the Writhing Storm @Filip Burburan 176 M Zaxara, the Exemplary @Simon Dominic -177 C Arcane Signet @Dan Scott +177 C Arcane Signet @Dan Murayama Scott 178 R Blackblade Reforged @Chris Rahn 179 U Bontu's Monument @Jonas De Ro 180 R Coalition Relic @Donato Giancola @@ -244,7 +244,7 @@ ScryfallCode=DMC 236 R Temple of Malice @Jonas De Ro 237 R Temple of Silence @Adam Paquette 238 R Temple of Triumph @Piotr Dura -239 C Terramorphic Expanse @Dan Scott +239 C Terramorphic Expanse @Dan Murayama Scott 240 R Tyrite Sanctum @Volkan Baǵa [tokens] diff --git a/forge-gui/res/editions/Dominaria United.txt b/forge-gui/res/editions/Dominaria United.txt index 7c2c32397d8..76abb6c4c9e 100644 --- a/forge-gui/res/editions/Dominaria United.txt +++ b/forge-gui/res/editions/Dominaria United.txt @@ -49,7 +49,7 @@ ScryfallCode=DMU 35 C Take Up the Shield @Manuel Castañón 36 R Temporary Lockdown @Bryan Sola 37 R Urza Assembles the Titans @Josu Hernaiz -38 R Valiant Veteran @Nestor Ossandon Leal +38 R Valiant Veteran @Néstor Ossandón Leal 39 U Wingmantle Chaplain @Miranda Meeks 40 R Academy Loremaster @Marcela Medeiros 41 C Academy Wall @Adam Paquette @@ -108,7 +108,7 @@ ScryfallCode=DMU 94 C Extinguish the Light @Ekaterina Burmak 95 C Gibbering Barricade @Drew Tucker 96 U Knight of Dusk's Shadow @Wisnu Tan -97 M Liliana of the Veil @Martina Fackova +97 M Liliana of the Veil @Martina Fačková 98 U Monstrous War-Leech @Christopher Burdett 99 C Phyrexian Rager @Brock Grossman 100 C Phyrexian Vivisector @Irina Nordsol @@ -158,7 +158,7 @@ ScryfallCode=DMU 144 C Smash to Dust @Marc Simonetti 145 U Sprouting Goblin @Uriah Voth 146 R Squee, Dubious Monarch @Zoltan Boros -147 R Temporal Firestorm @Nestor Ossandon Leal +147 R Temporal Firestorm @Néstor Ossandón Leal 148 C Thrill of Possibility @David Auden Nash 149 U Twinferno @Justyna Dura 150 C Viashino Branchrider @Andrew Mar @@ -414,7 +414,7 @@ ScryfallCode=DMU 387 R Leyline Binding @Cristi Balanescu 388 M Serra Paragon @Heonhwa Choe 389 R Temporary Lockdown @Bryan Sola -390 R Valiant Veteran @Nestor Ossandon Leal +390 R Valiant Veteran @Néstor Ossandón Leal 391 R Academy Loremaster @Marcela Medeiros 392 R Aether Channeler @Caio Monteiro 393 R Defiler of Dreams @Ryan Pancoast @@ -435,7 +435,7 @@ ScryfallCode=DMU 408 R Radha's Firebrand @Ângelo Bortolini 409 R Rundvelt Hordemaster @Bruno Biazotto 410 M Shivan Devastator @Brent Hollowell -411 R Temporal Firestorm @Nestor Ossandon Leal +411 R Temporal Firestorm @Néstor Ossandón Leal 412 R Defiler of Vigor @Chase Stone 413 R Herd Migration @Eric Deschamps 414 R Leaf-Crowned Visionary @Anna Steinbauer diff --git a/forge-gui/res/editions/Dominaria.txt b/forge-gui/res/editions/Dominaria.txt index 6ee604a61cd..4bb4d649760 100644 --- a/forge-gui/res/editions/Dominaria.txt +++ b/forge-gui/res/editions/Dominaria.txt @@ -13,7 +13,7 @@ ScryfallCode=DOM [cards] 1 M Karn, Scion of Urza @Chase Stone 2 C Adamant Will @Alex Konstad -3 C Aven Sentry @Dan Scott +3 C Aven Sentry @Dan Murayama Scott 4 U Baird, Steward of Argive @Christine Choi 5 C Benalish Honor Guard @Ryan Pancoast 6 R Benalish Marshal @Mark Zug @@ -240,7 +240,7 @@ ScryfallCode=DOM 227 C Powerstone Shard @Lindsey Look 228 U Shield of the Realm @Manuel Castañón 229 C Short Sword @John Severin Brassell -230 C Skittering Surveyor @Dan Scott +230 C Skittering Surveyor @Dan Murayama Scott 231 U Sorcerer's Wand @Matt Stewart 232 C Sparring Construct @Mark Behm 233 R Thran Temporal Gateway @Jason Felix diff --git a/forge-gui/res/editions/Double Masters 2022.txt b/forge-gui/res/editions/Double Masters 2022.txt index 111953a5528..0652342c305 100644 --- a/forge-gui/res/editions/Double Masters 2022.txt +++ b/forge-gui/res/editions/Double Masters 2022.txt @@ -82,7 +82,7 @@ ScryfallCode=2X2 69 M Bitterblossom @Rebecca Guay 70 U Blood Artist @LA Draws 71 C Bloodflow Connoisseur @Slawomir Maniak -72 U Carrier Thrall @Lius Lasahido +72 C Carrier Thrall @Lius Lasahido 73 R Damnation @Kev Walker 74 C Disfigure @Justin Sweet 75 C Eyeblight's Ending @Ron Spears @@ -128,7 +128,7 @@ ScryfallCode=2X2 115 U Labyrinth Champion @Chase Stone 116 C Lava Coil @Wesley Burt 117 U Lightning Bolt @Christopher Moeller -118 U Living Lightning @Caio Monteiro +118 C Living Lightning @Caio Monteiro 119 C Monastery Swiftspear @Steve Argyle 120 C Pirate's Pillage @Wayne Reynolds 121 C Purphoros's Emissary @Sam Burley @@ -239,9 +239,9 @@ ScryfallCode=2X2 226 U Heroic Reinforcements @Scott Murphy 227 R Hostage Taker @Wayne Reynolds 228 R Hydroid Krasis @Jason Felix -229 R Intet, the Dreamer @Dan Scott +229 R Intet, the Dreamer @Dan Murayama Scott 230 C Izzet Charm @Zoltan Boros -231 R Jeskai Ascendancy @Dan Scott +231 R Jeskai Ascendancy @Dan Murayama Scott 232 U Jeskai Charm @Mathias Kollros 233 R Jodah, Archmage Eternal @Yongjae Choi 234 R Judith, the Scourge Diva @Wesley Burt @@ -521,8 +521,8 @@ ScryfallCode=2X2 504 M Hellkite Overlord @Justin Sweet 505 R Hostage Taker @Wayne Reynolds 506 R Hydroid Krasis @Jason Felix -507 R Intet, the Dreamer @Dan Scott -508 R Jeskai Ascendancy @Dan Scott +507 R Intet, the Dreamer @Dan Murayama Scott +508 R Jeskai Ascendancy @Dan Murayama Scott 509 R Jodah, Archmage Eternal @Yongjae Choi 510 R Judith, the Scourge Diva @Wesley Burt 511 M Kaalia of the Vast @Michael Komarck diff --git a/forge-gui/res/editions/Double Masters.txt b/forge-gui/res/editions/Double Masters.txt index ab0a755dbe7..f2eacc39340 100644 --- a/forge-gui/res/editions/Double Masters.txt +++ b/forge-gui/res/editions/Double Masters.txt @@ -145,7 +145,7 @@ ScryfallCode=2XM 132 R Ion Storm @Michael Sutfin 133 C Kazuul's Toll Collector @Greg Staples 134 U Kuldotha Flamefiend @Raymond Swanland -135 C Lightning Axe @Dan Scott +135 C Lightning Axe @Dan Murayama Scott 136 M Mana Echoes @Christopher Moeller 137 C Orcish Vandal @Alex Konstad 138 U Pyrewild Shaman @Lucas Graciano @@ -279,7 +279,7 @@ ScryfallCode=2XM 266 R Kuldotha Forgemaster @jD 267 U Lightning Greaves @Jeremy Jarvis 268 R Lux Cannon @Martina Pilcerova -269 C Magnifying Glass @Dan Scott +269 C Magnifying Glass @Dan Murayama Scott 270 M Mana Crypt @Matt Stewart 271 R Masterwork of Ingenuity @Ulrich Brunin 272 R Mesmeric Orb @David Martin diff --git a/forge-gui/res/editions/Dragon's Maze.txt b/forge-gui/res/editions/Dragon's Maze.txt index 1c8e0336bc4..0b8ec3fe898 100644 --- a/forge-gui/res/editions/Dragon's Maze.txt +++ b/forge-gui/res/editions/Dragon's Maze.txt @@ -60,7 +60,7 @@ ScryfallCode=DGM 46 C Phytoburst @Izzy 47 R Renegade Krasis @Howard Lyon 48 C Saruli Gatekeepers @Chris Rahn -49 R Skylasher @Dan Scott +49 R Skylasher @Dan Murayama Scott 50 C Thrashing Mossdog @Ryan Barger 51 R Advent of the Wurm @Lucas Graciano 52 C Armored Wolf-Rider @Matt Stewart @@ -100,7 +100,7 @@ ScryfallCode=DGM 86 C Morgue Burst @Raymond Swanland 87 C Nivix Cyclops @Wayne Reynolds 88 R Notion Thief @Clint Cearley -89 R Obzedat's Aid @Dan Scott +89 R Obzedat's Aid @Dan Murayama Scott 90 C Pilfered Plans @Michael C. Hayes 91 R Plasm Capture @Chase Stone 92 M Progenitor Mimic @Daarken diff --git a/forge-gui/res/editions/Dragons of Tarkir Promos.txt b/forge-gui/res/editions/Dragons of Tarkir Promos.txt index c7e1e612cf1..c705c45dc16 100644 --- a/forge-gui/res/editions/Dragons of Tarkir Promos.txt +++ b/forge-gui/res/editions/Dragons of Tarkir Promos.txt @@ -14,4 +14,4 @@ ScryfallCode=PDTK 223 R Harbinger of the Hunt @Chris Rahn 226 R Necromaster Dragon @Peter Mohrbacher 227 R Ojutai's Command @Craig J Spearing -228 R Pristine Skywise @Dan Scott +228 R Pristine Skywise @Dan Murayama Scott diff --git a/forge-gui/res/editions/Dragons of Tarkir.txt b/forge-gui/res/editions/Dragons of Tarkir.txt index 26f82ec0cc4..a07ad710ed7 100644 --- a/forge-gui/res/editions/Dragons of Tarkir.txt +++ b/forge-gui/res/editions/Dragons of Tarkir.txt @@ -82,7 +82,7 @@ ScryfallCode=DTK 69 C Palace Familiar @Kev Walker 70 R Profaner of the Dead @Vincent Proce 71 U Qarsi Deceiver @Raymond Swanland -72 C Reduce in Stature @Dan Scott +72 C Reduce in Stature @Dan Murayama Scott 73 M Shorecrasher Elemental @Igor Kieryluk 74 C Sidisi's Faithful @Lius Lasahido 75 U Sight Beyond Sight @Anastasia Ovchinnikova @@ -152,7 +152,7 @@ ScryfallCode=DTK 139 C Hardened Berserker @Viktor Titov 140 C Impact Tremors @Lake Hurwitz 141 R Ire Shaman @Jack Wang -142 C Kindled Fury @Dan Scott +142 C Kindled Fury @Dan Murayama Scott 143 C Kolaghan Aspirant @Aaron Miller 144 U Kolaghan Forerunners @Jason A. Engle 145 C Kolaghan Stormsinger @Scott Murphy @@ -201,7 +201,7 @@ ScryfallCode=DTK 188 C Glade Watcher @Jesper Ejsing 189 C Guardian Shield-Bearer @Lindsey Look 190 U Herdchaser Dragon @Seb McKinnon -191 U Inspiring Call @Dan Scott +191 U Inspiring Call @Dan Murayama Scott 192 U Lurking Arynx @Carl Frank 193 C Naturalize @James Paick 194 R Obscuring Aether @Min Yum @@ -222,7 +222,7 @@ ScryfallCode=DTK 209 R Sunbringer's Touch @Lucas Graciano 210 R Surrak, the Hunt Caller @Wesley Burt 211 C Tread Upon @Efrem Palacios -212 R Arashin Sovereign @Dan Scott +212 R Arashin Sovereign @Dan Murayama Scott 213 R Atarka's Command @Chris Rahn 214 R Boltwing Marauder @Raymond Swanland 215 U Cunning Breezedancer @Todd Lockwood diff --git a/forge-gui/res/editions/Duel Decks Ajani vs. Nicol Bolas.txt b/forge-gui/res/editions/Duel Decks Ajani vs. Nicol Bolas.txt index cdfaf655d28..4f715efd953 100644 --- a/forge-gui/res/editions/Duel Decks Ajani vs. Nicol Bolas.txt +++ b/forge-gui/res/editions/Duel Decks Ajani vs. Nicol Bolas.txt @@ -53,10 +53,10 @@ ScryfallCode=DDH 45 U Slavering Nulls @Dave Kendall 46 C Brackwater Elemental @Thomas M. Baxa 47 C Morgue Toad @Franz Vohwinkel -48 U Hellfire Mongrel @Dan Scott +48 U Hellfire Mongrel @Dan Murayama Scott 49 R Dimir Cutpurse @Kev Walker 50 C Steamcore Weird @Justin Norman -51 U Moroii @Dan Scott +51 U Moroii @Dan Murayama Scott 52 R Blazing Specter @Marc Fishman 53 U Fire-Field Ogre @Mitch Cotie 54 U Shriekmaw @Steve Prescott @@ -81,7 +81,7 @@ ScryfallCode=DDH 73 U Rise // Fall @Pete Venters 74 U Crumbling Necropolis @Dave Kendall 75 C Rupture Spire @Jaime Jones -76 C Terramorphic Expanse @Dan Scott +76 C Terramorphic Expanse @Dan Murayama Scott 77 L Swamp @Mark Tedin 78 L Swamp @Mark Tedin 79 L Island @Mark Tedin diff --git a/forge-gui/res/editions/Duel Decks Anthology Divine vs. Demonic.txt b/forge-gui/res/editions/Duel Decks Anthology Divine vs. Demonic.txt index ff6f59c456e..ec8e1797159 100644 --- a/forge-gui/res/editions/Duel Decks Anthology Divine vs. Demonic.txt +++ b/forge-gui/res/editions/Duel Decks Anthology Divine vs. Demonic.txt @@ -15,7 +15,7 @@ ScryfallCode=DVD 7 U Serra Advocate @Matthew D. Wilson 8 U Sustainer of the Realm @Mark Zug 9 U Angel of Mercy @Volkan Baǵa -10 R Serra Angel @Greg Staples +10 U Serra Angel @Greg Staples 11 R Twilight Shepherd @Jason Chan 12 R Luminous Angel @Jason Chan 13 R Reya Dawnbringer @Matthew D. Wilson @@ -47,7 +47,7 @@ ScryfallCode=DVD 39 U Souldrinker @Dermot Power 40 U Abyssal Specter @Michael Sutfin 41 C Cackling Imp @Matt Thompson -42 R Fallen Angel @Matthew D. Wilson +42 U Fallen Angel @Matthew D. Wilson 43 R Reiver Demon @Brom 44 R Kuro, Pitlord @Jon Foster 45 C Dark Ritual @Clint Langley diff --git a/forge-gui/res/editions/Duel Decks Blessed vs. Cursed.txt b/forge-gui/res/editions/Duel Decks Blessed vs. Cursed.txt index 409739237e7..f5e891b6885 100644 --- a/forge-gui/res/editions/Duel Decks Blessed vs. Cursed.txt +++ b/forge-gui/res/editions/Duel Decks Blessed vs. Cursed.txt @@ -18,7 +18,7 @@ ScryfallCode=DDQ 9 C Elder Cathar @Chris Rahn 10 U Emancipation Angel @Scott Chou 11 U Fiend Hunter @Wayne Reynolds -12 C Gather the Townsfolk @Dan Scott +12 C Gather the Townsfolk @Dan Murayama Scott 13 U Goldnight Redeemer @Karl Kopinski 14 R Increasing Devotion @Daniel Ljunggren 15 C Momentary Blink @Evan Shipard diff --git a/forge-gui/res/editions/Duel Decks Elspeth vs. Kiora.txt b/forge-gui/res/editions/Duel Decks Elspeth vs. Kiora.txt index acac2e3956d..bda8d78e07b 100644 --- a/forge-gui/res/editions/Duel Decks Elspeth vs. Kiora.txt +++ b/forge-gui/res/editions/Duel Decks Elspeth vs. Kiora.txt @@ -21,7 +21,7 @@ ScryfallCode=DDO 13 U Gustcloak Skirmisher @Dan Frazier 14 C Icatian Javelineers @Michael Phillippi 15 C Kinsbaile Skirmisher @Thomas Denmark -16 C Kor Skyfisher @Dan Scott +16 C Kor Skyfisher @Dan Murayama Scott 17 C Loxodon Partisan @Matt Stewart 18 C Mighty Leap @rk post 19 C Mortal's Ardor @Kev Walker diff --git a/forge-gui/res/editions/Duel Decks Elspeth vs. Tezzeret.txt b/forge-gui/res/editions/Duel Decks Elspeth vs. Tezzeret.txt index da3cbfb8ab6..e982596fb2e 100644 --- a/forge-gui/res/editions/Duel Decks Elspeth vs. Tezzeret.txt +++ b/forge-gui/res/editions/Duel Decks Elspeth vs. Tezzeret.txt @@ -13,7 +13,7 @@ ScryfallCode=DDF 5 R Loyal Sentry @Michael Sutfin 6 C Mosquito Guard @Randy Gallegos 7 C Glory Seeker @Matt Cavotta -8 C Kor Skyfisher @Dan Scott +8 C Kor Skyfisher @Dan Murayama Scott 9 C Temple Acolyte @Lubov 10 U Kor Aeronaut @Karl Kopinski 11 C Burrenton Bombardier @Ron Spencer diff --git a/forge-gui/res/editions/Duel Decks Elves vs. Inventors.txt b/forge-gui/res/editions/Duel Decks Elves vs. Inventors.txt index d73a063bcc4..c2f43af31df 100644 --- a/forge-gui/res/editions/Duel Decks Elves vs. Inventors.txt +++ b/forge-gui/res/editions/Duel Decks Elves vs. Inventors.txt @@ -67,7 +67,7 @@ ScryfallCode=DDU 59 C Neurok Replica @Zoltan Boros & Gabor Szikszai 60 C Pyrite Spellbomb @Jim Nelson 61 R Scuttling Doom Engine @Filip Burburan -62 R Solemn Simulacrum @Dan Scott +62 R Solemn Simulacrum @Dan Murayama Scott 63 R Thopter Assembly @Svetlin Velinov 64 U Voyager Staff @Tsutomu Kawade 65 U Darksteel Citadel @John Avon diff --git a/forge-gui/res/editions/Duel Decks Heroes vs. Monsters.txt b/forge-gui/res/editions/Duel Decks Heroes vs. Monsters.txt index df84ec9bc73..c2836f01cf3 100644 --- a/forge-gui/res/editions/Duel Decks Heroes vs. Monsters.txt +++ b/forge-gui/res/editions/Duel Decks Heroes vs. Monsters.txt @@ -52,7 +52,7 @@ ScryfallCode=DDL 43 M Polukranos, World Eater @Karl Kopinski 44 C Orcish Lumberjack @Steve Prescott 45 C Deadly Recluse @Warren Mahy -46 U Kavu Predator @Dan Scott +46 U Kavu Predator @Dan Murayama Scott 47 C Satyr Hedonist @Chase Stone 48 C Zhur-Taa Druid @Mark Winters 49 C Blood Ogre @Christopher Moeller @@ -66,11 +66,11 @@ ScryfallCode=DDL 57 R Skarrgan Firebird @Kev Walker 58 C Valley Rannet @Dave Allsop 59 C Krosan Tusker @Kev Walker -60 U Skarrgan Skybreaker @Dan Scott +60 U Skarrgan Skybreaker @Dan Murayama Scott 61 C Shower of Sparks @Christopher Moeller 62 C Prey Upon @Dave Kendall 63 U Pyroclasm @John Avon -64 U Regrowth @Dan Scott +64 U Regrowth @Dan Murayama Scott 65 C Terrifying Presence @Jaime Jones 66 U Destructive Revelry @Kev Walker 67 U Dragon Blood @Ron Spencer diff --git a/forge-gui/res/editions/Duel Decks Izzet vs. Golgari.txt b/forge-gui/res/editions/Duel Decks Izzet vs. Golgari.txt index c46ff1f7c84..b303261b84d 100644 --- a/forge-gui/res/editions/Duel Decks Izzet vs. Golgari.txt +++ b/forge-gui/res/editions/Duel Decks Izzet vs. Golgari.txt @@ -10,7 +10,7 @@ ScryfallCode=DDJ 2 C Kiln Fiend @Adi Granov 3 C Goblin Electromancer @Svetlin Velinov 4 U Izzet Guildmage @Jim Murray -5 U Gelectrode @Dan Scott +5 U Gelectrode @Dan Murayama Scott 6 C Wee Dragonauts @Greg Staples 7 C Steamcore Weird @Justin Norman 8 U Shrewd Hatchling @Carl Frank @@ -37,7 +37,7 @@ ScryfallCode=DDJ 29 R Sphinx-Bone Wand @Franz Vohwinkel 30 U Street Spasm @Raymond Swanland 31 R Invoke the Firemind @Zoltan Boros & Gabor Szikszai -32 U Fire // Ice @Dan Scott +32 U Fire // Ice @Dan Murayama Scott 33 C Forgotten Cave @Tony Szczudlo 34 C Izzet Boilerworks @John Avon 35 C Lonely Sandbar @Heather Hudson @@ -79,7 +79,7 @@ ScryfallCode=DDJ 71 U Putrefy @Clint Cearley 72 C Feast or Famine @Chase Stone 73 U Nightmare Void @Chippy -74 U Vigor Mortis @Dan Scott +74 U Vigor Mortis @Dan Murayama Scott 75 U Grim Flowering @Adam Paquette 76 R Twilight's Call @Mark Romanoski 77 U Life // Death @Ryan Barger diff --git a/forge-gui/res/editions/Duel Decks Jace vs. Vraska.txt b/forge-gui/res/editions/Duel Decks Jace vs. Vraska.txt index 235c83f8c78..af7573d31d9 100644 --- a/forge-gui/res/editions/Duel Decks Jace vs. Vraska.txt +++ b/forge-gui/res/editions/Duel Decks Jace vs. Vraska.txt @@ -38,7 +38,7 @@ ScryfallCode=DDM 30 U Control Magic @Clint Cearley 31 U Summoner's Bane @Cyril Van Der Haegen 32 U Jace's Ingenuity @Igor Kieryluk -33 R Future Sight @Dan Scott +33 R Future Sight @Dan Murayama Scott 34 R Spelltwine @Noah Bradley 35 U Dread Statuary @Jason A. Engle 36 C Halimar Depths @Volkan Baǵa diff --git a/forge-gui/res/editions/Duel Decks Knights vs. Dragons.txt b/forge-gui/res/editions/Duel Decks Knights vs. Dragons.txt index 2de730b62ed..43f13301bec 100644 --- a/forge-gui/res/editions/Duel Decks Knights vs. Dragons.txt +++ b/forge-gui/res/editions/Duel Decks Knights vs. Dragons.txt @@ -28,7 +28,7 @@ ScryfallCode=DDG 20 C Plover Knights @Quinton Hoover 21 U Juniper Order Ranger @Greg Hildebrandt 22 U Paladin of Prahv @William Simpson -23 U Harm's Way @Dan Scott +23 U Harm's Way @Dan Murayama Scott 24 U Reciprocate @Pat Lee 25 C Edge of Autumn @Jean-Sébastien Rossbach 26 C Mighty Leap @rk post diff --git a/forge-gui/res/editions/Duel Decks Mind vs. Might.txt b/forge-gui/res/editions/Duel Decks Mind vs. Might.txt index 27149132ab1..56f82e1a172 100644 --- a/forge-gui/res/editions/Duel Decks Mind vs. Might.txt +++ b/forge-gui/res/editions/Duel Decks Mind vs. Might.txt @@ -14,7 +14,7 @@ ScryfallCode=DDS 5 C Peer Through Depths @Anthony S. Waters 6 R Quicken @Aleksi Briclot 7 C Reach Through Mists @Anthony S. Waters -8 R Sage-Eye Avengers @Dan Scott +8 R Sage-Eye Avengers @Dan Murayama Scott 9 C Sift Through Sands @Anthony S. Waters 10 C Snap @Véronique Meignaud 11 R Talrand, Sky Summoner @Svetlin Velinov @@ -27,7 +27,7 @@ ScryfallCode=DDS 18 U Shivan Meteor @Chippy 19 R Volcanic Vision @Noah Bradley 20 U Young Pyromancer @Cynthia Sheppard -21 R Firemind's Foresight @Dan Scott +21 R Firemind's Foresight @Dan Murayama Scott 22 C Goblin Electromancer @Svetlin Velinov 23 R Jori En, Ruin Diver @Igor Kieryluk 24 C Nivix Cyclops @Wayne Reynolds diff --git a/forge-gui/res/editions/Duel Decks Mirrodin Pure vs. New Phyrexia.txt b/forge-gui/res/editions/Duel Decks Mirrodin Pure vs. New Phyrexia.txt index 4c871f187ae..afb3900c02e 100644 --- a/forge-gui/res/editions/Duel Decks Mirrodin Pure vs. New Phyrexia.txt +++ b/forge-gui/res/editions/Duel Decks Mirrodin Pure vs. New Phyrexia.txt @@ -46,7 +46,7 @@ ScryfallCode=TD2 38 U Coastal Tower @Don Hazeltine 39 U Forbidding Watchtower @Aleksi Briclot 40 C Seat of the Synod @John Avon -41 C Terramorphic Expanse @Dan Scott +41 C Terramorphic Expanse @Dan Murayama Scott 42 L Plains @James Paick 43 L Plains @John Avon 44 L Plains @Martina Pilcerova @@ -75,7 +75,7 @@ ScryfallCode=TD2 67 U Contagion Clasp @Anthony Palumbo 68 U Mortarpod @Eric Deschamps 69 U Spawning Pit @Tony Szczudlo -70 U Exhume @Carl Critchlow +70 C Exhume @Carl Critchlow 71 R Phyrexian Altar @Ron Spears 72 C Morbid Plunder @Mike Bierek 73 U Putrefy @Jim Nelson diff --git a/forge-gui/res/editions/Duel Decks Nissa vs. Ob Nixilis.txt b/forge-gui/res/editions/Duel Decks Nissa vs. Ob Nixilis.txt index 4dfaaa93830..c50b7fc29a5 100644 --- a/forge-gui/res/editions/Duel Decks Nissa vs. Ob Nixilis.txt +++ b/forge-gui/res/editions/Duel Decks Nissa vs. Ob Nixilis.txt @@ -29,7 +29,7 @@ ScryfallCode=DDR 20 U Seek the Horizon @Min Yum 21 R Thicket Elemental @Ron Spencer 22 C Thornweald Archer @Dave Kendall -23 C Vines of the Recluse @Dan Scott +23 C Vines of the Recluse @Dan Murayama Scott 24 U Walker of the Grove @Todd Lockwood 25 C Wood Elves @Josh Hass 26 U Woodborn Behemoth @Matt Stewart diff --git a/forge-gui/res/editions/Duel Decks Phyrexia vs. the Coalition.txt b/forge-gui/res/editions/Duel Decks Phyrexia vs. the Coalition.txt index 6bbe1176007..721d4a6f03b 100644 --- a/forge-gui/res/editions/Duel Decks Phyrexia vs. the Coalition.txt +++ b/forge-gui/res/editions/Duel Decks Phyrexia vs. the Coalition.txt @@ -71,7 +71,7 @@ ScryfallCode=DDE 63 U Allied Strategies @Paolo Parente 64 U Elfhame Palace @Jerry Tiritilli 65 U Shivan Oasis @Rob Alexander -66 C Terramorphic Expanse @Dan Scott +66 C Terramorphic Expanse @Dan Murayama Scott 67 L Plains @D. J. Cleland-Hura 68 L Island @Terese Nielsen 69 L Mountain @Scott Bailey diff --git a/forge-gui/res/editions/Duel Decks Sorin vs. Tibalt.txt b/forge-gui/res/editions/Duel Decks Sorin vs. Tibalt.txt index 0f734fda19a..4c34984801a 100644 --- a/forge-gui/res/editions/Duel Decks Sorin vs. Tibalt.txt +++ b/forge-gui/res/editions/Duel Decks Sorin vs. Tibalt.txt @@ -74,7 +74,7 @@ ScryfallCode=DDK 66 U Browbeat @Chris Rahn 67 R Breaking Point @Matthew D. Wilson 68 R Sulfuric Vortex @Greg Staples -69 C Blightning @Dan Scott +69 C Blightning @Dan Murayama Scott 70 U Flame Javelin @Trevor Hairsine 71 U Torrent of Souls @Ian Edward Ameling 72 R Devil's Play @Austin Hsu diff --git a/forge-gui/res/editions/Duel Decks Speed vs. Cunning.txt b/forge-gui/res/editions/Duel Decks Speed vs. Cunning.txt index 1c11dea9c37..25634f0ff82 100644 --- a/forge-gui/res/editions/Duel Decks Speed vs. Cunning.txt +++ b/forge-gui/res/editions/Duel Decks Speed vs. Cunning.txt @@ -79,7 +79,7 @@ ScryfallCode=DDN 71 U Arrow Volley Trap @Steve Argyle 72 C Repeal @Anthony Palumbo 73 U Mystic Monastery @Florian de Gesincourt -74 C Terramorphic Expanse @Dan Scott +74 C Terramorphic Expanse @Dan Murayama Scott 75 L Island @Rob Alexander 76 L Island @Rob Alexander 77 L Island @Andreas Rocha diff --git a/forge-gui/res/editions/Duel Decks Venser vs. Koth.txt b/forge-gui/res/editions/Duel Decks Venser vs. Koth.txt index 6668c718548..6055a9cf3eb 100644 --- a/forge-gui/res/editions/Duel Decks Venser vs. Koth.txt +++ b/forge-gui/res/editions/Duel Decks Venser vs. Koth.txt @@ -39,7 +39,7 @@ ScryfallCode=DDI 31 U Vanish into Memory @Rebekah Lynn 32 C Overrule @Alan Pollack 33 C Azorius Chancery @John Avon -34 U Flood Plain @Pat Morrissey +34 U Flood Plain @Pat Lewis 35 U New Benalia @Richard Wright 36 U Sejiri Refuge @Ryan Pancoast 37 C Soaring Seacliff @Izzy @@ -52,7 +52,7 @@ ScryfallCode=DDI 44 M Koth of the Hammer @Eric Deschamps 45 C Plated Geopede @Johann Bodin 46 C Pygmy Pyrosaur @Dan Frazier -47 C Pilgrim's Eye @Dan Scott +47 C Pilgrim's Eye @Dan Murayama Scott 48 U Aether Membrane @Zoltan Boros & Gabor Szikszai 49 C Fiery Hellhound @Ted Galaday 50 C Vulshok Sorcerer @rk post diff --git a/forge-gui/res/editions/Duels of the Planeswalkers 2014 Promos.txt b/forge-gui/res/editions/Duels of the Planeswalkers 2014 Promos.txt index 9a42e4a4006..6d1533a6fb6 100644 --- a/forge-gui/res/editions/Duels of the Planeswalkers 2014 Promos.txt +++ b/forge-gui/res/editions/Duels of the Planeswalkers 2014 Promos.txt @@ -8,4 +8,4 @@ ScryfallCode=PDP14 [cards] 1 R Bonescythe Sliver @Brad Rigney 2 R Ogre Battledriver @Matt Stewart -3 R Scavenging Ooze @Dan Scott +3 R Scavenging Ooze @Dan Murayama Scott diff --git a/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms Commander.txt b/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms Commander.txt index 3404bf9e691..15b821c979e 100644 --- a/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms Commander.txt +++ b/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms Commander.txt @@ -19,7 +19,7 @@ ScryfallCode=AFC 11 R Robe of Stars @Olena Richards 12 R Thorough Investigation @Aaron J. Riley 13 R Valiant Endeavor @Antonio José Manzanedo -14 R Arcane Endeavor @Justyna Gil +14 R Arcane Endeavor @Justyna Dura 15 R Diviner's Portent @Lie Setiawan 16 R Minn, Wily Illusionist @Dmitry Burmak 17 R Netherese Puzzle-Ward @Ralph Horsley @@ -142,7 +142,7 @@ ScryfallCode=AFC 134 R Opportunistic Dragon @Chris Rahn 135 R Outpost Siege @Daarken 136 C Rile @Igor Kieryluk -137 R Scourge of Valkas @Lucas Graciano +137 M Scourge of Valkas @Lucas Graciano 138 U Shiny Impetus @Svetlin Velinov 139 R Shivan Hellkite @Kev Walker 140 R Skyline Despot @Lucas Graciano @@ -177,7 +177,7 @@ ScryfallCode=AFC 169 C Return to Nature @Alayna Danner 170 R Rishkar's Expertise @Magali Villeneuve 171 R Shamanic Revelation @Cynthia Sheppard -172 U Utopia Sprawl @Ron Spears +172 C Utopia Sprawl @Ron Spears 173 R Verdant Embrace @Stephen Tappin 174 C Wild Growth @Tony Szczudlo 175 M Ashen Rider @Chris Rahn @@ -187,7 +187,7 @@ ScryfallCode=AFC 179 R Bedevil @Seb McKinnon 180 U Behemoth Sledge @Steve Prescott 181 U Bituminous Blast @Raymond Swanland -182 U Cloudblazer @Dan Scott +182 U Cloudblazer @Dan Murayama Scott 183 R Cold-Eyed Selkie @Jaime Jones 184 U Despark @Slawomir Maniak 185 R Fleecemane Lion @Slawomir Maniak @@ -202,7 +202,7 @@ ScryfallCode=AFC 194 R Theater of Horrors @Daarken 195 R Utter End @Mark Winters 196 U Vanish into Memory @Rebekah Lynn -197 C Arcane Signet @Dan Scott +197 C Arcane Signet @Dan Murayama Scott 198 R Argentum Armor @Matt Cavotta 199 R Basilisk Collar @Howard Lyon 200 U Burnished Hart @Yeong-Hao Han @@ -212,7 +212,7 @@ ScryfallCode=AFC 204 R Dragon's Hoard @Adam Paquette 205 C Explorer's Scope @Vincent Proce 206 U Fellwar Stone @John Avon -207 U Gruul Signet @Efrem Palacios +207 C Gruul Signet @Efrem Palacios 208 U Heirloom Blade @Carmen Sinek 209 R Masterwork of Ingenuity @Ulrich Brunin 210 U Meteor Golem @Lake Hurwitz @@ -272,7 +272,7 @@ ScryfallCode=AFC 264 R Sungrass Prairie @Alayna Danner 265 R Sunken Hollow @Adam Paquette 266 U Tainted Peak @Tony Szczudlo -267 C Terramorphic Expanse @Dan Scott +267 C Terramorphic Expanse @Dan Murayama Scott 268 C Thriving Grove @Ravenna Tran 269 C Thriving Heath @Alayna Danner 270 C Thriving Isle @Jonas De Ro @@ -288,7 +288,7 @@ ScryfallCode=AFC 280 R Robe of Stars @Olena Richards 281 R Thorough Investigation @Aaron J. Riley 282 R Valiant Endeavor @Antonio José Manzanedo -283 R Arcane Endeavor @Justyna Gil +283 R Arcane Endeavor @Justyna Dura 284 R Diviner's Portent @Lie Setiawan 285 R Minn, Wily Illusionist @Dmitry Burmak 286 R Netherese Puzzle-Ward @Ralph Horsley @@ -326,7 +326,7 @@ ScryfallCode=AFC 318 R Hurl Through Hell @Olena Richards 319 M Karazikar, the Eye Tyrant @Jason A. Engle 320 M Klauth, Unrivaled Ancient @Andrew Mar -321 C Klauth's Will @Olivier Bernard +321 R Klauth's Will @Olivier Bernard 322 R Midnight Pathlighter @PINDURSKI 323 M Nihiloor @Chris Rallis 324 M Prosper, Tome-Bound @Yongjae Choi diff --git a/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms.txt b/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms.txt index e69bd740db2..cdc323d945c 100644 --- a/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms.txt +++ b/forge-gui/res/editions/Dungeons & Dragons Adventures in the Forgotten Realms.txt @@ -12,7 +12,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ [cards] 1 C +2 Mace @Jarel Threat -2 C Arborea Pegasus @Justyna Gil +2 C Arborea Pegasus @Justyna Dura 3 U Blink Dog @Oriana Menendez 4 M The Book of Exalted Deeds @Daniel Ljunggren 5 C Celestial Unicorn @Johannes Voss @@ -66,7 +66,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ 53 M Demilich @Daniel Zrom 54 U Displacer Beast @Bryan Sola 55 C Djinni Windseer @Livia Prima -56 R Dragon Turtle @Dan Scott +56 R Dragon Turtle @Dan Murayama Scott 57 U Eccentric Apprentice @Campbell White 58 U Feywild Trickster @Iris Compiet 59 U Fly @Lie Setiawan @@ -87,7 +87,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ 74 C Silver Raven @Joe Slucher 75 C Soulknife Spy @Miguel Mercado 76 U Split the Party @Zoltan Boros -77 U Sudden Insight @Dan Scott +77 U Sudden Insight @Dan Murayama Scott 78 R Tasha's Hideous Laughter @Ilse Gort 79 U Trickster's Talisman @Sam White 80 R True Polymorph @Steve Prescott @@ -175,7 +175,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ 162 C Swarming Goblins @Andrew Mar 163 U Tiger-Tribe Hunter @Grzegorz Rutkowski 164 C Unexpected Windfall @Alayna Danner -165 C Valor Singer @Justyna Gil +165 C Valor Singer @Justyna Dura 166 R Wish @Ekaterina Burmak 167 R Xorn @Yigit Koroglu 168 C You Come to the Gnoll Camp @Billy Christian @@ -262,7 +262,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ 249 C Mimic @Scott Murphy 250 C Spare Dagger @Khurrum 251 C Spiked Pit Trap @Deruchenko Alexander -252 R Treasure Chest @Dan Scott +252 R Treasure Chest @Dan Murayama Scott 253 R Cave of the Frost Dragon @Johannes Voss 254 R Den of the Bugbear @Johannes Voss 255 R Dungeon Descent @Kasia 'Kafis' Zielińska @@ -411,7 +411,7 @@ FatPackExtraSlots=20 BasicLands, 20 BasicLands+ 392 M The Deck of Many Things @Volkan Baǵa 393 R Eye of Vecna @Irina Nordsol 394 R Hand of Vecna @Irina Nordsol -395 R Treasure Chest @Dan Scott +395 R Treasure Chest @Dan Murayama Scott [buy a box] 396 R Vorpal Sword @Alessandra Pisano diff --git a/forge-gui/res/editions/Duskmourn House of Horror Commander.txt b/forge-gui/res/editions/Duskmourn House of Horror Commander.txt index cc25e6aa2a5..110ef125d9e 100644 --- a/forge-gui/res/editions/Duskmourn House of Horror Commander.txt +++ b/forge-gui/res/editions/Duskmourn House of Horror Commander.txt @@ -15,30 +15,30 @@ ScryfallCode=DSC 7 M Winter, Cynical Opportunist @Andrey Kuzinskiy 8 M Zimone, Mystery Unraveler @Mila Pesic 9 R Redress Fate @Julie Dillon -10 R Secret Arcade @Arthur Yuan +10 R Secret Arcade // Dusty Parlor @Arthur Yuan 11 R Soaring Lightbringer @Michele Giorgi 12 R Fear of Sleep Paralysis @Joshua Raphael 13 R Glitch Interpreter @Miguel Mercado 14 R They Came from the Pipes @Andreas Zafiratos 15 R Zimone's Hypothesis @Crystal Fae 16 R Ancient Cellarspawn @Alexandre Honoré -17 R Cramped Vents @Arthur Yuan +17 R Cramped Vents // Access Maze @Arthur Yuan 18 R Deluge of Doom @Nereida 19 R Demonic Covenant @LA Draws 20 R Into the Pit @Greg Staples 21 R Metamorphosis Fanatic @Andreas Zafiratos 22 R Persistent Constrictor @Steve Ellis -23 R Polluted Cistern @Arthur Yuan +23 R Polluted Cistern // Dim Oubliette @Arthur Yuan 24 R Sadistic Shell Game @Karl Kopinski 25 R Suspended Sentence @LA Draws 26 R Barbflare Gremlin @Matt Stewart 27 R Gleeful Arsonist @Nereida -28 R Spiked Corridor @Arthur Yuan +28 R Spiked Corridor // Torture Pit @Arthur Yuan 29 R Star Athlete @Andrey Kuzinskiy 30 R Curator Beastie @Nils Hamm 31 R Demolisher Spawn @Nino Is 32 R Disorienting Choice @Mirko Failoni -33 R Experimental Lab @Arthur Yuan +33 R Experimental Lab // Staff Room @Arthur Yuan 34 R Formless Genesis @Mark Poole 35 R Shriekwood Devourer @David Astruga 36 R Ursine Monstrosity @Carlos Palma Cruchaga @@ -119,7 +119,7 @@ ScryfallCode=DSC 111 U Archetype of Imagination @Robbie Trevino 112 R Body of Knowledge @Clint Cearley 113 C Brainstorm @Willian Murai -114 C Counterspell @Zack Stella +114 U Counterspell @Zack Stella 115 R Dig Through Time @Ryan Yee 116 M Dream Eater @Daarken 117 R Extravagant Replication @Pauline Voss @@ -129,7 +129,7 @@ ScryfallCode=DSC 121 M One with the Multiverse @Liiga Smilshkalne 122 C Otherworldly Gaze @Chris Cold 123 R Primordial Mist @Titus Lunter -124 R Prognostic Sphinx @Steve Prescott +124 R Prognostic Sphinx @Jesper Ejsing 125 U Reality Shift @Howard Lyon 126 U Retreat to Coralhelm @Kieran Yanner 127 R Shark Typhoon @Caio Monteiro @@ -189,7 +189,7 @@ ScryfallCode=DSC 181 C Greater Tanuki @Ilse Gort 182 U Harmonize @Dan Murayama Scott 183 C Harrow @Rob Alexander -184 M Hornet Queen @Jonathan Kuo +184 R Hornet Queen @Jonathan Kuo 185 M Hydra Omnivore @Svetlin Velinov 186 R Inscription of Abundance @Zoltan Boros 187 M Ishkanah, Grafwidow @Christine Choi @@ -284,7 +284,7 @@ ScryfallCode=DSC 276 R Flooded Grove @Dave Kendall 277 R Foreboding Ruins @Adam Paquette 278 C Geothermal Bog @Gabor Szikszai -279 C Golgari Rot Farm @John Avon +279 U Golgari Rot Farm @John Avon 280 R Graven Cairns @Anthony S. Waters 281 R Grim Backwoods @Vincent Proce 282 C Halimar Depths @Volkan Baǵa diff --git a/forge-gui/res/editions/Duskmourn House of Horror.txt b/forge-gui/res/editions/Duskmourn House of Horror.txt index ec6f52e76a6..0289eaaf0a7 100644 --- a/forge-gui/res/editions/Duskmourn House of Horror.txt +++ b/forge-gui/res/editions/Duskmourn House of Horror.txt @@ -8,8 +8,8 @@ ScryfallCode=DSK [cards] 1 C Acrobatic Cheerleader @Julia Metzger 2 C Cult Healer @Diana Franco -3 R Dazzling Theater @Henry Peters -4 M Dollmaker's Shop @Chris Cold +3 R Dazzling Theater // Prop Room @Henry Peters +4 M Dollmaker's Shop // Porcelain Gallery @Chris Cold 5 C Emerge from the Cocoon @Marta Nael 6 R Enduring Innocence @Liiga Smilshkalne 7 U Ethereal Armor @Tyler Walpole @@ -20,7 +20,7 @@ ScryfallCode=DSK 12 C Friendly Ghost @Sean Murray 13 R Ghostly Dancers @Josh Newton 14 U Glimmer Seeker @Kev Fang -15 C Grand Entryway @Carlos Palma Cruchaga +15 C Grand Entryway // Elegant Rotunda @Carlos Palma Cruchaga 16 C Hardened Escort @John Stanko 17 C Jump Scare @John Tedrick 18 R Leyline of Hope @Sergey Glushakov @@ -39,7 +39,7 @@ ScryfallCode=DSK 31 C Shepherding Spirits @Billy Christian 32 R Split Up @Dominik Mayer 33 U Splitskin Doll @Diana Franco -34 U Surgical Suite @Titus Lunter +34 U Surgical Suite // Hospital Room @Titus Lunter 35 R Toby, Beastie Befriender @Jehan Choo 36 C Trapped in the Screen @Michael Phillippi 37 R Unidentified Hovership @Jana Heidersdorf @@ -48,8 +48,8 @@ ScryfallCode=DSK 40 U Veteran Survivor @Kai Carpenter 41 M The Wandering Rescuer @Anna Pavleeva 42 M Abhorrent Oculus @Bryan Sola -43 U Bottomless Pool @Diana Franco -44 R Central Elevator @Cristi Balanescu +43 U Bottomless Pool // Locker Room @Diana Franco +44 R Central Elevator // Promising Stairs @Cristi Balanescu 45 C Clammy Prowler @John Tedrick 46 C Creeping Peeper @Maxime Minard 47 U Cursed Windbreaker @Nino Vecia @@ -70,9 +70,9 @@ ScryfallCode=DSK 62 C Glimmerburst @Dan Watson 63 R Leyline of Transformation @Sergey Glushakov 64 R Marina Vendrell's Grimoire @Denys Tsiperko -65 C Meat Locker @Sergey Glushakov +65 C Meat Locker // Drowned Diner @Sergey Glushakov 66 R The Mindskinner @Abz J Harding -67 M Mirror Room @Helge C. Balzer +67 M Mirror Room // Fractured Realm @Helge C. Balzer 68 M Overlord of the Floodpits @Abz J Harding 69 U Paranormal Analyst @James Ryman 70 C Piranha Fly @Kekai Kotaki @@ -84,7 +84,7 @@ ScryfallCode=DSK 76 C Tunnel Surveyor @John Stanko 77 C Twist Reality @Allen Williams 78 C Unable to Scream @Fariba Khamseh -79 C Underwater Tunnel @Titus Lunter +79 C Underwater Tunnel // Slimy Aquarium @Titus Lunter 80 U Unnerving Grasp @Jeremy Wilson 81 U Unwilling Vessel @Josu Hernaiz 82 C Vanish from Sight @Billy Christian @@ -96,16 +96,16 @@ ScryfallCode=DSK 88 C Cracked Skull @Mirko Failoni 89 U Cynical Loner @Miranda Meeks 90 U Dashing Bloodsucker @Randy Gallegos -91 U Defiled Crypt @Martin de Diego Sádaba +91 U Defiled Crypt // Cadaver Lab @Martin de Diego Sádaba 92 R Demonic Counsel @Babs Webb -93 C Derelict Attic @Marc Simonetti +93 C Derelict Attic // Widow's Walk @Marc Simonetti 94 R Doomsday Excruciator @Denys Tsiperko 95 R Enduring Tenacity @Isis 96 C Fanatic of the Harrowing @Fajareka Setiawan 97 C Fear of Lost Teeth @Oriana Menendez 98 C Fear of the Dark @Sam Wolfe Connelly 99 C Final Vengeance @David Szabo -100 M Funeral Room @Miklós Ligeti +100 M Funeral Room // Awakening Hall @Miklós Ligeti 101 C Give In to Violence @Septian Fajrianto 102 R Grievous Wound @Martina Fačková 103 C Innocuous Rat @Maxime Minard @@ -123,7 +123,7 @@ ScryfallCode=DSK 115 C Resurrected Cultist @Tyler Walpole 116 C Spectral Snatcher @Domenico Cava 117 U Sporogenic Infection @Warren Mahy -118 R Unholy Annex @Matteo Bassini +118 R Unholy Annex // Ritual Chamber @Matteo Bassini 119 R Unstoppable Slasher @Maxime Minard 120 M Valgavoth, Terror Eater @Antonio José Manzanedo 121 U Valgavoth's Faithful @Jodie Muir @@ -134,7 +134,7 @@ ScryfallCode=DSK 126 U Betrayer's Bargain @Billy Christian 127 C Boilerbilges Ripper @Kai Carpenter 128 R Chainsaw @J.P. Targete -129 M Charred Foyer @Andrew Mar +129 M Charred Foyer // Warped Space @Andrew Mar 130 C Clockwork Percussionist @Eric Wilkerson 131 R Cursed Recording @Kim Sokol 132 U Diversion Specialist @Tuan Duong Chu @@ -142,7 +142,7 @@ ScryfallCode=DSK 134 U Fear of Being Hunted @Maxime Minard 135 U Fear of Burning Alive @J.P. Targete 136 R Fear of Missing Out @John Stanko -137 C Glassworks @Sergey Glushakov +137 C Glassworks // Shattered Yard @Sergey Glushakov 138 C Grab the Prize @Halil Ural 139 C Hand That Feeds @Loïc Canavaggia 140 C Impossible Inferno @Edgar Sánchez Hidalgo @@ -152,7 +152,7 @@ ScryfallCode=DSK 144 C Most Valuable Slayer @Patrik Hell 145 U Norin, Swift Survivalist @Yigit Koroglu 146 M Overlord of the Boilerbilges @Helge C. Balzer -147 U Painter's Studio @Marc Simonetti +147 U Painter's Studio // Defaced Gallery @Marc Simonetti 148 U Piggy Bank @Steve Ellis 149 U Pyroclasm @Néstor Ossandón Leal 150 C Ragged Playmate @Kaitlyn McCulley @@ -163,7 +163,7 @@ ScryfallCode=DSK 155 M The Rollercrusher Ride @Deruchenko Alexander 156 C Scorching Dragonfire @Marta Nael 157 M Screaming Nemesis @Liiga Smilshkalne -158 C Ticket Booth @Marco Gorlei +158 C Ticket Booth // Tunnel of Hate @Marco Gorlei 159 U Trial of Agony @Mike Sass 160 C Turn Inside Out @Loïc Canavaggia 161 U Untimely Malfunction @Jarel Threat @@ -186,7 +186,7 @@ ScryfallCode=DSK 178 C Flesh Burrower @Maxime Minard 179 C Frantic Strength @Flavio Greco Paglia 180 C Grasping Longneck @Mathias Kollros -181 U Greenhouse @John Di Giovanni +181 U Greenhouse // Rickety Gazebo @John Di Giovanni 182 M Hauntwoods Shrieker @John Tedrick 183 R Hedge Shredder @Cristi Balanescu 184 C Horrid Vigor @Chris Cold @@ -195,7 +195,7 @@ ScryfallCode=DSK 187 R Kona, Rescue Beastie @Brian Valeza 188 R Leyline of Mutation @Sergey Glushakov 189 C Manifest Dread @Andrey Kuzinskiy -190 C Moldering Gym @Helge C. Balzer +190 C Moldering Gym // Weight Room @Helge C. Balzer 191 C Monstrous Emergence @Loïc Canavaggia 192 R Omnivorous Flytrap @Antonio José Manzanedo 193 U Overgrown Zealot @Tyler Walpole @@ -210,7 +210,7 @@ ScryfallCode=DSK 202 M Tyvar, the Pummeler @Olivier Bernard 203 U Under the Skin @Fernando Falcone 204 R Valgavoth's Onslaught @Lie Setiawan -205 M Walk-in Closet @Miklós Ligeti +205 M Walk-In Closet // Forgotten Cellar @Miklós Ligeti 206 C Wary Watchdog @Olivier Bernard 207 U Wickerfolk Thresher @WolfSkullJack 208 U Arabella, Abandoned Doll @J.P. Targete @@ -232,15 +232,15 @@ ScryfallCode=DSK 224 M Niko, Light of Hope @Aurore Folny 225 U Oblivious Bookworm @Josh Newton 226 R Peer Past the Veil @Tuan Duong Chu -227 R Restricted Office @Antonio José Manzanedo +227 R Restricted Office // Lecture Hall @Antonio José Manzanedo 228 R Rip, Spawn Hunter @Justine Cruz 229 U Rite of the Moth @A. M. Sartor -230 R Roaring Furnace @Miklós Ligeti +230 R Roaring Furnace // Steaming Sauna @Miklós Ligeti 231 U Sawblade Skinripper @Zezhou Chen 232 U Shrewd Storyteller @David Palumbo 233 U Shroudstomper @Campbell White 234 U Skullsnap Nuisance @Allen Douglas -235 U Smoky Lounge @Marco Gorlei +235 U Smoky Lounge // Misty Salon @Marco Gorlei 236 R The Swarmweaver @Helge C. Balzer 237 R Undead Sprinter @Nino Vecia 238 R Victor, Valgavoth's Seneschal @Jeremy Wilson @@ -294,7 +294,7 @@ ScryfallCode=DSK 286 L Forest @Josu Hernaiz [alternate art] -287 C Grand Entryway @Carlos Palma Cruchaga +287 C Grand Entryway // Elegant Rotunda @Carlos Palma Cruchaga 288 U Optimistic Scavenger @Brian Valeza 289 R Reluctant Role Model @Chris Rallis 290 R Entity Tracker @Cristi Balanescu @@ -387,16 +387,16 @@ ScryfallCode=DSK 331 R Gloomlake Verge @Julian Kok Joon Wen 332 R Hushwood Verge @Henry Peters 333 R Thornspire Verge @Pavel Kolomeyets -334 R Dazzling Theater @Ivan Shavrin -335 M Dollmaker's Shop @Cacho Rubione -336 R Central Elevator @Ivan Shavrin -337 M Mirror Room @Cacho Rubione -338 M Funeral Room @Alexandre Chaudret -339 R Unholy Annex @Alexis Ziritt -340 M Charred Foyer @Oliver Barrett -341 M Walk-in Closet @Bastien Grivet -342 R Restricted Office @Scott Buoncristiano -343 R Roaring Furnace @Toni Infante +334 R Dazzling Theater // Prop Room @Ivan Shavrin +335 M Dollmaker's Shop // Porcelain Gallery @Cacho Rubione +336 R Central Elevator // Promising Stairs @Ivan Shavrin +337 M Mirror Room // Fractured Realm @Cacho Rubione +338 M Funeral Room // Awakening Hall @Alexandre Chaudret +339 R Unholy Annex // Ritual Chamber @Alexis Ziritt +340 M Charred Foyer // Warped Space @Oliver Barrett +341 M Walk-In Closet // Forgotten Cellar @Bastien Grivet +342 R Restricted Office // Lecture Hall @Scott Buoncristiano +343 R Roaring Furnace // Steaming Sauna @Toni Infante 344 M Abhorrent Oculus @Igor Krstic 345 R Silent Hallcreeper @Inkognit 346 R Doomsday Excruciator @Jarel Threat diff --git a/forge-gui/res/editions/Eldritch Moon.txt b/forge-gui/res/editions/Eldritch Moon.txt index 6d3bab07244..7f379c5d8d2 100644 --- a/forge-gui/res/editions/Eldritch Moon.txt +++ b/forge-gui/res/editions/Eldritch Moon.txt @@ -51,13 +51,13 @@ ScryfallCode=EMN 35 C Lunarch Mantle @Anastasia Ovchinnikova 36 U Peace of Mind @Christopher Moeller 37 R Providence @Zack Stella -38 U Repel the Abominable @Dan Scott +38 U Repel the Abominable @Dan Murayama Scott 39 R Sanctifier of Souls @Jesper Ejsing 40 R Selfless Spirit @Seb McKinnon 41 R Sigarda's Aid @Howard Lyon 42 C Sigardian Priest @Terese Nielsen 43 C Spectral Reserves @Seb McKinnon -44 C Steadfast Cathar @Dan Scott +44 C Steadfast Cathar @Dan Murayama Scott 45 U Subjugator Angel @Lius Lasahido 46 R Thalia, Heretic Cathar @Magali Villeneuve 47 R Thalia's Lancers @David Palumbo @@ -171,7 +171,7 @@ ScryfallCode=EMN 155 R Eldritch Evolution @Jason Rainville 156 R Emrakul's Evangel @Jason Felix 157 U Emrakul's Influence @Ryan Alexander Lee -158 U Foul Emissary @Dan Scott +158 U Foul Emissary @Dan Murayama Scott 159 U Gnarlwood Dryad @Raymond Swanland 160 C Grapple with the Past @Howard Lyon 161 U Hamlet Captain @Wayne Reynolds diff --git a/forge-gui/res/editions/Eternal Masters.txt b/forge-gui/res/editions/Eternal Masters.txt index 2e0efecfc50..10b891ac763 100644 --- a/forge-gui/res/editions/Eternal Masters.txt +++ b/forge-gui/res/editions/Eternal Masters.txt @@ -56,10 +56,10 @@ ScryfallCode=EMA 44 U Daze @Min Yum 45 C Deep Analysis @Jesper Ejsing 46 R Diminishing Returns @Greg Opalinski -47 C Dream Twist @Dan Scott +47 C Dream Twist @Dan Murayama Scott 48 U Fact or Fiction @Terese Nielsen 49 M Force of Will @Terese Nielsen -50 R Future Sight @Dan Scott +50 R Future Sight @Dan Murayama Scott 51 C Gaseous Form @Roger Raupp 52 C Giant Tortoise @Richard Wright 53 C Glacial Wall @Craig Mullins @@ -214,7 +214,7 @@ ScryfallCode=EMA 202 R Glare of Subdual @Zoltan Boros & Gabor Szikszai 203 R Goblin Trenches @Filip Burburan 204 M Maelstrom Wanderer @Victor Adame Minguez -205 U Shaman of the Pack @Dan Scott +205 U Shaman of the Pack @Dan Murayama Scott 206 R Shardless Agent @Izzy 207 M Sphinx of the Steel Wind @Kev Walker 208 U Thunderclap Wyvern @Jason Felix @@ -238,7 +238,7 @@ ScryfallCode=EMA 226 U Millikin @Alex Horley-Orlandelli 227 U Mindless Automaton @Brian Snõddy 228 R Nevinyrral's Disk @Steve Argyle -229 C Pilgrim's Eye @Dan Scott +229 C Pilgrim's Eye @Dan Murayama Scott 230 U Prismatic Lens @Alan Pollack 231 U Relic of Progenitus @Jean-Sébastien Rossbach 232 R Sensei's Divining Top @Rob Alexander diff --git a/forge-gui/res/editions/Eventide.txt b/forge-gui/res/editions/Eventide.txt index 5f25ace83fc..14f33128e2e 100644 --- a/forge-gui/res/editions/Eventide.txt +++ b/forge-gui/res/editions/Eventide.txt @@ -74,12 +74,12 @@ ScryfallCode=EVE 60 C Puncture Blast @Carl Critchlow 61 R Rekindled Flame @Zoltan Boros & Gabor Szikszai 62 R Stigma Lasher @Aleksi Briclot -63 R Thunderblust @Dan Scott +63 R Thunderblust @Dan Murayama Scott 64 U Unwilling Recruit @Dave Allsop 65 C Aerie Ouphes @Jesper Ejsing 66 R Bloom Tender @Chippy 67 U Duskdale Wurm @Dan Dos Santos -68 R Helix Pinnacle @Dan Scott +68 R Helix Pinnacle @Dan Murayama Scott 69 U Marshdrinker Giant @Daarken 70 C Monstrify @Lars Grant-West 71 C Nettle Sentinel @Kev Walker @@ -98,7 +98,7 @@ ScryfallCode=EVE 84 U Cauldron Haze @Brandon Kitkouski 85 R Deathbringer Liege @Drew Tucker 86 R Divinity of Pride @Greg Staples -87 C Edge of the Divinity @Dan Scott +87 C Edge of the Divinity @Dan Murayama Scott 88 R Evershrike @Dan Dos Santos 89 U Gwyllion Hedge-Mage @Todd Lockwood 90 C Harvest Gwyllion @Nils Hamm @@ -112,7 +112,7 @@ ScryfallCode=EVE 98 R Call the Skybreaker @Randy Gallegos 99 C Clout of the Dominus @Jaime Jones 100 R Crackleburr @Mike Dringenberg -101 U Crag Puca @John Howe (Lorywn) +101 U Crag Puca @John Franklin Howe 102 R Dominus of Fealty @Kev Walker 103 C Inside Out @Zoltan Boros & Gabor Szikszai 104 R Mindwrack Liege @Richard Whitters @@ -157,7 +157,7 @@ ScryfallCode=EVE 143 U Moonhold @Mike Dringenberg 144 R Nobilis of War @Christopher Moeller 145 R Rise of the Hobgoblins @Jeff Miracola -146 C Scourge of the Nobilis @Dan Scott +146 C Scourge of the Nobilis @Dan Murayama Scott 147 U Spitemare @Matt Cavotta 148 R Waves of Aggression @Jim Pavelec 149 R Cold-Eyed Selkie @Jaime Jones diff --git a/forge-gui/res/editions/Explorer Anthology 2.txt b/forge-gui/res/editions/Explorer Anthology 2.txt index 49fcf54de55..fcf78aa0685 100644 --- a/forge-gui/res/editions/Explorer Anthology 2.txt +++ b/forge-gui/res/editions/Explorer Anthology 2.txt @@ -21,11 +21,11 @@ ScryfallCode=EA2 13 C Fiery Impulse @Daarken 14 U Rending Volley @Lucas Graciano 15 R Courser of Kruphix @Eric Deschamps -16 C Nylea's Presence +16 C Nylea's Presence @Ralph Horsley 17 C Satyr Wayfinder @Steve Prescott 18 M World Breaker @Jaime Jones 19 U Reflector Mage @Willian Murai -20 U Shaman of the Pack @Dan Scott +20 U Shaman of the Pack @Dan Murayama Scott 21 M Sliver Hivelord @Aleksi Briclot 22 R Mana Confluence @Richard Wright 23 R Mutavault @Fred Fields diff --git a/forge-gui/res/editions/Fallen Empires.txt b/forge-gui/res/editions/Fallen Empires.txt index 15cc93742d3..5c8d12eb868 100644 --- a/forge-gui/res/editions/Fallen Empires.txt +++ b/forge-gui/res/editions/Fallen Empires.txt @@ -187,16 +187,16 @@ ScryfallCode=FEM 89 R Ring of Renewal @Douglas Shuler 90 R Spirit Shield @Scott Kirschner 91 R Zelyon Sword @Scott Kirschner -92 R Bottomless Vault @Pat Morrissey -93 R Dwarven Hold @Pat Morrissey +92 R Bottomless Vault @Pat Lewis +93 R Dwarven Hold @Pat Lewis 94 U Dwarven Ruins @Mark Poole 95 U Ebon Stronghold @Mark Poole 96 U Havenwood Battleground @Mark Poole -97 R Hollow Trees @Pat Morrissey -98 R Icatian Store @Pat Morrissey +97 R Hollow Trees @Pat Lewis +98 R Icatian Store @Pat Lewis 99 R Rainbow Vale @Kaja Foglio 100 U Ruins of Trokair @Mark Poole -101 R Sand Silos @Pat Morrissey +101 R Sand Silos @Pat Lewis 102 U Svyelunite Temple @Mark Poole [tokens] diff --git a/forge-gui/res/editions/Fallout Commander.txt b/forge-gui/res/editions/Fallout Commander.txt index f357729aa1d..35db8daf394 100644 --- a/forge-gui/res/editions/Fallout Commander.txt +++ b/forge-gui/res/editions/Fallout Commander.txt @@ -160,7 +160,7 @@ ScryfallCode=PIP 152 R Overflowing Basin @Marina Ortega Lorente 153 R Sunscorched Divide @Zezhou Chen 154 R Viridescent Bog @Rafater -155 C All That Glitters @Iain McCaig +155 C All That Glitters @Kieran Yanner 156 R Austere Command @Andrew Theophilopoulos 157 R Captain of the Watch @Jonas De Ro 158 U Crush Contraband @Xavier Ribeiro @@ -688,7 +688,7 @@ ScryfallCode=PIP 680 R Overflowing Basin @Marina Ortega Lorente 681 R Sunscorched Divide @Zezhou Chen 682 R Viridescent Bog @Rafater -683 C All That Glitters @Iain McCaig +683 C All That Glitters @Kieran Yanner 684 R Austere Command @Andrew Theophilopoulos 685 R Captain of the Watch @Jonas De Ro 686 U Crush Contraband @Xavier Ribeiro diff --git a/forge-gui/res/editions/Fate Reforged Promos.txt b/forge-gui/res/editions/Fate Reforged Promos.txt index 26752515d8f..1322b039eac 100644 --- a/forge-gui/res/editions/Fate Reforged Promos.txt +++ b/forge-gui/res/editions/Fate Reforged Promos.txt @@ -10,7 +10,7 @@ ScryfallCode=PFRF 50 R Sage-Eye Avengers @Viktor Titov 54 R Supplant Form @Mike Bierek 62 R Archfiend of Depravity @Volkan Baǵa -74 U Mardu Shadowspear @Dan Scott +74 U Mardu Shadowspear @Dan Murayama Scott 99 R Flamerush Rider @Viktor Titov 137 R Sandsteppe Mastodon @Kev Walker 138 R Shamanic Revelation @Matt Stewart diff --git a/forge-gui/res/editions/Fate Reforged.txt b/forge-gui/res/editions/Fate Reforged.txt index 55584a171b2..a634a0606ad 100644 --- a/forge-gui/res/editions/Fate Reforged.txt +++ b/forge-gui/res/editions/Fate Reforged.txt @@ -27,7 +27,7 @@ ScryfallCode=FRF 14 U Honor's Reward @Izzy 15 U Jeskai Barricade @Noah Bradley 16 U Lightform @Steve Prescott -17 U Lotus-Eye Mystics @Dan Scott +17 U Lotus-Eye Mystics @Dan Murayama Scott 18 U Mardu Woe-Reaper @Willian Murai 19 R Mastery of the Unseen @Daniel Ljunggren 20 M Monastery Mentor @Magali Villeneuve @@ -54,13 +54,13 @@ ScryfallCode=FRF 41 U Mindscour Dragon @Wesley Burt 42 U Mistfire Adept @Clint Cearley 43 R Monastery Siege @Mark Winters -44 U Neutralizing Blast @Dan Scott +44 U Neutralizing Blast @Dan Murayama Scott 45 C Rakshasa's Disdain @Seb McKinnon 46 U Reality Shift @Howard Lyon 47 C Refocus @Kev Walker 48 U Renowned Weaponsmith @Eric Deschamps 49 U Rite of Undoing @Anastasia Ovchinnikova -50 R Sage-Eye Avengers @Dan Scott +50 R Sage-Eye Avengers @Dan Murayama Scott 51 U Shifting Loyalties @James Ryman 52 R Shu Yun, the Silent Tempest @David Gaillet 53 C Sultai Skullkeeper @Ryan Barger diff --git a/forge-gui/res/editions/Fifth Edition.txt b/forge-gui/res/editions/Fifth Edition.txt index 6b78baf947e..d2c2645b6bb 100644 --- a/forge-gui/res/editions/Fifth Edition.txt +++ b/forge-gui/res/editions/Fifth Edition.txt @@ -107,7 +107,7 @@ ScryfallCode=5ED 93 R Hurkyl's Recall @NéNé Thomas 94 U Hydroblast @Kaja Foglio 95 R Juxtapose @Justin Hampton -96 C Krovikan Sorcerer @Pat Morrissey +96 C Krovikan Sorcerer @Pat Lewis 97 C Labyrinth Minotaur @Anson Maddocks 98 R Leviathan @Mark Tedin 99 U Lifetap @Mike Dringenberg @@ -353,7 +353,7 @@ ScryfallCode=5ED 339 U Wanderlust @Rebecca Guay 340 C War Mammoth @Jeff A. Menges 341 U Whirling Dervish @Susan Van Camp -342 C Wild Growth @Pat Morrissey +342 C Wild Growth @Pat Lewis 343 U Winter Blast @Kaja Foglio 344 U Wolverine Pack @Steve White 345 R Wyluli Wolf @Susan Van Camp @@ -441,10 +441,10 @@ ScryfallCode=5ED 427 C Urza's Mine @Anson Maddocks 428 C Urza's Power Plant @Mark Tedin 429 C Urza's Tower @Mark Poole -430 L Plains @Pat Morrissey -431 L Plains @Pat Morrissey -432 L Plains @Pat Morrissey -433 L Plains @Pat Morrissey +430 L Plains @Pat Lewis +431 L Plains @Pat Lewis +432 L Plains @Pat Lewis +433 L Plains @Pat Lewis 434 L Island @J. W. Frost 435 L Island @J. W. Frost 436 L Island @J. W. Frost diff --git a/forge-gui/res/editions/Friday Night Magic 2015.txt b/forge-gui/res/editions/Friday Night Magic 2015.txt index 5c5a57e885e..b96e836286e 100644 --- a/forge-gui/res/editions/Friday Night Magic 2015.txt +++ b/forge-gui/res/editions/Friday Night Magic 2015.txt @@ -13,7 +13,7 @@ ScryfallCode=F15 5 R Abzan Beastmaster @Scott Murphy 6 R Frost Walker @Peter Mohrbacher 7 R Path to Exile @Raf Sarmento -8 R Serum Visions @Dan Scott +8 R Serum Visions @Dan Murayama Scott 9 R Orator of Ojutai @David Gaillet 10 R Ultimate Price @Scott Murphy 11 R Roast @Zoltan Boros diff --git a/forge-gui/res/editions/From the Vault Lore.txt b/forge-gui/res/editions/From the Vault Lore.txt index 15c6a5f8dde..12d55cd99ee 100644 --- a/forge-gui/res/editions/From the Vault Lore.txt +++ b/forge-gui/res/editions/From the Vault Lore.txt @@ -15,7 +15,7 @@ ScryfallCode=V16 7 M Memnarch @Carl Critchlow 8 M Mind's Desire @Adam Paquette 9 M Momir Vig, Simic Visionary @Victor Adame Minguez -10 M Near-Death Experience @Dan Scott +10 M Near-Death Experience @Dan Murayama Scott 11 M Obliterate @Kev Walker 12 M Phyrexian Processor @Dave Kendall 13 M Tolaria West @Khang Le diff --git a/forge-gui/res/editions/From the Vault Relics.txt b/forge-gui/res/editions/From the Vault Relics.txt index 9dfd77e5942..88fdfac5606 100644 --- a/forge-gui/res/editions/From the Vault Relics.txt +++ b/forge-gui/res/editions/From the Vault Relics.txt @@ -8,7 +8,7 @@ ScryfallCode=V10 [cards] 1 M Aether Vial @Karl Kopinski -2 M Black Vise @Dan Scott +2 M Black Vise @Dan Murayama Scott 3 M Isochron Scepter @Chippy 4 M Ivory Tower @Jason Chan 5 M Jester's Cap @D. Alexander Gregory diff --git a/forge-gui/res/editions/Future Sight.txt b/forge-gui/res/editions/Future Sight.txt index debd69cf460..9706d3cbbe7 100644 --- a/forge-gui/res/editions/Future Sight.txt +++ b/forge-gui/res/editions/Future Sight.txt @@ -42,7 +42,7 @@ ScryfallCode=FUT 29 C Patrician's Scorn @John Avon 30 U Ramosian Revivalist @Matt Stewart 31 R Seht's Tiger @Thomas Gianni -32 C Aven Augur @Dan Scott +32 C Aven Augur @Dan Murayama Scott 33 U Cloudseeder @Tsutomu Kawade 34 U Cryptic Annelid @Anthony S. Waters 35 U Delay @Ron Spears @@ -53,7 +53,7 @@ ScryfallCode=FUT 40 R Magus of the Future @Anthony Francisco 41 U Mystic Speculation @Trevor Hairsine 42 R Pact of Negation @Jason Chan -43 U Reality Strobe @Dan Scott +43 U Reality Strobe @Dan Murayama Scott 44 R Take Possession @Michael Phillippi 45 C Unblinking Bleb @Shishizaru 46 R Venser, Shaper Savant @Aleksi Briclot @@ -119,7 +119,7 @@ ScryfallCode=FUT 106 C Rift Elemental @Ron Spears 107 R Scourge of Kher Ridges @Daren Bader 108 U Shivan Sand-Mage @Dave Kendall -109 U Sparkspitter @Dan Scott +109 U Sparkspitter @Dan Murayama Scott 110 U Bloodshot Trainee @Lucio Parrillo 111 U Boldwyr Intimidator @Esad Ribic 112 U Emblem of the Warmind @Paolo Parente @@ -136,7 +136,7 @@ ScryfallCode=FUT 123 R Tarox Bladewing @Aleksi Briclot 124 R Thunderblade Charge @Justin Murray 125 U Cyclical Evolution @Matt Cavotta -126 R Force of Savagery @Dan Scott +126 R Force of Savagery @Dan Murayama Scott 127 R Heartwood Storyteller @Anthony S. Waters 128 C Kavu Primarch @Kev Walker 129 C Llanowar Augur @Tsutomu Kawade @@ -169,7 +169,7 @@ ScryfallCode=FUT 156 R Glittering Wish @John Donahue 157 R Jhoira of the Ghitu @Kev Walker 158 R Sliver Legion @Ron Spears -159 R Akroma's Memorial @Dan Scott +159 R Akroma's Memorial @Dan Murayama Scott 160 R Cloud Key @Trevor Hairsine 161 R Coalition Relic @Donato Giancola 162 R Epochrasite @Michael Bruinsma diff --git a/forge-gui/res/editions/Game Day Promos.txt b/forge-gui/res/editions/Game Day Promos.txt index 82abb533fcf..7e940d12d5f 100644 --- a/forge-gui/res/editions/Game Day Promos.txt +++ b/forge-gui/res/editions/Game Day Promos.txt @@ -12,6 +12,6 @@ ScryfallCode=GDY 4 R Touch the Spirit Realm @Mila Pesic 5 R Workshop Warchief @Maxime Minard 6 M Shivan Devastator @Aldo Domínguez -7 U Recruitment Officer @Zoltan Boros +7 R Recruitment Officer @Zoltan Boros 8 R Braids, Arisen Nightmare @Anastasia Balakchina -9 M Surge Engine @Volkan Baga +9 M Surge Engine @Volkan Baǵa diff --git a/forge-gui/res/editions/Game Night Free-for-All.txt b/forge-gui/res/editions/Game Night Free-for-All.txt index 661cc110975..c61e8ee7616 100644 --- a/forge-gui/res/editions/Game Night Free-for-All.txt +++ b/forge-gui/res/editions/Game Night Free-for-All.txt @@ -30,7 +30,7 @@ ScryfallCode=GN3 22 U Angler Drake @Svetlin Velinov 23 R Angler Turtle @Alex Konstad 24 U Brineborn Cutthroat @Caio Monteiro -25 C Counterspell @Zack Stella +25 U Counterspell @Zack Stella 26 R Diluvian Primordial @Stephan Martiniere 27 U Fact or Fiction @Matt Cavotta 28 U Fog Bank @Howard Lyon @@ -52,17 +52,17 @@ ScryfallCode=GN3 44 C Bushmeat Poacher @Randy Vargas 45 R Demon of Loathing @Tomasz Jedruszek 46 R Demonic Embrace @Sidharth Chaturvedi -47 U Doom Blade @Chippy +47 C Doom Blade @Chippy 48 C Doomed Dissenter @Tony Foti 49 C Dusk Legion Zealot @Winona Nelson -50 U Fleshbag Marauder @Mark Zug +50 C Fleshbag Marauder @Mark Zug 51 C Gavony Unhallowed @Christopher Moeller 52 U Gifted Aetherborn @Ryan Yee 53 R Gravewaker @Daniel Ljunggren 54 R Liliana's Mastery @Kieran Yanner 55 U Lord of the Accursed @Grzegorz Rutkowski 56 C Maalfeld Twins @Mike Sass -57 C Moan of the Unhallowed @Nils Hamm +57 U Moan of the Unhallowed @Nils Hamm 58 R Priest of the Blood Rite @David Palumbo 59 U Ravenous Chupacabra @Daarken 60 U Reassembling Skeleton @Austin Hsu @@ -110,7 +110,7 @@ ScryfallCode=GN3 103 U Overrun @Carl Critchlow 104 C Rabid Bite @John Thacker 105 C Ram Through @Zoltan Boros -106 U Regrowth @Dan Scott +106 U Regrowth @Dan Murayama Scott 107 U Sylvan Messenger @PINDURSKI 108 C Taunting Elf @Rebecca Guay 109 R Thorn Lieutenant @Uriah Voth @@ -124,7 +124,7 @@ ScryfallCode=GN3 117 C Howling Golem @Grzegorz Rutkowski 118 R Moonsilver Spear @James Paick 119 U Ring of Thune @Erica Yang -120 R Sword of Vengeance @Dan Scott +120 R Sword of Vengeance @Dan Murayama Scott 121 U Trusty Machete @Raymond Swanland 122 L Plains @Sam Burley 123 L Plains @Alayna Danner diff --git a/forge-gui/res/editions/Game Night.txt b/forge-gui/res/editions/Game Night.txt index 6cc2eab4783..96d7a0e6488 100644 --- a/forge-gui/res/editions/Game Night.txt +++ b/forge-gui/res/editions/Game Night.txt @@ -61,7 +61,7 @@ ScryfallCode=GNT 52 U Filigree Familiar @Izzy 53 U Howling Golem @Grzegorz Rutkowski 54 C Manalith @Ryan Yee -55 U Pilgrim's Eye @Dan Scott +55 U Pilgrim's Eye @Dan Murayama Scott 56 U Rhonas's Monument @Cliff Childs 57 U Snare Thopter @John Avon 58 C Welder Automaton @Victor Adame Minguez diff --git a/forge-gui/res/editions/Gatecrash Promos.txt b/forge-gui/res/editions/Gatecrash Promos.txt index 05bcbda16da..b3762bd2266 100644 --- a/forge-gui/res/editions/Gatecrash Promos.txt +++ b/forge-gui/res/editions/Gatecrash Promos.txt @@ -8,7 +8,7 @@ ScryfallCode=PGTC [cards] 133★ R Skarrg Goliath @Karl Kopinski 152★ R Consuming Aberration @Volkan Baǵa -162★ R Fathom Mage @Dan Scott +162★ R Fathom Mage @Dan Murayama Scott 163 R Firemane Avenger @Ryan Barger 165★ R Foundry Champion @James Ryman 191★ R Rubblehulk @Cliff Childs diff --git a/forge-gui/res/editions/Gatecrash.txt b/forge-gui/res/editions/Gatecrash.txt index be1d5a87026..93641707303 100644 --- a/forge-gui/res/editions/Gatecrash.txt +++ b/forge-gui/res/editions/Gatecrash.txt @@ -16,7 +16,7 @@ ScryfallCode=GTC 2 C Angelic Edict @Trevor Claxton 3 R Angelic Skirmisher @David Rapoza 4 C Assault Griffin @Eric Velhagen -5 C Basilica Guards @Dan Scott +5 C Basilica Guards @Dan Murayama Scott 6 R Blind Obedience @Seb McKinnon 7 U Boros Elite @Willian Murai 8 C Court Street Denizen @Volkan Baǵa @@ -151,8 +151,8 @@ ScryfallCode=GTC 137 U Tower Defense @Seb McKinnon 138 C Verdant Haven @Daniel Ljunggren 139 U Wasteland Viper @Lucas Graciano -140 C Wildwood Rebirth @Dan Scott -141 R Alms Beast @Dan Scott +140 C Wildwood Rebirth @Dan Murayama Scott +141 R Alms Beast @Dan Murayama Scott 142 R Assemble the Legion @Eric Deschamps 143 M Aurelia, the Warleader @Slawomir Maniak 144 M Aurelia's Fury @Tyler Jacobson @@ -224,7 +224,7 @@ ScryfallCode=GTC 210 C Zhur-Taa Swine @Yeong-Hao Han 211 U Arrows of Justice @James Ryman 212 C Beckon Apparition @Cliff Childs -213 R Biomass Mutation @Dan Scott +213 R Biomass Mutation @Dan Murayama Scott 214 C Bioshift @Scott Chou 215 R Boros Reckoner @Howard Lyon 216 U Burning-Tree Emissary @Izzy diff --git a/forge-gui/res/editions/Global Series Jiang Yanggu & Mu Yanling.txt b/forge-gui/res/editions/Global Series Jiang Yanggu & Mu Yanling.txt index 838d6e7104f..e9916e8a500 100644 --- a/forge-gui/res/editions/Global Series Jiang Yanggu & Mu Yanling.txt +++ b/forge-gui/res/editions/Global Series Jiang Yanggu & Mu Yanling.txt @@ -41,7 +41,7 @@ ScryfallCode=GS1 33 C Breath of Fire @Xin-Yu Liu 34 C Aggressive Instinct @Wolk Sheep 35 C Confidence from Strength @Shinchuen Chen -36 M Journey for the Elixir @Qiu De En +36 R Journey for the Elixir @Qiu De En 37 C Cleansing Screech @Tingting Yeh 38 C Timber Gorge @Babyson Chen & Uzhen Lin 39 L Mountain @Gaga Zeng diff --git a/forge-gui/res/editions/Grand Prix Promos.txt b/forge-gui/res/editions/Grand Prix Promos.txt index ac596b05221..42e52155579 100644 --- a/forge-gui/res/editions/Grand Prix Promos.txt +++ b/forge-gui/res/editions/Grand Prix Promos.txt @@ -15,7 +15,7 @@ ScryfallCode=PGPX 2012a R Goblin Guide @Steve Prescott 2012b R Lotus Cobra @Terese Nielsen 2013a M Primeval Titan @Peter Mohrbacher -2013b R All Is Dust @Vincent Proce +2013b M All Is Dust @Vincent Proce 2014 M Batterskull @Igor Kieryluk 2015 M Griselbrand @Jaime Jones 2016 R Stoneforge Mystic @Johannes Voss diff --git a/forge-gui/res/editions/Guildpact Promos.txt b/forge-gui/res/editions/Guildpact Promos.txt index 1890ede40ec..b0b730b2be8 100644 --- a/forge-gui/res/editions/Guildpact Promos.txt +++ b/forge-gui/res/editions/Guildpact Promos.txt @@ -7,4 +7,4 @@ ScryfallCode=PGPT [cards] 142★ R Djinn Illuminatus @Michael Sutfin -144★ R Gruul Guildmage @Paolo Parente +144★ U Gruul Guildmage @Paolo Parente diff --git a/forge-gui/res/editions/Guildpact.txt b/forge-gui/res/editions/Guildpact.txt index e6cf5ad0cce..dea0cf9b17f 100644 --- a/forge-gui/res/editions/Guildpact.txt +++ b/forge-gui/res/editions/Guildpact.txt @@ -42,9 +42,9 @@ ScryfallCode=GPT 27 R Hatching Plans @Heather Hudson 28 C Infiltrator's Magemark @Brandon Kitkouski 29 R Leyline of Singularity @Zoltan Boros & Gabor Szikszai -30 R Mimeofacture @Dan Scott +30 R Mimeofacture @Dan Murayama Scott 31 R Quicken @Aleksi Briclot -32 C Repeal @Dan Scott +32 C Repeal @Dan Murayama Scott 33 C Runeboggle @Ron Spencer 34 R Sky Swallower @rk post 35 C Steamcore Weird @Justin Norman @@ -117,7 +117,7 @@ ScryfallCode=GPT 102 C Blind Hunter @Warren Mahy 103 R Borborygmos @Todd Lockwood 104 C Burning-Tree Bloodscale @Kev Walker -105 R Burning-Tree Shaman @Dan Scott +105 R Burning-Tree Shaman @Dan Murayama Scott 106 C Castigate @Darrell Riche 107 R Cerebral Vortex @Jeremy Jarvis 108 U Conjurer's Ban @Pete Venters @@ -125,7 +125,7 @@ ScryfallCode=GPT 110 R Dune-Brood Nephilim @Jim Murray 111 U Electrolyze @Zoltan Boros & Gabor Szikszai 112 U Feral Animist @Ron Spears -113 U Gelectrode @Dan Scott +113 U Gelectrode @Dan Murayama Scott 114 R Ghost Council of Orzhova @Greg Staples 115 R Glint-Eye Nephilim @Mark Zug 116 U Goblin Flectomancer @Matt Cavotta @@ -142,7 +142,7 @@ ScryfallCode=GPT 127 U Savage Twister @Luca Zontini 128 C Scab-Clan Mauler @Liam Sharp 129 U Schismotivate @Ron Spencer -130 U Skarrgan Skybreaker @Dan Scott +130 U Skarrgan Skybreaker @Dan Murayama Scott 131 U Souls of the Faultless @Pat Lee 132 R Stitch in Time @Jon Foster 133 C Streetbreaker Wurm @Greg Hildebrandt diff --git a/forge-gui/res/editions/Guilds of Ravnica Guild Kit.txt b/forge-gui/res/editions/Guilds of Ravnica Guild Kit.txt index f00bb4cb616..090c4f06dd9 100644 --- a/forge-gui/res/editions/Guilds of Ravnica Guild Kit.txt +++ b/forge-gui/res/editions/Guilds of Ravnica Guild Kit.txt @@ -24,7 +24,7 @@ ScryfallCode=GK1 15 R Glimpse the Unthinkable @Brandon Kitkouski 16 M Lazav, Dimir Mastermind @David Rapoza 17 R Mirko Vosk, Mind Drinker @Chase Stone -18 U Moroii @Dan Scott +18 U Moroii @Dan Murayama Scott 19 R Nightveil Specter @Min Yum 20 R Szadek, Lord of Secrets @Donato Giancola 21 U Warped Physique @Karl Kopinski @@ -44,8 +44,8 @@ ScryfallCode=GK1 35 R Cerebral Vortex @Jeremy Jarvis 36 R Djinn Illuminatus @Carl Critchlow 37 U Electrolyze @Zoltan Boros & Gabor Szikszai -38 U Gelectrode @Dan Scott -39 R Hypersonic Dragon @Dan Scott +38 U Gelectrode @Dan Murayama Scott +39 R Hypersonic Dragon @Dan Murayama Scott 40 R Invoke the Firemind @Zoltan Boros & Gabor Szikszai 41 U Izzet Charm @Zoltan Boros 42 U Nivix Guildmage @Scott M. Fischer @@ -60,7 +60,7 @@ ScryfallCode=GK1 51 U Darkblast @Randy Gallegos 52 U Slum Reaper @Karl Kopinski 53 C Stinkweed Imp @Nils Hamm -54 U Vigor Mortis @Dan Scott +54 U Vigor Mortis @Dan Murayama Scott 55 R Deadbridge Goliath @Chase Stone 56 C Elves of Deep Shadow @Justin Sweet 57 R Abrupt Decay @Svetlin Velinov diff --git a/forge-gui/res/editions/Guilds of Ravnica.txt b/forge-gui/res/editions/Guilds of Ravnica.txt index 3213314178e..a3475d24e0a 100644 --- a/forge-gui/res/editions/Guilds of Ravnica.txt +++ b/forge-gui/res/editions/Guilds of Ravnica.txt @@ -108,8 +108,8 @@ ScryfallCode=GRN 93 U Book Devourer @Kev Walker 94 C Command the Storm @Jason Rainville 95 C Cosmotronic Wave @Titus Lunter -96 C Direct Current @Dan Scott -97 U Electrostatic Field @Dan Scott +96 C Direct Current @Dan Murayama Scott +97 U Electrostatic Field @Dan Murayama Scott 98 R Erratic Cyclops @Milivoj Ćeran 99 R Experimental Frenzy @Simon Dominic 100 C Fearless Halberdier @Suzanne Helmigh @@ -234,7 +234,7 @@ ScryfallCode=GRN 219 C Vernadi Shieldmate @Matt Stewart 220 C Whisper Agent @Deruchenko Alexander 221 R Assure // Assemble @Jason A. Engle -222 R Connive // Concoct @Dan Scott +222 R Connive // Concoct @Dan Murayama Scott 223 U Discovery // Dispersal @Mark Behm 224 R Expansion // Explosion @Deruchenko Alexander 225 R Find // Finality @Tomasz Jedruszek diff --git a/forge-gui/res/editions/Historic Anthology 3.txt b/forge-gui/res/editions/Historic Anthology 3.txt index 612bffe7050..4c8cdcac8cf 100644 --- a/forge-gui/res/editions/Historic Anthology 3.txt +++ b/forge-gui/res/editions/Historic Anthology 3.txt @@ -29,7 +29,7 @@ ScryfallCode=HA3 21 C Krosan Tusker @Kev Walker 22 U Roar of the Wurm @Kev Walker 23 R Mirari's Wake @David Martin -24 M Akroma's Memorial @Dan Scott +24 M Akroma's Memorial @Dan Murayama Scott 25 R Ratchet Bomb @Austin Hsu 26 U Ancient Ziggurat @John Avon 27 M Maze's End @Cliff Childs diff --git a/forge-gui/res/editions/Historic Anthology 5.txt b/forge-gui/res/editions/Historic Anthology 5.txt index c1cf00e91bf..848596d1121 100644 --- a/forge-gui/res/editions/Historic Anthology 5.txt +++ b/forge-gui/res/editions/Historic Anthology 5.txt @@ -17,7 +17,7 @@ ScryfallCode=HA5 9 U Whirler Rogue @Winona Nelson 10 M Sheoldred, Whispering One @Jana Schirmer & Johannes Voss 11 C Vault Skirge @Brad Rigney -12 U Ancient Grudge @Ryan Yee +12 C Ancient Grudge @Ryan Yee 13 R Dragonstorm @Kev Walker 14 U Trash for Treasure @Lars Grant-West 15 M Urabrask the Hidden @Brad Rigney diff --git a/forge-gui/res/editions/Historic Anthology 6.txt b/forge-gui/res/editions/Historic Anthology 6.txt index 022356691e2..cd5bd84ea25 100644 --- a/forge-gui/res/editions/Historic Anthology 6.txt +++ b/forge-gui/res/editions/Historic Anthology 6.txt @@ -14,7 +14,7 @@ ScryfallCode=HA6 6 M Go-Shintai of Life's Origin @Alexander Mokhov 7 M Tarmogoyf @Filip Burburan 8 R Glimpse the Unthinkable @Brandon Kitkouski -9 M Chalice of the Void @Mark Zug +9 R Chalice of the Void @Mark Zug 10 R Retrofitter Foundry @Dmitry Burmak 11 C Darkmoss Bridge @Raoul Vitale 12 C Drossforge Bridge @Raoul Vitale diff --git a/forge-gui/res/editions/Historic Anthology 7.txt b/forge-gui/res/editions/Historic Anthology 7.txt index cb141464ab8..8c5907cfee9 100644 --- a/forge-gui/res/editions/Historic Anthology 7.txt +++ b/forge-gui/res/editions/Historic Anthology 7.txt @@ -9,7 +9,7 @@ ScryfallCode=HA7 1 M Sun Titan @Todd Lockwood 2 R Giver of Runes @Seb McKinnon 3 M Frost Titan @Mike Bierek -4 C Repeal @Dan Scott +4 C Repeal @Dan Murayama Scott 5 M Vendilion Clique @Willian Murai 6 M Grave Titan @Nils Hamm 7 C Echoing Decay @Greg Staples diff --git a/forge-gui/res/editions/Homelands.txt b/forge-gui/res/editions/Homelands.txt index b5c26b229b9..334b36b032b 100644 --- a/forge-gui/res/editions/Homelands.txt +++ b/forge-gui/res/editions/Homelands.txt @@ -38,7 +38,7 @@ ScryfallCode=HML 20 R Truce @Melissa A. Benson 21 U Aether Storm @Mark Tedin 22 R Baki's Curse @Nicola Leonard -23 R Chain Stasis @Pat Morrissey +23 R Chain Stasis @Pat Lewis 24 C Coral Reef @Amy Weber 25a C Dark Maze @Rob Alexander 25b C Dark Maze @Rob Alexander @@ -132,7 +132,7 @@ ScryfallCode=HML 96 R Rysorian Badger @Heather Hudson 97a C Shrink @Liz Danforth 97b C Shrink @Liz Danforth -98 U Spectral Bears @Pat Morrissey +98 U Spectral Bears @Pat Lewis 99a C Willow Faerie @Susan Van Camp 99b C Willow Faerie @Susan Van Camp 100 R Willow Priestess @Susan Van Camp @@ -149,8 +149,8 @@ ScryfallCode=HML 111 U An-Havva Township @Liz Danforth 112 U Aysen Abbey @Liz Danforth 113 U Castle Sengir @Pete Venters -114 U Koskun Keep @Pat Morrissey -115 U Wizards' School @Pat Morrissey +114 U Koskun Keep @Pat Lewis +115 U Wizards' School @Pat Lewis [tokens] kelp diff --git a/forge-gui/res/editions/Hour of Devastation.txt b/forge-gui/res/editions/Hour of Devastation.txt index 09a75f6c2ef..c48e663c645 100644 --- a/forge-gui/res/editions/Hour of Devastation.txt +++ b/forge-gui/res/editions/Hour of Devastation.txt @@ -96,7 +96,7 @@ ScryfallCode=HOU 79 C Torment of Venom @Johann Bodin 80 U Vile Manifestation @Jason Felix 81 C Without Weakness @Alex Konstad -82 C Wretched Camel @Dan Scott +82 C Wretched Camel @Dan Murayama Scott 83 U Abrade @Jonas De Ro 84 C Blur of Blades @Anna Steinbauer 85 U Burning-Fist Minotaur @Matt Stewart @@ -167,7 +167,7 @@ ScryfallCode=HOU 150 U Claim // Fame @Jason Rainville 151 U Struggle // Survive @Eric Deschamps 152 U Appeal // Authority @Jason Rainville -153 R Leave // Chance @Dan Scott +153 R Leave // Chance @Dan Murayama Scott 154 R Reason // Believe @Daarken 155 R Grind // Dust @Josh Hass 156 R Refuse // Cooperate @Yongjae Choi diff --git a/forge-gui/res/editions/IDW Comics Inserts.txt b/forge-gui/res/editions/IDW Comics Inserts.txt index e6500888057..36d0baa2148 100644 --- a/forge-gui/res/editions/IDW Comics Inserts.txt +++ b/forge-gui/res/editions/IDW Comics Inserts.txt @@ -11,15 +11,15 @@ ScryfallCode=PIDW 3 R Electrolyze @Karl Kopinski 4 R Feast of Blood @Christopher Moeller 5 R Arrest @Christopher Moeller -6 R Consume Spirit @Dan Scott +6 R Consume Spirit @Dan Murayama Scott 7 R Standstill @Matt Stewart 8 R Breath of Malfegor @Alex Horley-Orlandelli -9 R Turnabout @Dan Scott +9 R Turnabout @Dan Murayama Scott 10 R Voidmage Husher @Ryan Pancoast 11 R Ogre Arsonist @Chris Rahn 12 R Corrupt @Alex Horley-Orlandelli 13 R High Tide @Eric Deschamps -14 R Gaze of Granite @Dan Scott +14 R Gaze of Granite @Dan Murayama Scott 15 R Wash Out @Volkan Baǵa 16 R Acquire @Anthony Francisco 17 R Duress @Michael Komarck diff --git a/forge-gui/res/editions/Ice Age.txt b/forge-gui/res/editions/Ice Age.txt index 0e397265527..4da0f8ca92f 100644 --- a/forge-gui/res/editions/Ice Age.txt +++ b/forge-gui/res/editions/Ice Age.txt @@ -62,9 +62,9 @@ ScryfallCode=ICE 50 U Sacred Boon @Mike Raabe 51 R Seraph @Christopher Rush 52 C Shield Bearer @Dan Frazier -53 U Snow Hound @Pat Morrissey +53 U Snow Hound @Pat Lewis 54 U Swords to Plowshares @Kaja Foglio -55 C Warning @Pat Morrissey +55 C Warning @Pat Lewis 56 U White Scarab @Phil Foglio 57 C Arnjlot's Ascent @Drew Tucker 58 U Balduvian Conjurer @Mark Tedin @@ -90,7 +90,7 @@ ScryfallCode=ICE 78 C Illusionary Wall @Mark Poole 79 R Illusions of Grandeur @Quinton Hoover 80 C Infuse @Randy Gallegos -81 C Krovikan Sorcerer @Pat Morrissey +81 C Krovikan Sorcerer @Pat Lewis 82 R Magus of the Unseen @Kaja Foglio 83 R Mesmeric Trance @Dan Frazier 84 C Mistfolk @Quinton Hoover @@ -223,7 +223,7 @@ ScryfallCode=ICE 211 R Orcish Squatters @Richard Kane Ferguson 212 C Panic @Mike Kimble 213 C Pyroblast @Kaja Foglio -214 U Pyroclasm @Pat Morrissey +214 U Pyroclasm @Pat Lewis 215 C Sabretooth Tiger @Melissa A. Benson 216 C Shatter @Bryon Wackwitz 217 C Stone Rain @Kaja Foglio @@ -389,10 +389,10 @@ ScryfallCode=ICE 377 L Mountain @Tom Wänerstrand 378 L Mountain @Tom Wänerstrand 379 L Snow-Covered Mountain @Tom Wänerstrand -380 L Forest @Pat Morrissey -381 L Forest @Pat Morrissey -382 L Forest @Pat Morrissey -383 L Snow-Covered Forest @Pat Morrissey +380 L Forest @Pat Lewis +381 L Forest @Pat Lewis +382 L Forest @Pat Lewis +383 L Snow-Covered Forest @Pat Lewis [tokens] w_0_1_caribou diff --git a/forge-gui/res/editions/Iconic Masters.txt b/forge-gui/res/editions/Iconic Masters.txt index 4a61dd224a8..0345d587c33 100644 --- a/forge-gui/res/editions/Iconic Masters.txt +++ b/forge-gui/res/editions/Iconic Masters.txt @@ -79,7 +79,7 @@ ScryfallCode=IMA 67 C Mnemonic Wall @Trevor Claxton 68 C Ojutai's Breath @Kev Walker 69 C Phantom Monster @Richard Wright -70 C Repeal @Dan Scott +70 C Repeal @Dan Murayama Scott 71 C Riverwheel Aerialists @Jack Wang 72 C Shriekgeist @Raymond Swanland 73 U Skywise Teachings @Filip Burburan @@ -129,7 +129,7 @@ ScryfallCode=IMA 117 C Battle-Rattle Shaman @Warren Mahy 118 R Bogardan Hellkite @Scott M. Fischer 119 C Borderland Marauder @Scott M. Fischer -120 R Charmbreaker Devils @Dan Scott +120 R Charmbreaker Devils @Dan Murayama Scott 121 U Coordinated Assault @John Severin Brassell 122 R Crucible of Fire @Dominick Domingo 123 C Draconic Roar @Kev Walker @@ -178,7 +178,7 @@ ScryfallCode=IMA 166 U Heroes' Bane @Raymond Swanland 167 C Hunt the Weak @Lars Grant-West 168 U Hunting Pack @Jim Nelson -169 U Inspiring Call @Dan Scott +169 U Inspiring Call @Dan Murayama Scott 170 C Ivy Elemental @Ron Spencer 171 C Jaddi Offshoot @Daarken 172 R Jugan, the Rising Star @Filip Burburan @@ -210,7 +210,7 @@ ScryfallCode=IMA 198 U Electrolyze @Zoltan Boros & Gabor Szikszai 199 R Firemane Angel @Matt Cavotta 200 R Glimpse the Unthinkable @Brandon Kitkouski -201 R Hypersonic Dragon @Dan Scott +201 R Hypersonic Dragon @Dan Murayama Scott 202 U Jungle Barrier @Christine Choi 203 R Knight of the Reliquary @Michael Komarck 204 U Lightning Helix @Raymond Swanland diff --git a/forge-gui/res/editions/Ikoria Lair of Behemoths.txt b/forge-gui/res/editions/Ikoria Lair of Behemoths.txt index 44ba8072bb2..5b519451ecc 100644 --- a/forge-gui/res/editions/Ikoria Lair of Behemoths.txt +++ b/forge-gui/res/editions/Ikoria Lair of Behemoths.txt @@ -75,7 +75,7 @@ ScryfallCode=IKO 61 U Ominous Seas @Vincent Proce 62 C Phase Dolphin @Lie Setiawan 63 U Pollywog Symbiote @Simon Dominic -64 U Pouncing Shoreshark @Dan Scott +64 U Pouncing Shoreshark @Dan Murayama Scott 65 U Reconnaissance Mission @Johannes Voss 66 R Sea-Dasher Octopus @Chris Seaman 67 R Shark Typhoon @Caio Monteiro @@ -123,7 +123,7 @@ ScryfallCode=IKO 109 U Blitz of the Thunder-Raptor @Zack Stella 110 C Cathartic Reunion @Jakub Kasper 111 U Clash of Titans @Viktor Titov -112 C Cloudpiercer @Dan Scott +112 C Cloudpiercer @Dan Murayama Scott 113 C Drannith Stinger @Denman Rooke 114 R Everquill Phoenix @Lie Setiawan 115 C Ferocious Tigorilla @Antonio José Manzanedo @@ -164,7 +164,7 @@ ScryfallCode=IKO 150 C Excavation Mole @Lars Grant-West 151 U Exuberant Wolfbear @Jesper Ejsing 152 C Fertilid @Nicholas Gregory -153 C Flycatcher Giraffid @Dan Scott +153 C Flycatcher Giraffid @Dan Murayama Scott 154 C Fully Grown @Dmitry Burmak 155 R Gemrazer @Svetlin Velinov 156 U Glowstone Recluse @Yeong-Hao Han @@ -178,7 +178,7 @@ ScryfallCode=IKO 164 U Migration Path @Grzegorz Rutkowski 165 C Migratory Greathorn @Filip Burburan 166 U Monstrous Step @Chris Seaman -167 C Mosscoat Goriak @Dan Scott +167 C Mosscoat Goriak @Dan Murayama Scott 168 R Mythos of Brokkos @Seb McKinnon 169 C Plummet @Sidharth Chaturvedi 170 C Ram Through @Zoltan Boros @@ -236,7 +236,7 @@ ScryfallCode=IKO 222 R Jegantha, the Wellspring @Chris Rahn 223 U Jubilant Skybonder @Jesper Ejsing 224 R Kaheera, the Orphanguard @Ryan Pancoast -225 R Keruga, the Macrosage @Dan Scott +225 R Keruga, the Macrosage @Dan Murayama Scott 226 R Lurrus of the Dream-Den @Slawomir Maniak 227 R Lutri, the Spellchaser @Lie Setiawan 228 R Obosh, the Preypiercer @Daarken @@ -374,7 +374,7 @@ ScryfallCode=IKO 351 R Gyruda, Doom of Depths @Tyler Jacobson 352 R Jegantha, the Wellspring @Chris Rahn 353 R Kaheera, the Orphanguard @Ryan Pancoast -354 R Keruga, the Macrosage @Dan Scott +354 R Keruga, the Macrosage @Dan Murayama Scott 355 R Lurrus of the Dream-Den @Slawomir Maniak 356 R Lutri, the Spellchaser @Lie Setiawan 357 R Obosh, the Preypiercer @Daarken @@ -407,8 +407,8 @@ ScryfallCode=IKO 382 U Sprite Dragon @Simon Dominic 383 M Vadrok, Apex of Thunder @Johann Bodin 384 R Gyruda, Doom of Depths @Jesper Ejsing -385 C Mysterious Egg @ヨロイコウジ -386 R Dirge Bat @羽山晃平 +385 C Mysterious Egg @Yoroikoji +386 R Dirge Bat @Kohei Hayama 387 R Crystalline Giant @Kotakan [rebalanced] diff --git a/forge-gui/res/editions/Innistrad Crimson Vow Commander.txt b/forge-gui/res/editions/Innistrad Crimson Vow Commander.txt index 1e3f3b4669a..9c79875343c 100644 --- a/forge-gui/res/editions/Innistrad Crimson Vow Commander.txt +++ b/forge-gui/res/editions/Innistrad Crimson Vow Commander.txt @@ -11,7 +11,7 @@ ScryfallCode=VOC 3 M Donal, Herald of Wings @Wayne Reynolds 4 M Timothar, Baron of Bats @Jason A. Engle 5 R Drogskol Reinforcements @Antonio José Manzanedo -6 R Haunted Library @Justyna Gil +6 R Haunted Library @Justyna Dura 7 R Priest of the Blessed Graf @Irina Nordsol 8 R Rhoda, Geist Avenger @Randy Vargas 9 R Storm of Souls @Liiga Smilshkalne @@ -25,7 +25,7 @@ ScryfallCode=VOC 17 R Crossway Troublemakers @Aaron J. Riley 18 R Glass-Cast Heart @Alayna Danner 19 R Kamber, the Plunderer @Andrey Kuzinskiy -20 R Olivia's Wrath @Nestor Ossandon Leal +20 R Olivia's Wrath @Néstor Ossandón Leal 21 R Predators' Hour @Tomas Duchek 22 R Shadowgrange Archfiend @Oleksandr Kozachenko 23 R Arterial Alchemy @Caio Monteiro @@ -49,7 +49,7 @@ ScryfallCode=VOC 41 M Donal, Herald of Wings @Wayne Reynolds 42 M Timothar, Baron of Bats @Jason A. Engle 43 R Drogskol Reinforcements @Antonio José Manzanedo -44 R Haunted Library @Justyna Gil +44 R Haunted Library @Justyna Dura 45 R Priest of the Blessed Graf @Irina Nordsol 46 R Rhoda, Geist Avenger @Randy Vargas 47 R Storm of Souls @Liiga Smilshkalne @@ -63,7 +63,7 @@ ScryfallCode=VOC 55 R Crossway Troublemakers @Aaron J. Riley 56 R Glass-Cast Heart @Alayna Danner 57 R Kamber, the Plunderer @Andrey Kuzinskiy -58 R Olivia's Wrath @Nestor Ossandon Leal +58 R Olivia's Wrath @Néstor Ossandón Leal 59 R Predators' Hour @Tomas Duchek 60 R Shadowgrange Archfiend @Oleksandr Kozachenko 61 R Arterial Alchemy @Caio Monteiro @@ -101,7 +101,7 @@ ScryfallCode=VOC 93 R Mentor of the Meek @Jana Schirmer & Johannes Voss 94 R Mirror Entity @Zoltan Boros & Gabor Szikszai 95 R Oyobi, Who Split the Heavens @Christopher Moeller -96 U Promise of Bunrei @Stephen Tappin +96 R Promise of Bunrei @Stephen Tappin 97 R Remorseful Cleric @Grzegorz Rutkowski 98 U Spectral Shepherd @Johann Bodin 99 U Swords to Plowshares @Jesper Ejsing @@ -123,7 +123,7 @@ ScryfallCode=VOC 115 R Supreme Phantom @Robbie Trevino 116 R Verity Circle @Volkan Baǵa 117 U Ancient Craving @Rob Alexander -118 R Anowon, the Ruin Sage @Dan Scott +118 R Anowon, the Ruin Sage @Dan Murayama Scott 119 U Blood Artist @Johannes Voss 120 U Bloodline Necromancer @Joe Slucher 121 M Bloodlord of Vaasgoth @Greg Staples @@ -164,7 +164,7 @@ ScryfallCode=VOC 156 U Rakdos Charm @Zoltan Boros 157 U Stromkirk Captain @Jana Schirmer & Johannes Voss 158 R Vampiric Dragon @Gary Ruddell -159 C Arcane Signet @Dan Scott +159 C Arcane Signet @Dan Murayama Scott 160 C Azorius Locket @Craig J Spearing 161 U Azorius Signet @Raoul Vitale 162 C Charcoal Diamond @Lindsey Look @@ -185,7 +185,7 @@ ScryfallCode=VOC 177 C Path of Ancestry @Alayna Danner 178 R Port Town @Kamila Szutenberg 179 R Prairie Stream @Adam Paquette -180 U Rakdos Carnarium @John Avon +180 C Rakdos Carnarium @John Avon 181 R Shadowblood Ridge @Sam White 182 R Skycloud Expanse @Sam White 183 R Smoldering Marsh @Adam Paquette diff --git a/forge-gui/res/editions/Innistrad Crimson Vow.txt b/forge-gui/res/editions/Innistrad Crimson Vow.txt index 03a76940a1a..37ef374a9d7 100644 --- a/forge-gui/res/editions/Innistrad Crimson Vow.txt +++ b/forge-gui/res/editions/Innistrad Crimson Vow.txt @@ -28,9 +28,9 @@ Prerelease=6 Boosters, 1 RareMythic+ 17 M Hallowed Haunting @David Auden Nash 18 C Heron of Hope @Daarken 19 C Heron-Blessed Geist @Jason A. Engle -20 R Hopeful Initiate @Dan Scott +20 R Hopeful Initiate @Dan Murayama Scott 21 R Katilda, Dawnhart Martyr @Manuel Castañón -22 C Kindly Ancestor @Justyna Gil +22 C Kindly Ancestor @Justyna Dura 23 R Lantern Flare @Lie Setiawan 24 C Militia Rallier @Eelis Kyttanen 25 C Nebelgast Beguiler @Andreas Zafiratos @@ -44,7 +44,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 33 C Sanctify @Kasia 'Kafis' Zielińska 34 M Savior of Ollenbock @Aaron J. Riley 35 C Sigarda's Imprisonment @Bryan Sola -36 R Sigarda's Summons @Nestor Ossandon Leal +36 R Sigarda's Summons @Néstor Ossandón Leal 37 C Supernatural Rescue @Anastasia Ovchinnikova 38 R Thalia, Guardian of Thraben @Magali Villeneuve 39 C Traveling Minister @Slawomir Maniak @@ -108,7 +108,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 97 U Bloodsworn Squire @Darren Tan 98 R Bloodvial Purveyor @Fesbra 99 U Catapult Fodder @Jesper Ejsing -100 M Cemetery Desecrator @Dan Scott +100 M Cemetery Desecrator @Dan Murayama Scott 101 R Concealing Curtains @Brian Valeza 102 C Courier Bat @Ilse Gort 103 R Demonic Bargain @Sam Guay @@ -136,12 +136,12 @@ Prerelease=6 Boosters, 1 RareMythic+ 125 C Persistent Specimen @Scott Murphy 126 C Pointed Discussion @Jarel Threat 127 C Ragged Recluse @Lie Setiawan -128 U Restless Bloodseeker @Justyna Gil +128 U Restless Bloodseeker @Justyna Dura 129 C Rot-Tide Gargantua @Filip Burburan 130 U Skulking Killer @Alex Brock -131 M Sorin the Mirthless @Martina Fackova +131 M Sorin the Mirthless @Martina Fačková 132 M Toxrill, the Corrosive @Simon Dominic -133 U Undead Butler @Nestor Ossandon Leal +133 U Undead Butler @Néstor Ossandón Leal 134 C Undying Malice @Igor Kieryluk 135 C Unhallowed Phalanx @Nicholas Gregory 136 C Vampire's Kiss @Ilse Gort @@ -186,11 +186,11 @@ Prerelease=6 Boosters, 1 RareMythic+ 175 U Rending Flame @Olena Richards 176 U Runebound Wolf @Tomas Duchek 177 U Sanguine Statuette @Izzy -178 R Stensia Uprising @Dan Scott +178 R Stensia Uprising @Dan Murayama Scott 179 C Sure Strike @Lie Setiawan 180 U Vampires' Vengeance @Chris Cold 181 M Volatile Arsonist @Gabor Szikszai -182 C Voldaren Epicure @Martina Fackova +182 C Voldaren Epicure @Martina Fačková 183 U Voltaic Visionary @Francisco Miyara 184 C Weary Prisoner @Jason Rainville 185 C Apprentice Sharpshooter @Steve Prescott @@ -268,7 +268,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 257 C Honored Heirloom @Leanna Crossan 258 R Investigator's Journal @Yeong-Hao Han 259 U Lantern of the Lost @Chris Cold -260 C Wedding Invitation @Justyna Gil +260 C Wedding Invitation @Justyna Dura 261 R Deathcap Glade @Sam Burley 262 R Dreamroot Cascade @Sam Burley 263 C Evolving Wilds @Alayna Danner @@ -288,7 +288,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 277 L Forest @Indra Nugroho [borderless] -278 M Sorin the Mirthless @Justyna Gil +278 M Sorin the Mirthless @Justyna Dura 279 M Chandra, Dressed to Kill @Ekaterina Burmak 280 M Kaya, Geist Hunter @Raymond Swanland 281 R Deathcap Glade @Muhammad Firdaus @@ -323,7 +323,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 308 C Voldaren Epicure @Vi Szendrey (Cashile) 309 R Anje, Maid of Dishonor @Christian Angel 310 U Bloodtithe Harvester @Sami Makkonen -311 R Edgar, Charmed Groom @Nestor Ossandon Leal +311 R Edgar, Charmed Groom @Néstor Ossandón Leal 312 U Markov Purifier @Samuel Araya 313 U Markov Waltzer @Jason A. Engle 314 R Odric, Blood-Cursed @Anna Pavleeva @@ -341,11 +341,11 @@ Prerelease=6 Boosters, 1 RareMythic+ 326 R Old Rutstein @Mark Riddick 327 R Runo Stromkirk @Nico Delort 328 R Torens, Fist of the Angels @Cabrol -329 U Circle of Confinement @Dan Scott +329 U Circle of Confinement @Dan Murayama Scott 330 M Savior of Ollenbock @Johannes Voss 331 R Thalia, Guardian of Thraben @Magali Villeneuve 332 M Jacob Hauken, Inspector @Slawomir Maniak -333 U Thirst for Discovery @Dan Scott +333 U Thirst for Discovery @Dan Murayama Scott 334 R Falkenrath Forebear @Greg Staples 335 M Henrika Domnathi @Nils Hamm 336 U Innocent Traveler @Igor Kieryluk @@ -364,10 +364,10 @@ Prerelease=6 Boosters, 1 RareMythic+ 347 M Cemetery Protector @Chris Rallis 348 M Faithbound Judge @Svetlin Velinov 349 M Hallowed Haunting @David Auden Nash -350 R Hopeful Initiate @Dan Scott +350 R Hopeful Initiate @Dan Murayama Scott 351 R Lantern Flare @Lie Setiawan 352 M Savior of Ollenbock @Aaron J. Riley -353 R Sigarda's Summons @Nestor Ossandon Leal +353 R Sigarda's Summons @Néstor Ossandón Leal 354 R Voice of the Blessed @Anastasia Ovchinnikova 355 R Wedding Announcement @Caroline Gariba 356 M Cemetery Illuminator @Uriah Voth @@ -380,7 +380,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 363 R Overcharged Amalgam @Mike Jordana 364 R Patchwork Crawler @Fesbra 365 R Winged Portent @Nicholas Gregory -366 M Cemetery Desecrator @Dan Scott +366 M Cemetery Desecrator @Dan Murayama Scott 367 R Concealing Curtains @Brian Valeza 368 R Demonic Bargain @Sam Guay 369 R Dreadfeast Demon @Andrew Mar @@ -395,7 +395,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 378 R Ill-Tempered Loner @Grzegorz Rutkowski 379 R Kessig Wolfrider @Bram Sels 380 M Manaform Hellkite @Andrew Mar -381 R Stensia Uprising @Dan Scott +381 R Stensia Uprising @Dan Murayama Scott 382 M Volatile Arsonist @Gabor Szikszai 383 R Ascendant Packleader @Alessandra Pisano 384 M Avabruck Caretaker @Heonhwa Choe diff --git a/forge-gui/res/editions/Innistrad Double Feature.txt b/forge-gui/res/editions/Innistrad Double Feature.txt index a19ff771825..8f651659bdd 100644 --- a/forge-gui/res/editions/Innistrad Double Feature.txt +++ b/forge-gui/res/editions/Innistrad Double Feature.txt @@ -29,7 +29,7 @@ ScryfallCode=DBL 16 U Duelcraft Trainer @John Stanko 17 M Enduring Angel @Irina Nordsol 18 R Fateful Absence @Eric Deschamps -19 C Flare of Faith @Justyna Gil +19 C Flare of Faith @Justyna Dura 20 U Gavony Dawnguard @Micah Epstein 21 C Gavony Silversmith @Volkan Baǵa 22 C Gavony Trapper @Caio Monteiro @@ -55,7 +55,7 @@ ScryfallCode=DBL 42 C Baithook Angler @Uriah Voth 43 C Component Collector @Mark Behm 44 C Consider @Zezhou Chen -45 U Covetous Castaway @Dan Scott +45 U Covetous Castaway @Dan Murayama Scott 46 R Curse of Surveillance @Igor Kieryluk 47 U Delver of Secrets @Matt Stewart 48 C Devious Cover-Up @Colin Boyer @@ -175,9 +175,9 @@ ScryfallCode=DBL 162 M Sunstreak Phoenix @Brian Valeza 163 C Tavern Ruffian @Zoltan Boros 164 U Thermo-Alchemist @Raymond Swanland -165 U Village Watch @Nestor Ossandon Leal +165 U Village Watch @Néstor Ossandón Leal 166 U Voldaren Ambusher @Evyn Fong -167 C Voldaren Stinger @Martina Fackova +167 C Voldaren Stinger @Martina Fačková 168 R Augur of Autumn @Billy Christian 169 C Bird Admirer @Slawomir Maniak 170 C Bounding Wolf @Andrea Radeck @@ -263,7 +263,7 @@ ScryfallCode=DBL 250 R Wake to Slaughter @Chris Cold 251 U Winterthorn Blessing @Yeong-Hao Han 252 R The Celestus @Jonas De Ro -253 C Crossroads Candleguide @Dan Scott +253 C Crossroads Candleguide @Dan Murayama Scott 254 C Jack-o'-Lantern @Josu Hernaiz 255 U Moonsilver Key @Joseph Meehan 256 U Mystic Skull @Joe Slucher @@ -297,9 +297,9 @@ ScryfallCode=DBL 284 M Hallowed Haunting @David Auden Nash 285 C Heron of Hope @Daarken 286 C Heron-Blessed Geist @Jason A. Engle -287 R Hopeful Initiate @Dan Scott +287 R Hopeful Initiate @Dan Murayama Scott 288 R Katilda, Dawnhart Martyr @Manuel Castañón -289 C Kindly Ancestor @Justyna Gil +289 C Kindly Ancestor @Justyna Dura 290 R Lantern Flare @Lie Setiawan 291 C Militia Rallier @Eelis Kyttanen 292 C Nebelgast Beguiler @Andreas Zafiratos @@ -313,7 +313,7 @@ ScryfallCode=DBL 300 C Sanctify @Kasia 'Kafis' Zielińska 301 M Savior of Ollenbock @Aaron J. Riley 302 C Sigarda's Imprisonment @Bryan Sola -303 R Sigarda's Summons @Nestor Ossandon Leal +303 R Sigarda's Summons @Néstor Ossandón Leal 304 C Supernatural Rescue @Anastasia Ovchinnikova 305 R Thalia, Guardian of Thraben @Magali Villeneuve 306 C Traveling Minister @Slawomir Maniak @@ -377,7 +377,7 @@ ScryfallCode=DBL 364 U Bloodsworn Squire @Darren Tan 365 R Bloodvial Purveyor @Fesbra 366 U Catapult Fodder @Jesper Ejsing -367 M Cemetery Desecrator @Dan Scott +367 M Cemetery Desecrator @Dan Murayama Scott 368 R Concealing Curtains @Brian Valeza 369 C Courier Bat @Ilse Gort 370 R Demonic Bargain @Sam Guay @@ -405,12 +405,12 @@ ScryfallCode=DBL 392 C Persistent Specimen @Scott Murphy 393 C Pointed Discussion @Jarel Threat 394 C Ragged Recluse @Lie Setiawan -395 U Restless Bloodseeker @Justyna Gil +395 U Restless Bloodseeker @Justyna Dura 396 C Rot-Tide Gargantua @Filip Burburan 397 U Skulking Killer @Alex Brock -398 M Sorin the Mirthless @Martina Fackova +398 M Sorin the Mirthless @Martina Fačková 399 M Toxrill, the Corrosive @Simon Dominic -400 U Undead Butler @Nestor Ossandon Leal +400 U Undead Butler @Néstor Ossandón Leal 401 C Undying Malice @Igor Kieryluk 402 C Unhallowed Phalanx @Nicholas Gregory 403 C Vampire's Kiss @Ilse Gort @@ -455,11 +455,11 @@ ScryfallCode=DBL 442 U Rending Flame @Olena Richards 443 U Runebound Wolf @Tomas Duchek 444 U Sanguine Statuette @Izzy -445 R Stensia Uprising @Dan Scott +445 R Stensia Uprising @Dan Murayama Scott 446 C Sure Strike @Lie Setiawan 447 U Vampires' Vengeance @Chris Cold 448 M Volatile Arsonist @Gabor Szikszai -449 C Voldaren Epicure @Martina Fackova +449 C Voldaren Epicure @Martina Fačková 450 U Voltaic Visionary @Francisco Miyara 451 C Weary Prisoner @Jason Rainville 452 C Apprentice Sharpshooter @Steve Prescott @@ -537,7 +537,7 @@ ScryfallCode=DBL 524 C Honored Heirloom @Leanna Crossan 525 R Investigator's Journal @Yeong-Hao Han 526 U Lantern of the Lost @Chris Cold -527 C Wedding Invitation @Justyna Gil +527 C Wedding Invitation @Justyna Dura 528 R Deathcap Glade @Sam Burley 529 R Dreamroot Cascade @Sam Burley 530 C Evolving Wilds @Alayna Danner diff --git a/forge-gui/res/editions/Innistrad Midnight Hunt Commander.txt b/forge-gui/res/editions/Innistrad Midnight Hunt Commander.txt index 66c584a004d..6982a4fa356 100644 --- a/forge-gui/res/editions/Innistrad Midnight Hunt Commander.txt +++ b/forge-gui/res/editions/Innistrad Midnight Hunt Commander.txt @@ -12,8 +12,8 @@ ScryfallCode=MIC 4 M Kyler, Sigardian Emissary @Dmitry Burmak 5 R Celestial Judgment @Alexander Mokhov 6 R Curse of Conformity @Chris Cold -7 R Moorland Rescuer @Justyna Gil -8 R Sigarda's Vanguard @Martina Fackova +7 R Moorland Rescuer @Justyna Dura +8 R Sigarda's Vanguard @Martina Fačková 9 R Stalwart Pathlighter @Sidharth Chaturvedi 10 R Wall of Mourning @Kasia 'Kafis' Zielińska 11 R Cleaver Skaab @Johann Bodin @@ -34,7 +34,7 @@ ScryfallCode=MIC 26 R Heronblade Elite @Yigit Koroglu 27 R Kurbis, Harvest Celebrant @Irvin Rodriguez 28 R Ruinous Intrusion @Johann Bodin -29 R Sigardian Zealot @Justyna Gil +29 R Sigardian Zealot @Justyna Dura 30 R Somberwald Beastmaster @Marta Nael 31 M Avacyn's Memorial @Kasia 'Kafis' Zielińska 32 R Visions of Glory @Alexander Mokhov @@ -50,8 +50,8 @@ ScryfallCode=MIC 42 M Kyler, Sigardian Emissary @Dmitry Burmak 43 R Celestial Judgment @Alexander Mokhov 44 R Curse of Conformity @Chris Cold -45 R Moorland Rescuer @Justyna Gil -46 R Sigarda's Vanguard @Martina Fackova +45 R Moorland Rescuer @Justyna Dura +46 R Sigarda's Vanguard @Martina Fačková 47 R Stalwart Pathlighter @Sidharth Chaturvedi 48 R Wall of Mourning @Kasia 'Kafis' Zielińska 49 R Cleaver Skaab @Johann Bodin @@ -72,7 +72,7 @@ ScryfallCode=MIC 64 R Heronblade Elite @Yigit Koroglu 65 M Kurbis, Harvest Celebrant @Irvin Rodriguez 66 R Ruinous Intrusion @Johann Bodin -67 R Sigardian Zealot @Justyna Gil +67 R Sigardian Zealot @Justyna Dura 68 R Somberwald Beastmaster @Marta Nael 69 M Avacyn's Memorial @Kasia 'Kafis' Zielińska 70 R Visions of Glory @Alexander Mokhov @@ -102,7 +102,7 @@ ScryfallCode=MIC 94 U Swords to Plowshares @Sam Wolfe Connelly 95 R Unbreakable Formation @Matt Stewart 96 R Victory's Envoy @Sara Winters -97 R Aetherspouts @Dan Scott +97 R Aetherspouts @Dan Murayama Scott 98 C Distant Melody @Omar Rayyan 99 U Eternal Skylord @Johan Grenier 100 R Forgotten Creation @Izzy @@ -144,9 +144,9 @@ ScryfallCode=MIC 136 R Champion of Lambholt @Christopher Moeller 137 R Death's Presence @Ryan Barger 138 U Eternal Witness @Chris Rahn -139 C Growth Spasm @Dan Scott +139 C Growth Spasm @Dan Murayama Scott 140 R Gyre Sage @Tyler Jacobson -141 U Inspiring Call @Dan Scott +141 U Inspiring Call @Dan Murayama Scott 142 R Kessig Cagebreakers @Wayne England 143 R Shamanic Revelation @Cynthia Sheppard 144 R Somberwald Sage @Steve Argyle @@ -162,7 +162,7 @@ ScryfallCode=MIC 154 U Ruthless Deathfang @Filip Burburan 155 M Sigarda, Heron's Grace @Chris Rahn 156 U Trostani's Summoner @Howard Lyon -157 C Arcane Signet @Dan Scott +157 C Arcane Signet @Dan Murayama Scott 158 C Charcoal Diamond @Lindsey Look 159 C Commander's Sphere @Ryan Alexander Lee 160 R Lifecrafter's Bestiary @Izzy diff --git a/forge-gui/res/editions/Innistrad Midnight Hunt.txt b/forge-gui/res/editions/Innistrad Midnight Hunt.txt index d32c0407b63..691a18fa7e9 100644 --- a/forge-gui/res/editions/Innistrad Midnight Hunt.txt +++ b/forge-gui/res/editions/Innistrad Midnight Hunt.txt @@ -27,7 +27,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 16 U Duelcraft Trainer @John Stanko 17 M Enduring Angel @Irina Nordsol 18 R Fateful Absence @Eric Deschamps -19 C Flare of Faith @Justyna Gil +19 C Flare of Faith @Justyna Dura 20 U Gavony Dawnguard @Micah Epstein 21 C Gavony Silversmith @Volkan Baǵa 22 C Gavony Trapper @Caio Monteiro @@ -53,7 +53,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 42 C Baithook Angler @Uriah Voth 43 C Component Collector @Mark Behm 44 C Consider @Zezhou Chen -45 U Covetous Castaway @Dan Scott +45 U Covetous Castaway @Dan Murayama Scott 46 R Curse of Surveillance @Igor Kieryluk 47 U Delver of Secrets @Matt Stewart 48 C Devious Cover-Up @Colin Boyer @@ -102,7 +102,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 90 U Bloodtithe Collector @Maria Zolotukhina 91 R Champion of the Perished @Kekai Kotaki 92 U Covert Cutpurse @John Stanko -93 C Crawl from the Cellar @Igor Kieryluk +93 C Crawl from the Cellar @Igor Krstic 94 R Curse of Leeches @Uriah Voth 95 C Defenestrate @Darek Zabrocki 96 C Diregraf Horde @Alex Negrea @@ -174,9 +174,9 @@ Prerelease=6 Boosters, 1 RareMythic+ 162 M Sunstreak Phoenix @Brian Valeza 163 C Tavern Ruffian @Zoltan Boros 164 U Thermo-Alchemist @Raymond Swanland -165 U Village Watch @Nestor Ossandon Leal +165 U Village Watch @Néstor Ossandón Leal 166 U Voldaren Ambusher @Evyn Fong -167 C Voldaren Stinger @Martina Fackova +167 C Voldaren Stinger @Martina Fačková 168 R Augur of Autumn @Billy Christian 169 C Bird Admirer @Slawomir Maniak 170 C Bounding Wolf @Andrea Radeck @@ -262,7 +262,7 @@ Prerelease=6 Boosters, 1 RareMythic+ 250 R Wake to Slaughter @Chris Cold 251 U Winterthorn Blessing @Yeong-Hao Han 252 R The Celestus @Jonas De Ro -253 C Crossroads Candleguide @Dan Scott +253 C Crossroads Candleguide @Dan Murayama Scott 254 C Jack-o'-Lantern @Josu Hernaiz 255 U Moonsilver Key @Joseph Meehan 256 U Mystic Skull @Joe Slucher diff --git a/forge-gui/res/editions/Innistrad.txt b/forge-gui/res/editions/Innistrad.txt index e4d36841dbb..ef992e76f53 100644 --- a/forge-gui/res/editions/Innistrad.txt +++ b/forge-gui/res/editions/Innistrad.txt @@ -27,7 +27,7 @@ ScryfallCode=ISD 13 R Elite Inquisitor @Jana Schirmer & Johannes Voss 14 C Feeling of Dread @John Stanko 15 U Fiend Hunter @Wayne Reynolds -16 U Gallows Warden @Dan Scott +16 U Gallows Warden @Dan Murayama Scott 17 R Geist-Honored Monk @Clint Cearley 18 C Ghostly Possession @Howard Lyon 19 U Intangible Virtue @Clint Cearley @@ -65,7 +65,7 @@ ScryfallCode=ISD 51 C Delver of Secrets @Nils Hamm 52 C Deranged Assistant @Nils Hamm 53 U Dissipate @Tomasz Jedruszek -54 C Dream Twist @Dan Scott +54 C Dream Twist @Dan Murayama Scott 55 C Forbidden Alchemy @David Rapoza 56 C Fortress Crab @Vincent Proce 57 C Frightful Delusion @Anthony Palumbo @@ -145,7 +145,7 @@ ScryfallCode=ISD 131 C Bloodcrazed Neonate @Cynthia Sheppard 132 C Brimstone Volley @Eytan Zana 133 U Burning Vengeance @Raymond Swanland -134 R Charmbreaker Devils @Dan Scott +134 R Charmbreaker Devils @Dan Murayama Scott 135 C Crossway Vampire @Mark Evans 136 R Curse of Stalked Prey @Christopher Moeller 137 U Curse of the Nightly Hunt @Daarken @@ -219,7 +219,7 @@ ScryfallCode=ISD 205 R Splinterfright @Eric Deschamps 206 C Travel Preparations @Vincent Proce 207 M Tree of Redemption @Vincent Proce -208 U Ulvenwald Mystics @Dan Scott +208 U Ulvenwald Mystics @Dan Murayama Scott 209 C Villagers of Estwald @Kev Walker 210 C Woodland Sleuth @Tomasz Jedruszek 211 U Wreath of Geists @Jason A. Engle diff --git a/forge-gui/res/editions/Ixalan.txt b/forge-gui/res/editions/Ixalan.txt index 595c96a47b0..f9f009c098c 100644 --- a/forge-gui/res/editions/Ixalan.txt +++ b/forge-gui/res/editions/Ixalan.txt @@ -46,7 +46,7 @@ ScryfallCode=XLN 33 R Sanguine Sacrament @Bastien L. Deharme 34 R Settle the Wreckage @Dimitar Marinski 35 U Sheltering Light @Gabor Szikszai -36 C Shining Aerosaur @Dan Scott +36 C Shining Aerosaur @Dan Murayama Scott 37 C Skyblade of the Legion @Daarken 38 C Slash of Talons @Magali Villeneuve 39 U Steadfast Armasaur @Greg Opalinski @@ -120,7 +120,7 @@ ScryfallCode=XLN 107 C Fathom Fleet Cutthroat @Josu Hernaiz 108 U Grim Captain's Call @Winona Nelson 109 U Heartless Pillage @Sara Winters -110 U Kitesail Freebooter @Dan Scott +110 U Kitesail Freebooter @Dan Murayama Scott 111 U Lurking Chupacabra @YW Tang 112 C March of the Drowned @Ben Wootten 113 C Mark of the Vampire @Yongjae Choi @@ -166,7 +166,7 @@ ScryfallCode=XLN 153 U Otepec Huntmaster @Daarken 154 R Rampaging Ferocidon @Jonathan Kuo 155 U Raptor Hatchling @Even Amundsen -156 R Repeating Barrage @Dan Scott +156 R Repeating Barrage @Dan Murayama Scott 157 U Rigging Runner @Simon Dominic 158 C Rile @Igor Kieryluk 159 M Rowdy Crew @Steve Prescott @@ -218,7 +218,7 @@ ScryfallCode=XLN 205 U Savage Stomp @Wayne Reynolds 206 R Shapers' Sanctuary @Zezhou Chen 207 U Slice in Twain @Even Amundsen -208 U Snapping Sailback @Dan Scott +208 U Snapping Sailback @Dan Murayama Scott 209 C Spike-Tailed Ceratops @Lius Lasahido 210 U Thundering Spineback @Tomasz Jedruszek 211 C Tishana's Wayfinder @Shreya Shetty @@ -228,7 +228,7 @@ ScryfallCode=XLN 215 R Waker of the Wilds @Shreya Shetty 216 U Wildgrowth Walker @Ryan Alexander Lee 217 M Admiral Beckett Brass @Jason Rainville -218 U Belligerent Brontodon @Dan Scott +218 U Belligerent Brontodon @Dan Murayama Scott 219 U Call to the Feast @Yongjae Choi 220 U Deadeye Plunderers @Greg Opalinski 221 U Dire Fleet Captain @Yongjae Choi diff --git a/forge-gui/res/editions/Journey into Nyx.txt b/forge-gui/res/editions/Journey into Nyx.txt index 704e5e3ad7f..b474d618fa7 100644 --- a/forge-gui/res/editions/Journey into Nyx.txt +++ b/forge-gui/res/editions/Journey into Nyx.txt @@ -30,7 +30,7 @@ ScryfallCode=JOU 18 U Nyx-Fleece Ram @Terese Nielsen 19 C Oppressive Rays @Mark Zug 20 C Oreskos Swiftclaw @James Ryman -21 U Phalanx Formation @Dan Scott +21 U Phalanx Formation @Dan Murayama Scott 22 U Quarry Colossus @Todd Lockwood 23 U Reprisal @Raymond Swanland 24 U Sightless Brawler @Johann Bodin diff --git a/forge-gui/res/editions/Judge Gift Cards 2021.txt b/forge-gui/res/editions/Judge Gift Cards 2021.txt index 7b25b619221..39eee4b3e25 100644 --- a/forge-gui/res/editions/Judge Gift Cards 2021.txt +++ b/forge-gui/res/editions/Judge Gift Cards 2021.txt @@ -7,8 +7,8 @@ ScryfallCode=PJ21 [cards] 1 M Morophon, the Boundless @Svetlin Velinov -2 M K'rrik, Son of Yawgmoth @Daniel Ljunggren -3 M Edgar Markov @Martina Fackova +2 R K'rrik, Son of Yawgmoth @Daniel Ljunggren +3 M Edgar Markov @Martina Fačková 4 M Ezuri, Claw of Progress @Livia Prima 5 M The Gitrog Monster @Nils Hamm 6 R Grand Arbiter Augustin IV @Matt Stewart diff --git a/forge-gui/res/editions/Judge Gift Cards 2023.txt b/forge-gui/res/editions/Judge Gift Cards 2023.txt index 8b05f09c1fb..aed5008ff01 100644 --- a/forge-gui/res/editions/Judge Gift Cards 2023.txt +++ b/forge-gui/res/editions/Judge Gift Cards 2023.txt @@ -7,7 +7,7 @@ ScryfallCode=P23 [cards] 1 R Painter's Servant @Mike Dringenberg -2 R Grindstone @Dan Scott +2 R Grindstone @Dan Murayama Scott 3 R Mycosynth Lattice @Anthony S. Waters 4 R Retrofitter Foundry @Dmitry Burmak 5 M Sword of War and Peace @Chris Rahn diff --git a/forge-gui/res/editions/Jumpstart 2022.txt b/forge-gui/res/editions/Jumpstart 2022.txt index 0eda1af093c..875349e1ed4 100644 --- a/forge-gui/res/editions/Jumpstart 2022.txt +++ b/forge-gui/res/editions/Jumpstart 2022.txt @@ -46,7 +46,7 @@ ScryfallCode=J22 38 R Benevolent Hydra @Eric Deschamps 39 C Giant Ladybug @Marta Nael 40 M Kibo, Uktabi Prince @Zoltan Boros -41 U Mild-Mannered Librarian @Justyna Gil +41 U Mild-Mannered Librarian @Justyna Dura 42 U Primeval Herald @Tatiana Kirgetova 43 U Rampaging Growth @Mike Jordana 44 R Runadi, Behemoth Caller @Billy Christian @@ -57,7 +57,7 @@ ScryfallCode=J22 49 C Infernal Idol @Drew Tucker 50 U Instruments of War @Drew Tucker 51 U Planar Atlas @Alexander Forssberg -52 U Arrest @Katana Canata +52 U Arrest @Canata Katana 53 R Balan, Wandering Knight @Mai Okuma 54 U Eidolon of Rhetoric @Yakotakos 55 U Emancipation Angel @Hisashi Momose @@ -67,7 +67,7 @@ ScryfallCode=J22 59 U Valorous Stance @Susumu Kuroi 60 U Kasmina, Enigmatic Mentor @Ayuko 61 U Merrow Reejerey @Penguu -62 U Mirror Image @Yukie Tajima +62 U Mirror Image @Yuchi Yuki 63 C Preordain @Ayuko 64 U Spectral Sailor @Fuzichoco 65 C Spellstutter Sprite @Sila @@ -86,7 +86,7 @@ ScryfallCode=J22 78 C Drannith Stinger @Daisuke Tatsuma 79 M Kiki-Jiki, Mirror Breaker @Ishikawa Kenta 80 U Rapacious Dragon @Yumi Ozuno -81 U Rigging Runner @Midon +81 U Rigging Runner @MiDQN 82 C Spear Spewer @Ryuichi Sakuma 83 C Thermo-Alchemist @Azutaro 84 C Thrill of Possibility @Daisuke Tatsuma @@ -192,7 +192,7 @@ ScryfallCode=J22 184 R Felidar Retreat @Ralph Horsley 185 C Forced Worship @Karl Kopinski 186 C Gallant Cavalry @Craig J Spearing -187 U Gallows Warden @Dan Scott +187 U Gallows Warden @Dan Murayama Scott 188 C Giant Ox @Joe Slucher 189 M Gideon, Champion of Justice @David Rapoza 190 C Gideon's Lawkeeper @Steve Prescott @@ -298,7 +298,7 @@ ScryfallCode=J22 290 C Elite Instructor @Mike Sass 291 U Erdwal Illuminator @Seb McKinnon 292 U Eternity Snare @Min Yum -293 C Eyekite @Dan Scott +293 C Eyekite @Dan Murayama Scott 294 R Faerie Formation @Ryan Yee 295 C Faerie Seer @Colin Boyer 296 U Faerie Vandal @Paul Scott Canavan @@ -337,11 +337,11 @@ ScryfallCode=J22 329 C Octoprophet @Grzegorz Rutkowski 330 C One With the Wind @Naomi Baker 331 U Oneirophage @Martina Pilcerova -332 C Opt @Dan Scott +332 C Opt @Dan Murayama Scott 333 U Overwhelmed Apprentice @Jason Rainville 334 U Perilous Voyage @Wesley Burt 335 C Pestermite @Christopher Moeller -336 C Pilfering Hawk @Dan Scott +336 C Pilfering Hawk @Dan Murayama Scott 337 C Press for Answers @Steve Prescott 338 U Renowned Weaponsmith @Eric Deschamps 339 U River Sneak @Slawomir Maniak @@ -377,7 +377,7 @@ ScryfallCode=J22 369 R Wake Thrasher @Jesper Ejsing 370 C Watertrap Weaver @Josu Hernaiz 371 R Wavebreak Hippocamp @Caio Monteiro -372 C Weldfast Wingsmith @Dan Scott +372 C Weldfast Wingsmith @Dan Murayama Scott 373 U Windrider Patrol @Svetlin Velinov 374 C Winter's Rest @Mila Pesic 375 C Alley Strangler @Efflam Mercier @@ -430,7 +430,7 @@ ScryfallCode=J22 422 R Graveblade Marauder @Jason Rainville 423 R Gravecrawler @Steven Belledin 424 U Gravedigger @Dermot Power -425 C Grotesque Mutation @Dan Scott +425 C Grotesque Mutation @Dan Murayama Scott 426 C Hooded Assassin @Matt Stewart 427 C Ill-Gotten Inheritance @Winona Nelson 428 U Inner Demon @Mark Behm @@ -586,7 +586,7 @@ ScryfallCode=J22 578 C Outnumber @Tyler Jacobson 579 C Pillar of Flame @Dave Kendall 580 C Prickly Marmoset @Simon Dominic -581 R Professional Face-Breaker @Dan Scott +581 R Professional Face-Breaker @Dan Murayama Scott 582 U Pyre-Sledge Arsonist @Kekai Kotaki 583 C Quakefoot Cyclops @Mike Bierek 584 C Raking Claws @Slawomir Maniak @@ -701,7 +701,7 @@ ScryfallCode=J22 693 C Naga Vitalist @James Ryman 694 U Nantuko Cultivator @Jehan Choo 695 U Nessian Hornbeetle @Jason Felix -696 R Nightpack Ambusher @Dan Scott +696 R Nightpack Ambusher @Dan Murayama Scott 697 C Oashra Cultivator @Sara Winters 698 C Ondu Giant @Igor Kieryluk 699 U Ordeal of Nylea @David Palumbo @@ -774,7 +774,7 @@ ScryfallCode=J22 766 C Explorer's Scope @Vincent Proce 767 C Gearsmith Guardian @Deruchenko Alexander 768 C Gleaming Barrier @Jason Felix -769 C Goldvein Pick @Dan Scott +769 C Goldvein Pick @Dan Murayama Scott 770 U Golem Artisan @Nic Klein 771 U Hammer of Ruin @Vincent Proce 772 R Hangarback Walker @Daarken @@ -796,11 +796,11 @@ ScryfallCode=J22 788 R Panharmonicon @Volkan Baǵa 789 U Phyrexian Ironfoot @Stephan Martiniere 790 U Pierce Strider @Igor Kieryluk -791 C Pilgrim's Eye @Dan Scott +791 C Pilgrim's Eye @Dan Murayama Scott 792 R Psychosis Crawler @Stephan Martiniere 793 C Raiders' Karve @Aaron Miller 794 C Runed Servitor @Mike Bierek -795 C Self-Assembler @Noah Bradley +795 C Self-Assembler @Toraji 796 U Shambling Suit @Nicholas Gregory 797 R Solemn Simulacrum @Donato Giancola 798 R Steel Overseer @Chris Rahn diff --git a/forge-gui/res/editions/Jumpstart.txt b/forge-gui/res/editions/Jumpstart.txt index d7ac7753e20..43289380316 100644 --- a/forge-gui/res/editions/Jumpstart.txt +++ b/forge-gui/res/editions/Jumpstart.txt @@ -24,7 +24,7 @@ ScryfallCode=JMP 16 C Nocturnal Feeder @Cristi Balanescu 17 M Tinybones, Trinket Thief @Jason Rainville 18 R Witch of the Moors @Caio Monteiro -19 U Chained Brute @Dan Scott +19 U Chained Brute @Dan Murayama Scott 20 M Immolating Gyre @Campbell White 21 R Lightning Phoenix @Lie Setiawan 22 C Lightning Visionary @Bryan Sola @@ -85,7 +85,7 @@ ScryfallCode=JMP 77 L Forest @Johannes Voss 78 C Terramorphic Expanse @Andreas Rocha 79 U Aegis of the Heavens @Anthony Palumbo -80 C Aerial Assault @Dan Scott +80 C Aerial Assault @Dan Murayama Scott 81 U Affa Guard Hound @Ryan Pancoast 82 R Ajani's Chosen @Wayne Reynolds 83 U Alabaster Mage @Izzy @@ -193,7 +193,7 @@ ScryfallCode=JMP 185 C Thought Scour @David Rapoza 186 C Towering-Wave Mystic @Jason Rainville 187 R Vedalken Archmage @Kev Walker -188 C Vedalken Entrancer @Dan Scott +188 C Vedalken Entrancer @Dan Murayama Scott 189 C Voyage's End @Chris Rahn 190 U Wall of Lost Thoughts @Adam Paquette 191 U Warden of Evos Isle @Nils Hamm @@ -308,7 +308,7 @@ ScryfallCode=JMP 300 C Borderland Marauder @Scott M. Fischer 301 C Borderland Minotaur @Greg Staples 302 U Chain Lightning @Christopher Moeller -303 R Charmbreaker Devils @Dan Scott +303 R Charmbreaker Devils @Dan Murayama Scott 304 U Cinder Elemental @Svetlin Velinov 305 C Collateral Damage @Ryan Barger 306 U Dance with Devils @Wayne England @@ -408,8 +408,8 @@ ScryfallCode=JMP 400 U Ghirapur Guide @Scott Murphy 401 C Grave Bramble @Anthony Jones 402 U Hunter's Insight @Terese Nielsen -403 C Initiate's Companion @Dan Scott -404 U Inspiring Call @Dan Scott +403 C Initiate's Companion @Dan Murayama Scott +404 U Inspiring Call @Dan Murayama Scott 405 C Ironshell Beetle @Kev Walker 406 U Irresistible Prey @Jesper Ejsing 407 U Keeper of Fables @Alex Konstad @@ -439,7 +439,7 @@ ScryfallCode=JMP 431 U Somberwald Stag @Lake Hurwitz 432 R Soul of the Harvest @Eytan Zana 433 C Sporemound @Svetlin Velinov -434 C Sylvan Brushstrider @Dan Scott +434 C Sylvan Brushstrider @Dan Murayama Scott 435 C Sylvan Ranger @Christopher Moeller 436 R Thragtusk @Nils Hamm 437 U Thundering Spineback @Tomasz Jedruszek @@ -481,7 +481,7 @@ ScryfallCode=JMP 473 C Marauder's Axe @Mitchell Malloy 474 U Meteor Golem @Lake Hurwitz 475 C Myr Sire @Jaime Jones -476 U Perilous Myr @Jason Felix +476 C Perilous Myr @Jason Felix 477 C Pirate's Cutlass @John Stanko 478 C Prophetic Prism @John Avon 479 U Rogue's Gloves @Cyril Van Der Haegen @@ -491,7 +491,7 @@ ScryfallCode=JMP 483 C Scroll of Avacyn @Cliff Childs 484 U Scuttlemutt @Jeremy Jarvis 485 C Signpost Scarecrow @Jung Park -486 C Skittering Surveyor @Dan Scott +486 C Skittering Surveyor @Dan Murayama Scott 487 U Suspicious Bookcase @Anastasia Ovchinnikova 488 C Terrarion @Titus Lunter 489 U Unstable Obelisk @William Wu diff --git a/forge-gui/res/editions/Jurassic World Collection.txt b/forge-gui/res/editions/Jurassic World Collection.txt index 8badc884d1d..71a291711d0 100644 --- a/forge-gui/res/editions/Jurassic World Collection.txt +++ b/forge-gui/res/editions/Jurassic World Collection.txt @@ -8,7 +8,7 @@ ScryfallCode=REX [cards] 1 R Don't Move @Inkognit 2 R Cresting Mosasaurus @Chris Rallis -3 R Spitting Dilophosaurus @Francisco Padilla +3 R Spitting Dilophosaurus @Francisco Badilla 4 R Hunting Velociraptor @Caio Monteiro 5 R Life Finds a Way @Inkognit 6 R Savage Order @Jesper Ejsing @@ -40,7 +40,7 @@ ScryfallCode=REX 26b C Command Tower @Xabi Gaztelua 27 R Don't Move @Inkognit 28 R Cresting Mosasaurus @Chris Rallis -29 R Spitting Dilophosaurus @Francisco Padilla +29 R Spitting Dilophosaurus @Francisco Badilla 30 R Hunting Velociraptor @Caio Monteiro 31 R Life Finds a Way @Inkognit 32 R Savage Order @Jesper Ejsing diff --git a/forge-gui/res/editions/Kaladesh Remastered.txt b/forge-gui/res/editions/Kaladesh Remastered.txt index 553cc317199..748e3f08b85 100644 --- a/forge-gui/res/editions/Kaladesh Remastered.txt +++ b/forge-gui/res/editions/Kaladesh Remastered.txt @@ -21,7 +21,7 @@ ScryfallCode=KLR 11 C Built to Last @Svetlin Velinov 12 M Cataclysmic Gearhulk @Victor Adame Minguez 13 C Conviction @John Stanko -14 C Countless Gears Renegade @Dan Scott +14 C Countless Gears Renegade @Dan Murayama Scott 15 C Dawnfeather Eagle @Sidharth Chaturvedi 16 C Eddytrail Hawk @James Paick 17 U Fairgrounds Warden @Izzy @@ -65,7 +65,7 @@ ScryfallCode=KLR 55 C Malfunction @Izzy 56 C Metallic Rebuke @Eric Deschamps 57 M Metallurgic Summonings @Kieran Yanner -58 U Minister of Inquiries @Dan Scott +58 U Minister of Inquiries @Dan Murayama Scott 59 C Nimble Innovator @Slawomir Maniak 60 R Padeem, Consul of Innovation @Matt Stewart 61 R Paradoxical Outcome @Nils Hamm @@ -79,7 +79,7 @@ ScryfallCode=KLR 69 C Thriving Turtle @Jeff Simpson 70 M Torrential Gearhulk @Svetlin Velinov 71 U Trophy Mage @Anna Steinbauer -72 C Weldfast Wingsmith @Dan Scott +72 C Weldfast Wingsmith @Dan Murayama Scott 73 R Whir of Invention @Christine Choi 74 U Wind-Kin Raiders @Shreya Shetty 75 C Aether Poisoner @Yongjae Choi @@ -95,7 +95,7 @@ ScryfallCode=KLR 85 C Fen Hauler @Sidharth Chaturvedi 86 C Fortuitous Find @Tomasz Jedruszek 87 U Foundry Hornet @Christopher Moeller -88 C Foundry Screecher @Dan Scott +88 C Foundry Screecher @Dan Murayama Scott 89 C Fourth Bridge Prowler @John Silva 90 U Fretwork Colony @Christopher Burdett 91 U Gifted Aetherborn @Ryan Yee @@ -113,7 +113,7 @@ ScryfallCode=KLR 103 C Night Market Lookout @Nils Hamm 104 M Noxious Gearhulk @Lius Lasahido 105 C Rush of Vitality @Lindsey Look -106 U Sly Requisitioner @Dan Scott +106 U Sly Requisitioner @Dan Murayama Scott 107 C Subtle Strike @David Palumbo 108 U Underhanded Designs @Anastasia Ovchinnikova 109 U Vengeful Rebel @Tomasz Jedruszek @@ -159,7 +159,7 @@ ScryfallCode=KLR 149 C Sweatworks Brawler @Zack Stella 150 C Welding Sparks @Raymond Swanland 151 C Appetite for the Unnatural @Zoltan Boros -152 U Arborback Stomper @Dan Scott +152 U Arborback Stomper @Dan Murayama Scott 153 U Armorcraft Judge @David Palumbo 154 C Attune with Aether @Wesley Burt 155 U Blossoming Defense @Anastasia Ovchinnikova @@ -196,7 +196,7 @@ ScryfallCode=KLR 186 C Wild Wanderer @Sidharth Chaturvedi 187 R Wildest Dreams @Daniel Ljunggren 188 M Ajani Unyielding @Kieran Yanner -189 U Cloudblazer @Dan Scott +189 U Cloudblazer @Dan Murayama Scott 190 U Contraband Kingpin @Anna Steinbauer 191 R Dark Intimations @Chase Stone 192 R Depala, Pilot Exemplar @Greg Opalinski @@ -215,7 +215,7 @@ ScryfallCode=KLR 205 U Restoration Gearsmith @John Severin Brassell 206 U Rogue Refiner @Victor Adame Minguez 207 M Saheeli Rai @Willian Murai -208 U Spire Patrol @Dan Scott +208 U Spire Patrol @Dan Murayama Scott 209 M Tezzeret the Schemer @Ryan Alexander Lee 210 U Tezzeret's Touch @Chris Rallis 211 U Unlicensed Disintegration @Izzy diff --git a/forge-gui/res/editions/Kaladesh.txt b/forge-gui/res/editions/Kaladesh.txt index bb0fc9bd024..9e263e75408 100644 --- a/forge-gui/res/editions/Kaladesh.txt +++ b/forge-gui/res/editions/Kaladesh.txt @@ -65,11 +65,11 @@ ScryfallCode=KLD 50 U Glint-Nest Crane @Christopher Moeller 51 C Hightide Hermit @Jason Kang 52 R Insidious Will @Anthony Palumbo -53 U Janjeet Sentry @Dan Scott +53 U Janjeet Sentry @Dan Murayama Scott 54 U Long-Finned Skywhale @Cliff Childs 55 C Malfunction @Izzy 56 M Metallurgic Summonings @Kieran Yanner -57 U Minister of Inquiries @Dan Scott +57 U Minister of Inquiries @Dan Murayama Scott 58 C Nimble Innovator @Slawomir Maniak 59 R Padeem, Consul of Innovation @Matt Stewart 60 R Paradoxical Outcome @Nils Hamm @@ -81,7 +81,7 @@ ScryfallCode=KLD 66 C Thriving Turtle @Jeff Simpson 67 M Torrential Gearhulk @Svetlin Velinov 68 C Vedalken Blademaster @Lake Hurwitz -69 C Weldfast Wingsmith @Dan Scott +69 C Weldfast Wingsmith @Dan Murayama Scott 70 C Wind Drake @Todd Lockwood 71 U Aetherborn Marauder @Kieran Yanner 72 C Ambitious Aetherborn @Josu Hernaiz @@ -94,7 +94,7 @@ ScryfallCode=KLD 79 U Embraal Bruiser @Sidharth Chaturvedi 80 U Essence Extraction @Min Yum 81 C Fortuitous Find @Tomasz Jedruszek -82 C Foundry Screecher @Dan Scott +82 C Foundry Screecher @Dan Murayama Scott 83 U Fretwork Colony @Christopher Burdett 84 R Gonti, Lord of Luxury @Daarken 85 U Harsh Scrutiny @Vincent Proce @@ -154,7 +154,7 @@ ScryfallCode=KLD 139 C Wayward Giant @Filip Burburan 140 C Welding Sparks @Raymond Swanland 141 C Appetite for the Unnatural @Zoltan Boros -142 U Arborback Stomper @Dan Scott +142 U Arborback Stomper @Dan Murayama Scott 143 R Architect of the Untamed @Sara Winters 144 U Armorcraft Judge @David Palumbo 145 C Attune with Aether @Wesley Burt @@ -188,7 +188,7 @@ ScryfallCode=KLD 173 C Wild Wanderer @Sidharth Chaturvedi 174 R Wildest Dreams @Daniel Ljunggren 175 C Wily Bandar @Yeong-Hao Han -176 U Cloudblazer @Dan Scott +176 U Cloudblazer @Dan Murayama Scott 177 U Contraband Kingpin @Anna Steinbauer 178 R Depala, Pilot Exemplar @Greg Opalinski 179 M Dovin Baan @Tyler Jacobson diff --git a/forge-gui/res/editions/Kaldheim Commander.txt b/forge-gui/res/editions/Kaldheim Commander.txt index a533120efcf..59d7e5dfabb 100644 --- a/forge-gui/res/editions/Kaldheim Commander.txt +++ b/forge-gui/res/editions/Kaldheim Commander.txt @@ -16,7 +16,7 @@ ScryfallCode=KHC 8 R Tales of the Ancestors @Colin Boyer 9 R Pact of the Serpent @Donato Giancola 10 R Ruthless Winnower @Zoltan Boros -11 R Serpent's Soul-Jar @Dan Scott +11 R Serpent's Soul-Jar @Dan Murayama Scott 12 R Bounty of Skemfar @Colin Boyer 13 R Crown of Skemfar @Jason Felix 14 R Wolverine Riders @Jesper Ejsing @@ -83,13 +83,13 @@ ScryfallCode=KHC 75 U Sylvan Messenger @PINDURSKI 76 C Timberwatch Elf @Yohann Schepacz 77 U Voice of Many @Greg Staples -78 R Voice of the Woods @Nestor Ossandon Leal +78 R Voice of the Woods @Néstor Ossandón Leal 79 U Wirewood Channeler @Alan Pollack 80 C Wood Elves @Josh Hass 81 U Abomination of Llanowar @Vincent Proce 82 R Brago, King Eternal @Karla Ortiz 83 R Casualties of War @Tomasz Jedruszek -84 U Cloudblazer @Dan Scott +84 U Cloudblazer @Dan Murayama Scott 85 U Empyrean Eagle @Ryan Yee 86 U Golgari Findbroker @Bram Sels 87 U Migratory Route @Winona Nelson @@ -97,11 +97,11 @@ ScryfallCode=KHC 89 U Moldervine Reclamation @Antonio José Manzanedo 90 U Poison-Tip Archer @Dmitry Burmak 91 U Putrefy @Clint Cearley -92 U Shaman of the Pack @Dan Scott +92 U Shaman of the Pack @Dan Murayama Scott 93 U Soulherder @Seb McKinnon 94 U Thunderclap Wyvern @Jason Felix 95 U Twinblade Assassins @Campbell White -96 C Arcane Signet @Dan Scott +96 C Arcane Signet @Dan Murayama Scott 97 U Azorius Signet @Raoul Vitale 98 U Burnished Hart @Yeong-Hao Han 99 C Commander's Sphere @Ryan Alexander Lee diff --git a/forge-gui/res/editions/Kaldheim.txt b/forge-gui/res/editions/Kaldheim.txt index f9d2ff6fb5c..8beaa4dac11 100644 --- a/forge-gui/res/editions/Kaldheim.txt +++ b/forge-gui/res/editions/Kaldheim.txt @@ -66,7 +66,7 @@ ScryfallCode=KHM 52 R Cyclone Summoner @Andrey Kuzinskiy 53 C Depart the Realm @Denman Rooke 54 C Disdainful Stroke @Campbell White -55 C Draugr Thought-Thief @Dan Scott +55 C Draugr Thought-Thief @Dan Murayama Scott 56 U Frost Augur @Cristi Balanescu 57 C Frostpeak Yeti @Chris Rahn 58 U Frostpyre Arcanist @Sam Rowan @@ -82,7 +82,7 @@ ScryfallCode=KHM 68 C Mistwalker @Steve Prescott 69 R Mystic Reflection @YW Tang 70 M Orvar, the All-Form @Chase Stone -71 C Pilfering Hawk @Dan Scott +71 C Pilfering Hawk @Dan Murayama Scott 72 C Ravenform @Anna Steinbauer 73 R Reflections of Littjara @Aaron Miller 74 C Run Ashore @Svetlin Velinov @@ -90,10 +90,10 @@ ScryfallCode=KHM 76 U Saw It Coming @Randy Vargas 77 C Strategic Planning @Donato Giancola 78 C Undersea Invader @Lorenzo Mastroianni -79 R Blood on the Snow @Martina Fackova +79 R Blood on the Snow @Martina Fačková 80 U Bloodsky Berserker @Gabor Szikszai 81 M Burning-Rune Demon @Andrew Mar -82 R Crippling Fear @Nestor Ossandon Leal +82 R Crippling Fear @Néstor Ossandón Leal 83 C Deathknell Berserker @Zoltan Boros 84 C Demonic Gifts @Kekai Kotaki 85 C Dogged Pursuit @Jason Rainville @@ -117,7 +117,7 @@ ScryfallCode=KHM 103 U Poison the Cup @Colin Boyer 104 C Priest of the Haunted Edge @Aaron Miller 105 C Raise the Draugr @Randy Vargas -106 U Return Upon the Tide @Martina Fackova +106 U Return Upon the Tide @Martina Fačková 107 R Rise of the Dread Marn @Titus Lunter 108 U Rune of Mortality @Yeong-Hao Han 109 R Skemfar Avenger @Randy Vargas @@ -143,7 +143,7 @@ ScryfallCode=KHM 129 C Demon Bolt @Campbell White 130 U Doomskar Titan @Johann Bodin 131 R Dragonkin Berserker @Lie Setiawan -132 U Dual Strike @Nestor Ossandon Leal +132 U Dual Strike @Néstor Ossandón Leal 133 U Dwarven Hammer @Raoul Vitale 134 C Dwarven Reinforcements @Andrey Kuzinskiy 135 U Fearless Liberator @Zezhou Chen @@ -250,7 +250,7 @@ ScryfallCode=KHM 236 U Colossal Plow @Joe Slucher 237 R Cosmos Elixir @Volkan Baǵa 238 C Funeral Longboat @Donato Giancola -239 C Goldvein Pick @Dan Scott +239 C Goldvein Pick @Dan Murayama Scott 240 R Maskwood Nexus @Jason A. Engle 241 R Pyre of Heroes @Piotr Dura 242 C Raiders' Karve @Aaron Miller @@ -258,7 +258,7 @@ ScryfallCode=KHM 244 U Replicating Ring @Olena Richards 245 U Runed Crown @Randy Gallegos 246 C Scorn Effigy @Wayne Reynolds -247 U Weathered Runestone @Dan Scott +247 U Weathered Runestone @Dan Murayama Scott 248 C Alpine Meadow @Piotr Dura 249 C Arctic Treeline @Alayna Danner 250 U Axgard Armory @Cliff Childs @@ -365,9 +365,9 @@ ScryfallCode=KHM 345 R Icebreaker Kraken @Chris Cold 346 R Mystic Reflection @YW Tang 347 R Reflections of Littjara @Aaron Miller -348 R Blood on the Snow @Martina Fackova +348 R Blood on the Snow @Martina Fačková 349 M Burning-Rune Demon @Andrew Mar -350 R Crippling Fear @Nestor Ossandon Leal +350 R Crippling Fear @Néstor Ossandón Leal 351 R Draugr Necromancer @David Rapoza 352 R Dream Devourer @David Rapoza 353 M Eradicator Valkyrie @Tyler Jacobson @@ -436,7 +436,7 @@ ScryfallCode=KHM A40 M A-Alrund, God of the Cosmos @Kieran Yanner A41 M A-Alrund's Epiphany @Kieran Yanner A51 R A-Cosmos Charger @Nils Hamm -A106 U A-Return Upon the Tide @Martina Fackova +A106 U A-Return Upon the Tide @Martina Fačková A109 R A-Skemfar Avenger @Randy Vargas A139 M A-Goldspan Dragon @Andrew Mar A165 C A-Elderleaf Mentor @Zoltan Boros diff --git a/forge-gui/res/editions/Kamigawa Neon Dynasty Commander.txt b/forge-gui/res/editions/Kamigawa Neon Dynasty Commander.txt index 66746dd008c..438860f3e2e 100644 --- a/forge-gui/res/editions/Kamigawa Neon Dynasty Commander.txt +++ b/forge-gui/res/editions/Kamigawa Neon Dynasty Commander.txt @@ -26,15 +26,15 @@ ScryfallCode=NEC 18 R Akki Battle Squad @Steve Prescott 19 R Collision of Realms @Piotr Dura 20 R Kami of Celebration @Milivoj Ćeran -21 R Komainu Battle Armor @Nestor Ossandon Leal +21 R Komainu Battle Armor @Néstor Ossandón Leal 22 R Smoke Spirits' Aid @Uriah Voth 23 R Unquenchable Fury @Livia Prima 24 R Ascendant Acolyte @Micah Epstein 25 R Concord with the Kami @Marta Nael 26 R Kosei, Penitent Warlord @Matt Stewart -27 R One with the Kami @Justyna Gil +27 R One with the Kami @Justyna Dura 28 R Rampant Rejuvenator @Andrey Kuzinskiy -29 R Silkguard @Dan Scott +29 R Silkguard @Dan Murayama Scott 30 R Tanuki Transplanter @Oleksandr Kozachenko 31 R Myojin of Blooming Dawn @Yigit Koroglu 32 M Yoshimaru, Ever Faithful @Ilse Gort @@ -65,7 +65,7 @@ ScryfallCode=NEC 57 R Akki Battle Squad @Steve Prescott 58 R Collision of Realms @Piotr Dura 59 R Kami of Celebration @Milivoj Ćeran -60 R Komainu Battle Armor @Nestor Ossandon Leal +60 R Komainu Battle Armor @Néstor Ossandón Leal 61 R Myojin of Roaring Blades @Jason A. Engle 62 R Smoke Spirits' Aid @Uriah Voth 63 R Unquenchable Fury @Livia Prima @@ -74,9 +74,9 @@ ScryfallCode=NEC 66 M Go-Shintai of Life's Origin @Alexander Mokhov 67 R Kosei, Penitent Warlord @Matt Stewart 68 R Myojin of Towering Might @Ryan Pancoast -69 R One with the Kami @Justyna Gil +69 R One with the Kami @Justyna Dura 70 R Rampant Rejuvenator @Andrey Kuzinskiy -71 R Silkguard @Dan Scott +71 R Silkguard @Dan Murayama Scott 72 R Tanuki Transplanter @Oleksandr Kozachenko 73 M Chishiro, the Shattered Blade @Lius Lasahido 74 M Kaima, the Fractured Calm @Filip Burburan @@ -149,7 +149,7 @@ ScryfallCode=NEC 141 U Raff Capashen, Ship's Mage @John Stanko 142 U Rhythm of the Wild @Tomasz Jedruszek 143 R Ulasht, the Hate Seed @Nottsuo -144 C Arcane Signet @Dan Scott +144 C Arcane Signet @Dan Murayama Scott 145 U Azorius Signet @Raoul Vitale 146 R Blackblade Reforged @Chris Rahn 147 R Bonehoard @Chippy @@ -169,7 +169,7 @@ ScryfallCode=NEC 161 U Sol Ring @Mike Bierek 162 R Solemn Simulacrum @Donato Giancola 163 U Swiftfoot Boots @Svetlin Velinov -164 R Sword of Vengeance @Dan Scott +164 R Sword of Vengeance @Dan Murayama Scott 165 M Weatherlight @Jaime Jones 166 R Cinder Glade @Adam Paquette 167 C Command Tower @Ryan Yee diff --git a/forge-gui/res/editions/Kamigawa Neon Dynasty.txt b/forge-gui/res/editions/Kamigawa Neon Dynasty.txt index 8dcc2430b6f..df6c9b3aa5e 100644 --- a/forge-gui/res/editions/Kamigawa Neon Dynasty.txt +++ b/forge-gui/res/editions/Kamigawa Neon Dynasty.txt @@ -52,7 +52,7 @@ ScryfallCode=NEO 39 C Sunblade Samurai @Aaron Miller 40 U Touch the Spirit Realm @Marta Nael 41 C Wanderer's Intervention @Cristi Balanescu -42 M The Wandering Emperor @William Arnold +42 M The Wandering Emperor @Tommy Arnold 43 U When We Were Young @Eric Deschamps 44 U Acquisition Octopus @Francisco Miyara 45 U Anchor to Reality @Alix Branwyn @@ -67,7 +67,7 @@ ScryfallCode=NEO 54 C Futurist Sentinel @Daniel Ljunggren 55 U Go-Shintai of Lost Wisdom @Johannes Voss 56 C Guardians of Oboro @Anna Steinbauer -57 R Inventive Iteration @Nestor Ossandon Leal +57 R Inventive Iteration @Néstor Ossandón Leal 58 R Invoke the Winds @Olivier Bernard 59 M Jin-Gitaxias, Progress Tyrant @Chase Stone 60 M Kairi, the Swirling Sky @Tyler Jacobson @@ -138,7 +138,7 @@ ScryfallCode=NEO 125 C Twisted Embrace @Betty Jiang 126 C Undercity Scrounger @Mike Jordana 127 U Unforgiving One @Fariba Khamseh -128 C Virus Beetle @Dan Scott +128 C Virus Beetle @Dan Murayama Scott 129 C You Are Already Dead @Zoltan Boros 130 C Akki Ember-Keeper @April Prime 131 C Akki Ronin @Olivier Bernard @@ -167,7 +167,7 @@ ScryfallCode=NEO 154 R March of Reckless Joy @Fiona Hsieh 155 R Ogre-Head Helm @Viko Menezes 156 C Peerless Samurai @Micah Epstein -157 U Rabbit Battery @Justyna Gil +157 U Rabbit Battery @Justyna Dura 158 U Reinforced Ronin @Kekai Kotaki 159 R Scrap Welder @Simon Dominic 160 C Scrapyard Steelbreaker @Eric Wilkerson @@ -250,7 +250,7 @@ ScryfallCode=NEO 237 M Spirit-Sister's Call @Dominik Mayer 238 M Tamiyo, Compleated Sage @Chris Rahn 239 C Automated Artificer @Izzy -240 U Bronze Cudgels @Nestor Ossandon Leal +240 U Bronze Cudgels @Néstor Ossandón Leal 241 C Brute Suit @Raymond Swanland 242 U Circuit Mender @Hector Ortiz 243 U Containment Construct @Julian Kok Joon Wen @@ -260,7 +260,7 @@ ScryfallCode=NEO 247 U High-Speed Hoverbike @Julian Kok Joon Wen 248 C Iron Apprentice @Kekai Kotaki 249 R Mechtitan Core @Victor Adame Minguez -250 R Mirror Box @Nestor Ossandon Leal +250 R Mirror Box @Néstor Ossandón Leal 251 C Network Terminal @Andreas Zafiratos 252 C Ninja's Kunai @Tomasz Jedruszek 253 C Papercraft Decoy @Brian Valeza @@ -336,7 +336,7 @@ ScryfallCode=NEO 308 M Tamiyo, Compleated Sage @Chris Rahn 309 C Eiganjo Exemplar @Yamada Rokkaku 310 C Imperial Subduer @Yunomachi -311 U Norika Yamazaki, the Poet @Xiaji +311 U Norika Yamazaki, the Poet @Xiaji & Yangyang 312 U Selfless Samurai @Ishikawa Kenta 313 C Seven-Tail Mentor @Aogachou 314 U Sky-Blessed Samurai @Misei Ito @@ -346,7 +346,7 @@ ScryfallCode=NEO 318 C Nezumi Bladeblesser @Kemonomichi 319 C Akki Ronin @Nijimaarc 320 R Goro-Goro, Disciple of Ryusei @Rorubei -321 U Heiko Yamazaki, the General @Xiaji +321 U Heiko Yamazaki, the General @Xiaji & Yangyang 322 C Peerless Samurai @Yosuke Adachi 323 U Reinforced Ronin @Inuchiyo Meimaru 324 U Upriser Renegade @Maji @@ -376,7 +376,7 @@ ScryfallCode=NEO 348 U Kappa Tech-Wrecker @Yoshiro Ambe 349 R Spring-Leaf Avenger @Hirokorin 350 M Kaito Shizuki @Hagiya Kaoru -351 R Kotose, the Silent Spider @Penekor +351 R Kotose, the Silent Spider @PE-nekoR 352 R Satoru Umezawa @Raita Kazama 353 U Silver-Fur Master @Fukuzo Katsura 354 R The Restoration of Eiganjo @yo-ne @@ -410,7 +410,7 @@ ScryfallCode=NEO 382 R Soul Transfer @Dai-XT 383 M Explosive Singularity @Ari 384 R Invoke Calamity @ZOUNOSE -385 R Lizard Blades @Penekor +385 R Lizard Blades @PE-nekoR 386 R March of Reckless Joy @Miyaki Hajime 387 R Ogre-Head Helm @Dai-XT 388 R Scrap Welder @Areku Nishiki @@ -426,7 +426,7 @@ ScryfallCode=NEO 398 R Hinata, Dawn-Crowned @Ryota Murayama 399 R Satsuki, the Living Lore @Domco. 400 M Spirit-Sister's Call @RYUTETSU -401 R Eater of Virtue @Katana Canata +401 R Eater of Virtue @Canata Katana 402 R Mechtitan Core @Naochika Morishita 403 R Mirror Box @Mid 404 R Reckoner Bankbuster @Yoshiya @@ -459,7 +459,7 @@ ScryfallCode=NEO 440 R Lion Sash @Yongjae Choi 441 R March of Otherworldly Light @Nils Hamm 442 R The Restoration of Eiganjo @Titus Lunter -443 R Inventive Iteration @Nestor Ossandon Leal +443 R Inventive Iteration @Néstor Ossandón Leal 444 R Invoke the Winds @Olivier Bernard 445 M Jin-Gitaxias, Progress Tyrant @Chase Stone 446 M Kairi, the Swirling Sky @Tyler Jacobson @@ -514,7 +514,7 @@ ScryfallCode=NEO 495 M Spirit-Sister's Call @Dominik Mayer 496 R Eater of Virtue @Tuan Duong Chu 497 R Mechtitan Core @Victor Adame Minguez -498 R Mirror Box @Nestor Ossandon Leal +498 R Mirror Box @Néstor Ossandón Leal 499 R Reckoner Bankbuster @Steve Prescott 500 R Surgehacker Mech @Wisnu Tan 501 R Boseiju, Who Endures @Chris Ostrowski diff --git a/forge-gui/res/editions/Khans of Tarkir.txt b/forge-gui/res/editions/Khans of Tarkir.txt index 067ca6f502b..b3c441c332f 100644 --- a/forge-gui/res/editions/Khans of Tarkir.txt +++ b/forge-gui/res/editions/Khans of Tarkir.txt @@ -30,7 +30,7 @@ ScryfallCode=KTK 16 C Mardu Hateblade @Ryan Alexander Lee 17 C Mardu Hordechief @Torstein Nordstrand 18 R Master of Pearls @David Gaillet -19 C Rush of Battle @Dan Scott +19 C Rush of Battle @Dan Murayama Scott 20 C Sage-Eye Harrier @Chase Stone 21 C Salt Road Patrol @Scott Murphy 22 U Seeker of the Way @Craig J Spearing @@ -191,7 +191,7 @@ ScryfallCode=KTK 177 U Highspire Mantis @Igor Kieryluk 178 U Icefeather Aven @Slawomir Maniak 179 R Ivorytusk Fortress @Jasper Sandner -180 R Jeskai Ascendancy @Dan Scott +180 R Jeskai Ascendancy @Dan Murayama Scott 181 U Jeskai Charm @Mathias Kollros 182 R Kheru Lich Lord @Karl Kopinski 183 U Kin-Tree Invocation @Ryan Alexander Lee @@ -306,7 +306,7 @@ ScryfallCode=KTK 211y R Villainous Wealth @Josu Solano 218y U Cranial Archive @Igor Krstic 236y U Mystic Monastery @Josu Solano -237y C Nomad Outpost @Kamila Szutenberg +237y U Nomad Outpost @Kamila Szutenberg [tokens] w_3_4_bird_flying diff --git a/forge-gui/res/editions/Legacy Championship.txt b/forge-gui/res/editions/Legacy Championship.txt index 16beb99b4c0..17215fc70c0 100644 --- a/forge-gui/res/editions/Legacy Championship.txt +++ b/forge-gui/res/editions/Legacy Championship.txt @@ -9,27 +9,27 @@ ScryfallCode=OLGC 2011 R Force of Will @Matt Stewart 2012 R Brainstorm @Chris Rahn 2013 U Wasteland @Steven Belledin -2014 M Gaea's Cradle @Filip Burburan -2015 M Tundra @Raoul Vitale -2016EU M Underground Sea @Filip Burburan -2016NA M Badlands @Filip Burburan -2017EU M Taiga @Mark Poole -2017NA M Savannah @Mark Poole -2018 M Scrubland @Mark Poole -2018A M Plateau @Mark Poole -2018NA M Volcanic Island @Mark Poole +2014 S Gaea's Cradle @Filip Burburan +2015 S Tundra @Raoul Vitale +2016EU S Underground Sea @Filip Burburan +2016NA S Badlands @Filip Burburan +2017EU S Taiga @Mark Poole +2017NA S Savannah @Mark Poole +2018 S Scrubland @Mark Poole +2018A S Plateau @Mark Poole +2018NA S Volcanic Island @Mark Poole 2019 M Tropical Island @Mark Poole -2019A M Bayou @Raoul Vitale -2019NA M City of Traitors @Ralph Horsley +2019A S Bayou @Raoul Vitale +2019NA S City of Traitors @Ralph Horsley 2020A M Karakas @Rob Alexander 2020B M Rishadan Port @Chris Seaman 2020C M Maze of Ith @Milivoj Ćeran 2021A M Wasteland @Mark Tedin 2021B M Bayou @Sidharth Chaturvedi 2021C M Sylvan Library @Raoul Vitale -2022A M Gaea's Cradle @Ralph Horsley -2022B M Scrubland @Raoul Vitale -2022C M The Tabernacle at Pendrell Vale @Milivoj Ćeran +2022A S Gaea's Cradle @Ralph Horsley +2022B S Scrubland @Raoul Vitale +2022C S The Tabernacle at Pendrell Vale @Milivoj Ćeran 2023 M Lightning Bolt @rk post 2023A M Volcanic Island @Mark Tedin 2023EU M Force of Will @Alan Pollack diff --git a/forge-gui/res/editions/Legendary Cube.txt b/forge-gui/res/editions/Legendary Cube.txt index 295d94f664f..3c624700ed3 100644 --- a/forge-gui/res/editions/Legendary Cube.txt +++ b/forge-gui/res/editions/Legendary Cube.txt @@ -7,7 +7,7 @@ Type=Online ScryfallCode=PZ1 [cards] -1 R Bastion Protector @Victor Adame Minguez +1 U Bastion Protector @Victor Adame Minguez 2 R Containment Priest @John Stanko 3 R Dawnbreak Reclaimer @Tyler Jacobson 4 U Ghostly Prison @Wayne England @@ -62,7 +62,7 @@ ScryfallCode=PZ1 53 U Anger @John Avon 54 R Awaken the Sky Tyrant @Adam Paquette 55 R Chaos Warp @Trevor Claxton -56 M Daretti, Scrap Savant @Dan Scott +56 M Daretti, Scrap Savant @Dan Murayama Scott 57 R Diaochan, Artful Beauty @Miao Aili 58 R Dream Pillager @Min Yum 59 U Faithless Looting @Gabor Szikszai @@ -71,7 +71,7 @@ ScryfallCode=PZ1 62 R Goblin Sharpshooter @Wayne Reynolds 63 R Magus of the Wheel @Carl Frank 64 R Meteor Blast @Mike Sass -65 R Mizzix's Mastery @Dan Scott +65 R Mizzix's Mastery @Dan Murayama Scott 66 U Punishing Fire @Christopher Moeller 67 R Rite of the Raging Storm @Svetlin Velinov 68 U Vow of Lightning @Svetlin Velinov @@ -134,7 +134,7 @@ ScryfallCode=PZ1 125 R Sandstone Oracle @Eric Deschamps 126 R Scroll Rack @Heather Hudson 127 R Scytheclaw @James Paick -128 U Seal of the Guildpact @Franz Vohwinkel +128 R Seal of the Guildpact @Franz Vohwinkel 129 U Sol Ring @Mike Bierek 130 U Swiftfoot Boots @Svetlin Velinov 131 U Thought Vessel @rk post diff --git a/forge-gui/res/editions/Lorwyn.txt b/forge-gui/res/editions/Lorwyn.txt index 031d0fb06ad..eb93dac18a4 100644 --- a/forge-gui/res/editions/Lorwyn.txt +++ b/forge-gui/res/editions/Lorwyn.txt @@ -32,7 +32,7 @@ ScryfallCode=LRW 19 U Harpoon Sniper @Dominick Domingo 20 C Hillcomber Giant @Ralph Horsley 21 R Hoofprints of the Stag @Anthony S. Waters -22 C Judge of Currents @Dan Scott +22 C Judge of Currents @Dan Murayama Scott 23 C Kinsbaile Balloonist @Zoltan Boros & Gabor Szikszai 24 C Kinsbaile Skirmisher @Thomas Denmark 25 C Kithkin Greatheart @Greg Staples @@ -153,7 +153,7 @@ ScryfallCode=LRW 140 C Skeletal Changeling @Alan Pollack 141 C Spiderwig Boggart @Larry MacDougall 142 U Squeaking Pie Sneak @Jeff Miracola -143 C Thieving Sprite @Dan Scott +143 C Thieving Sprite @Dan Murayama Scott 144 U Thorntooth Witch @William O'Connor 145 R Thoughtseize @Aleksi Briclot 146 C Warren Pilferers @Wayne Reynolds @@ -197,7 +197,7 @@ ScryfallCode=LRW 184 C Lowland Oaf @Jeff Easley 185 C Mudbutton Torchrunner @Steve Ellis 186 C Needle Drop @Greg Staples -187 R Nova Chaser @Dan Scott +187 R Nova Chaser @Dan Murayama Scott 188 U Rebellion of the Flamekin @Dan Dos Santos 189 C Smokebraider @Anthony S. Waters 190 C Soulbright Flamekin @Kev Walker @@ -206,7 +206,7 @@ ScryfallCode=LRW 193 U Tar Pitcher @Omar Rayyan 194 C Tarfire @Omar Rayyan 195 U Thundercloud Shaman @Greg Staples -196 R Wild Ricochet @Dan Scott +196 R Wild Ricochet @Dan Murayama Scott 197 C Battlewand Oak @Steve Prescott 198 C Bog-Strider Ash @Steven Belledin 199 U Briarhorn @Nils Hamm @@ -279,7 +279,7 @@ ScryfallCode=LRW 266 R Ancient Amphitheater @Rob Alexander 267 R Auntie's Hovel @Wayne Reynolds 268 R Gilt-Leaf Palace @Christopher Moeller -269 R Howltooth Hollow @John Howe (Lorywn) +269 R Howltooth Hollow @John Franklin Howe 270 R Mosswort Bridge @Jeremy Jarvis 271 R Secluded Glen @Terese Nielsen 272 R Shelldock Isle @Mark Tedin diff --git a/forge-gui/res/editions/M19 Gift Pack.txt b/forge-gui/res/editions/M19 Gift Pack.txt index 9c8c2aeb7fd..1c27738ca22 100644 --- a/forge-gui/res/editions/M19 Gift Pack.txt +++ b/forge-gui/res/editions/M19 Gift Pack.txt @@ -7,8 +7,8 @@ Type=Promo ScryfallCode=g18 [cards] -GP1 S Angelic Guardian @Sara Winters -GP2 S Angler Turtle @Alex Konstad -GP3 S Vengeant Vampire @Mitchell Malloy -GP4 S Immortal Phoenix @Daarken -GP5 S Rampaging Brontodon @Lars Grant-West +GP1 R Angelic Guardian @Sara Winters +GP2 R Angler Turtle @Alex Konstad +GP3 R Vengeant Vampire @Mitchell Malloy +GP4 R Immortal Phoenix @Daarken +GP5 R Rampaging Brontodon @Lars Grant-West diff --git a/forge-gui/res/editions/MKM Standard Showdown.txt b/forge-gui/res/editions/MKM Standard Showdown.txt index 0ed98190488..cf9e04e6b91 100644 --- a/forge-gui/res/editions/MKM Standard Showdown.txt +++ b/forge-gui/res/editions/MKM Standard Showdown.txt @@ -6,8 +6,8 @@ Type=Promo ScryfallCode=PSS4 [cards] -1 R Plains @Alayna Danner -2 R Island @Alayna Danner -3 R Swamp @Alayna Danner +1 R Plains @Lucas Graciano +2 R Island @Piotr Dura +3 R Swamp @Alexander Forssberg 4 R Mountain @Alayna Danner -5 R Forest @Alayna Danner +5 R Forest @Samuele Bandini diff --git a/forge-gui/res/editions/Magic 2010.txt b/forge-gui/res/editions/Magic 2010.txt index 48316bea239..88d25c5bdf8 100644 --- a/forge-gui/res/editions/Magic 2010.txt +++ b/forge-gui/res/editions/Magic 2010.txt @@ -25,7 +25,7 @@ ScryfallCode=M10 11 C Glorious Charge @Izzy 12 C Griffin Sentinel @Warren Mahy 13 R Guardian Seraph @Paul Bonner -14 U Harm's Way @Dan Scott +14 U Harm's Way @Dan Murayama Scott 15 C Holy Strength @Terese Nielsen 16 R Honor of the Pure @Greg Staples 17 R Indestructibility @Darrell Riche @@ -79,7 +79,7 @@ ScryfallCode=M10 65 C Negate @Jeremy Jarvis 66 U Phantom Warrior @Greg Staples 67 R Polymorph @Robert Bliss -68 C Ponder @Dan Scott +68 C Ponder @Dan Murayama Scott 69 C Sage Owl @Cyril Van Der Haegen 70 C Serpent of the Endless Sea @Kieran Yanner 71 U Sleep @Chris Rahn @@ -240,7 +240,7 @@ ScryfallCode=M10 226 R Glacial Fortress @Franz Vohwinkel 227 R Rootbound Crag @Matt Stewart 228 R Sunpetal Grove @Jason Chan -229 C Terramorphic Expanse @Dan Scott +229 C Terramorphic Expanse @Dan Murayama Scott 230 L Plains @Rob Alexander 231 L Plains @John Avon 232 L Plains @Don Hazeltine diff --git a/forge-gui/res/editions/Magic 2011.txt b/forge-gui/res/editions/Magic 2011.txt index 00323b66127..38c1037dc5f 100644 --- a/forge-gui/res/editions/Magic 2011.txt +++ b/forge-gui/res/editions/Magic 2011.txt @@ -227,7 +227,7 @@ ScryfallCode=M11 213 U Sorcerer's Strongbox @Chuck Lukacs 214 R Steel Overseer @Chris Rahn 215 U Stone Golem @Martina Pilcerova -216 R Sword of Vengeance @Dan Scott +216 R Sword of Vengeance @Dan Murayama Scott 217 R Temple Bell @Mark Tedin 218 R Triskelion @Christopher Moeller 219 U Voltaic Key @Franz Vohwinkel @@ -240,7 +240,7 @@ ScryfallCode=M11 226 R Mystifying Maze @Robh Ruppel 227 R Rootbound Crag @Matt Stewart 228 R Sunpetal Grove @Jason Chan -229 C Terramorphic Expanse @Dan Scott +229 C Terramorphic Expanse @Dan Murayama Scott 230 L Plains @John Avon 231 L Plains @John Avon 232 L Plains @D. J. Cleland-Hura diff --git a/forge-gui/res/editions/Magic 2012.txt b/forge-gui/res/editions/Magic 2012.txt index bcc04e3e673..bcbf1c517e4 100644 --- a/forge-gui/res/editions/Magic 2012.txt +++ b/forge-gui/res/editions/Magic 2012.txt @@ -84,9 +84,9 @@ ScryfallCode=M12 70 C Phantasmal Bear @Ryan Yee 71 U Phantasmal Dragon @Wayne Reynolds 72 R Phantasmal Image @Nils Hamm -73 C Ponder @Dan Scott +73 C Ponder @Dan Murayama Scott 74 R Redirect @Izzy -75 C Skywinder Drake @Dan Scott +75 C Skywinder Drake @Dan Murayama Scott 76 R Sphinx of Uthuun @Kekai Kotaki 77 M Time Reversal @Howard Lyon 78 U Turn to Frog @Warren Mahy @@ -164,7 +164,7 @@ ScryfallCode=M12 150 R Manabarbs @Jeff Miracola 151 C Manic Vandal @Christopher Moeller 152 R Reverberate @jD -153 R Scrambleverse @Dan Scott +153 R Scrambleverse @Dan Murayama Scott 154 C Shock @Jon Foster 155 C Slaughter Cry @Matt Cavotta 156 U Stormblood Berserker @Min Yum @@ -228,7 +228,7 @@ ScryfallCode=M12 214 R Quicksilver Amulet @Brad Rigney 215 U Rusted Sentinel @Jason Felix 216 U Scepter of Empires @John Avon -217 R Solemn Simulacrum @Dan Scott +217 R Solemn Simulacrum @Dan Murayama Scott 218 R Sundial of the Infinite @Vincent Proce 219 U Swiftfoot Boots @Svetlin Velinov 220 U Thran Golem @Ron Spears diff --git a/forge-gui/res/editions/Magic 2013.txt b/forge-gui/res/editions/Magic 2013.txt index 0b57353a649..3b002f22596 100644 --- a/forge-gui/res/editions/Magic 2013.txt +++ b/forge-gui/res/editions/Magic 2013.txt @@ -87,7 +87,7 @@ ScryfallCode=M13 73 U Talrand's Invocation @Svetlin Velinov 74 C Tricks of the Trade @Steven Belledin 75 C Unsummon @Izzy -76 C Vedalken Entrancer @Dan Scott +76 C Vedalken Entrancer @Dan Murayama Scott 77 R Void Stalker @Marco Nelor 78 C Watercourser @Mathias Kollros 79 C Welkin Tern @Austin Hsu @@ -125,7 +125,7 @@ ScryfallCode=M13 111 C Tormented Soul @Karl Kopinski 112 U Vampire Nighthawk @Jason Chan 113 M Vampire Nocturnus @Raymond Swanland -114 U Veilborn Ghoul @Dan Scott +114 U Veilborn Ghoul @Dan Murayama Scott 115 C Vile Rebirth @Erica Yang 116 C Walking Corpse @Igor Kieryluk 117 R Wit's End @Chris Rahn @@ -211,7 +211,7 @@ ScryfallCode=M13 197 R Yeva, Nature's Herald @Eric Deschamps 198 C Yeva's Forcemage @Eric Deschamps 199 M Nicol Bolas, Planeswalker @D. Alexander Gregory -200 M Akroma's Memorial @Dan Scott +200 M Akroma's Memorial @Dan Murayama Scott 201 U Chronomaton @Vincent Proce 202 U Clock of Omens @Ryan Yee 203 R Door to Nothingness @Svetlin Velinov @@ -228,7 +228,7 @@ ScryfallCode=M13 214 U Ring of Valkas @Erica Yang 215 U Ring of Xathrid @Erica Yang 216 R Sands of Delirium @Charles Urbach -217 R Staff of Nin @Dan Scott +217 R Staff of Nin @Dan Murayama Scott 218 R Stuffy Doll @David Rapoza 219 U Tormod's Crypt @Lars Grant-West 220 R Trading Post @Adam Paquette diff --git a/forge-gui/res/editions/Magic 2014 Promos.txt b/forge-gui/res/editions/Magic 2014 Promos.txt index 8d911f99269..e7769121206 100644 --- a/forge-gui/res/editions/Magic 2014 Promos.txt +++ b/forge-gui/res/editions/Magic 2014 Promos.txt @@ -10,4 +10,4 @@ ScryfallCode=PM14 48★ R Colossal Whale @Erica Yang 141★ R Goblin Diplomats @Jesper Ejsing 185★ R Megantic Sliver @Lucas Graciano -215★ R Ratchet Bomb @Dan Scott +215★ R Ratchet Bomb @Dan Murayama Scott diff --git a/forge-gui/res/editions/Magic 2014.txt b/forge-gui/res/editions/Magic 2014.txt index 7095a4b0fe8..99a97534be8 100644 --- a/forge-gui/res/editions/Magic 2014.txt +++ b/forge-gui/res/editions/Magic 2014.txt @@ -173,7 +173,7 @@ ScryfallCode=M14 159 C Thunder Strike @Wayne Reynolds 160 U Volcanic Geyser @Clint Cearley 161 C Wild Guess @Lucas Graciano -162 R Wild Ricochet @Dan Scott +162 R Wild Ricochet @Dan Murayama Scott 163 U Young Pyromancer @Cynthia Sheppard 164 C Advocate of the Beast @Jesper Ejsing 165 U Bramblecrush @Drew Baker @@ -198,7 +198,7 @@ ScryfallCode=M14 184 U Manaweft Sliver @Trevor Claxton 185 R Megantic Sliver @Ryan Barger 186 C Naturalize @Tim Hildebrandt -187 R Oath of the Ancient Wood @Dan Scott +187 R Oath of the Ancient Wood @Dan Murayama Scott 188 C Plummet @Pete Venters 189 C Predatory Sliver @Mathias Kollros 190 M Primeval Bounty @Christine Choi diff --git a/forge-gui/res/editions/Magic 2015 Clash Pack.txt b/forge-gui/res/editions/Magic 2015 Clash Pack.txt index ed0b4fb06ff..affa296cb1b 100644 --- a/forge-gui/res/editions/Magic 2015 Clash Pack.txt +++ b/forge-gui/res/editions/Magic 2015 Clash Pack.txt @@ -8,7 +8,7 @@ ScryfallCode=CP1 [cards] 1 R Prognostic Sphinx @Jesper Ejsing 2 R Fated Intervention @Eric Deschamps -3 R Font of Fertility @Jung Park +3 C Font of Fertility @Jung Park 4 R Hydra Broodmaster @Vincent Proce 5 R Prophet of Kruphix @Anastasia Ovchinnikova 6 R Temple of Mystery @Adam Paquette diff --git a/forge-gui/res/editions/Magic 2015.txt b/forge-gui/res/editions/Magic 2015.txt index 9b68eea57a5..ab0dd41160a 100644 --- a/forge-gui/res/editions/Magic 2015.txt +++ b/forge-gui/res/editions/Magic 2015.txt @@ -55,7 +55,7 @@ ScryfallCode=M15 41 U Wall of Essence @Adam Rex 42 U Warden of the Beyond @Raymond Swanland 43 C Aeronaut Tinkerer @Willian Murai -44 R Aetherspouts @Dan Scott +44 R Aetherspouts @Dan Murayama Scott 45 C Amphin Pathmage @Mark Winters 46 R Chasm Skulker @Jack Wang 47 R Chief Engineer @Steven Belledin @@ -199,7 +199,7 @@ ScryfallCode=M15 185 C Naturalize @Tim Hildebrandt 186 C Netcaster Spider @Yohann Schepacz 187 M Nissa, Worldwaker @Peter Mohrbacher -188 U Nissa's Expedition @Dan Scott +188 U Nissa's Expedition @Dan Murayama Scott 189 U Overwhelm @Wayne Reynolds 190 U Paragon of Eternal Wilds @Winona Nelson 191 R Phytotitan @Marco Nelor diff --git a/forge-gui/res/editions/Magic 2019.txt b/forge-gui/res/editions/Magic 2019.txt index 13f9487b5ce..8e1e04d0a63 100644 --- a/forge-gui/res/editions/Magic 2019.txt +++ b/forge-gui/res/editions/Magic 2019.txt @@ -209,7 +209,7 @@ ScryfallCode=M19 195 C Rabid Bite @Karl Kopinski 196 U Reclamation Sage @Christopher Moeller 197 U Recollect @Pete Venters -198 C Rhox Oracle @Dan Scott +198 C Rhox Oracle @Dan Murayama Scott 199 C Root Snare @Mitchell Malloy 200 R Runic Armasaur @Randy Vargas 201 M Scapeshift @Daniel Ljunggren diff --git a/forge-gui/res/editions/Magic 2020.txt b/forge-gui/res/editions/Magic 2020.txt index 6abd56f4322..b95b6334cd6 100644 --- a/forge-gui/res/editions/Magic 2020.txt +++ b/forge-gui/res/editions/Magic 2020.txt @@ -10,7 +10,7 @@ ChaosDraftThemes=CORE_SET ScryfallCode=M20 [cards] -1 C Aerial Assault @Dan Scott +1 C Aerial Assault @Dan Murayama Scott 2 M Ajani, Strength of the Pride @Chris Rallis 3 U Ancestral Blade @Scott Murphy 4 U Angel of Vitality @Johannes Voss @@ -153,7 +153,7 @@ ScryfallCode=M20 141 R Glint-Horn Buccaneer @Zack Stella 142 C Goblin Bird-Grabber @Anna Podedworna 143 U Goblin Ringleader @Gabor Szikszai -144 C Goblin Smuggler @Dan Scott +144 C Goblin Smuggler @Dan Murayama Scott 145 C Infuriate @Caio Monteiro 146 C Keldon Raider @Chris Seaman 147 C Lavakin Brawler @Victor Adame Minguez @@ -194,7 +194,7 @@ ScryfallCode=M20 182 U Might of the Masses @Johann Bodin 183 C Natural End @Scott Chou 184 C Netcaster Spider @Yohann Schepacz -185 R Nightpack Ambusher @Dan Scott +185 R Nightpack Ambusher @Dan Murayama Scott 186 U Overcome @Craig J Spearing 187 U Overgrowth Elemental @Mathias Kollros 188 C Plummet @Filip Burburan diff --git a/forge-gui/res/editions/Magic 2021.txt b/forge-gui/res/editions/Magic 2021.txt index d9a6df0da01..1c17ce37397 100644 --- a/forge-gui/res/editions/Magic 2021.txt +++ b/forge-gui/res/editions/Magic 2021.txt @@ -50,7 +50,7 @@ ScryfallCode=M21 36 U Selfless Savior @Ralph Horsley 37 U Siege Striker @Zoltan Boros 38 R Speaker of the Heavens @Randy Vargas -39 C Staunch Shieldmate @Bartlomiej Gawel +39 C Staunch Shieldmate @Bartłomiej Gaweł 40 C Swift Response @Deruchenko Alexander 41 U Tempered Veteran @Izzy 42 C Valorous Steed @Donato Giancola @@ -118,7 +118,7 @@ ScryfallCode=M21 104 R Hooded Blightfang @Uriah Voth 105 C Infernal Scarring @Mike Bierek 106 R Kaervek, the Spiteful @Daarken -107 U Kitesail Freebooter @Dan Scott +107 U Kitesail Freebooter @Dan Murayama Scott 108 M Liliana, Waker of the Dead @Anna Steinbauer 109 U Liliana's Devotee @Colin Boyer 110 R Liliana's Standard Bearer @Josh Hass @@ -191,7 +191,7 @@ ScryfallCode=M21 177 U Cultivate @Anthony Palumbo 178 C Drowsing Tyrannodon @Simon Dominic 179 M Elder Gargaroth @Nicholas Gregory -180 R Feline Sovereign @Dan Scott +180 R Feline Sovereign @Dan Murayama Scott 181 U Fierce Empath @Johann Bodin 182 U Fungal Rebirth @Nicholas Gregory 183 M Garruk, Unleashed @Lie Setiawan @@ -342,7 +342,7 @@ ScryfallCode=M21 [precon product] 320 M Basri, Devoted Paladin @Jason Rainville -321 C Adherent of Hope @Dan Scott +321 C Adherent of Hope @Dan Murayama Scott 322 R Basri's Aegis @Paul Scott Canavan 323 U Sigiled Contender @Randy Vargas 324 M Teferi, Timeless Voyager @Jake Murray @@ -351,7 +351,7 @@ ScryfallCode=M21 327 R Teferi's Wavecaster @Miranda Meeks 328 M Liliana, Death Mage @Kieran Yanner 329 R Liliana's Scorn @Josh Hass -330 U Liliana's Scrounger @Martina Fackova +330 U Liliana's Scrounger @Martina Fačková 331 C Spirit of Malevolence @Josu Hernaiz 332 M Chandra, Flame's Catalyst @Grzegorz Rutkowski 333 R Chandra's Firemaw @Bryan Sola @@ -360,7 +360,7 @@ ScryfallCode=M21 336 M Garruk, Savage Herald @Eric Deschamps 337 R Garruk's Warsteed @Ilse Gort 338 U Predatory Wurm @Jason A. Engle -339 C Wildwood Patrol @Dan Scott +339 C Wildwood Patrol @Dan Murayama Scott [extended art] 340 M Baneslayer Angel @Greg Staples @@ -397,7 +397,7 @@ ScryfallCode=M21 371 R Volcanic Salvo @Torstein Nordstrand 372 R Azusa, Lost but Seeking @Winona Nelson 373 M Elder Gargaroth @Nicholas Gregory -374 R Feline Sovereign @Dan Scott +374 R Feline Sovereign @Dan Murayama Scott 375 R Heroic Intervention @James Ryman 376 R Jolrael, Mwonvuli Recluse @Izzy 377 R Primal Might @Randy Vargas diff --git a/forge-gui/res/editions/Magic Online Deck Series.txt b/forge-gui/res/editions/Magic Online Deck Series.txt index 0bf6bf0f4d6..2ffa7491ce3 100644 --- a/forge-gui/res/editions/Magic Online Deck Series.txt +++ b/forge-gui/res/editions/Magic Online Deck Series.txt @@ -29,8 +29,8 @@ B20 C Lava Spike @Mark Tedin B21 C Lightning Bolt @Christopher Moeller B22 U Magma Jet @Justin Sweet B23 U Price of Progress @Richard Kane Ferguson -B24 C Pyroblast @Kaja Foglio -B25 C Pyrostatic Pillar @Pete Venters +B24 U Pyroblast @Kaja Foglio +B25 U Pyrostatic Pillar @Pete Venters B26 C Rift Bolt @Michael Sutfin B27 U Aether Vial @Greg Hildebrandt B28 C Bonesplitter @Darrell Riche diff --git a/forge-gui/res/editions/Magic Origins.txt b/forge-gui/res/editions/Magic Origins.txt index d002b0f006c..305820c21e6 100644 --- a/forge-gui/res/editions/Magic Origins.txt +++ b/forge-gui/res/editions/Magic Origins.txt @@ -95,7 +95,7 @@ ScryfallCode=ORI 81 U Turn to Frog @Warren Mahy 82 C Watercourser @Mathias Kollros 83 U Whirler Rogue @Winona Nelson -84 R Willbreaker @Dan Scott +84 R Willbreaker @Dan Murayama Scott 85 U Blightcaster @Winona Nelson 86 C Catacomb Slug @Nils Hamm 87 U Consecrated by Blood @John Stanko @@ -106,7 +106,7 @@ ScryfallCode=ORI 92 M Demonic Pact @Aleksi Briclot 93 R Despoiler of Souls @Greg Staples 94 M Erebos's Titan @Peter Mohrbacher -95 C Eyeblight Assassin @Dan Scott +95 C Eyeblight Assassin @Dan Murayama Scott 96 U Eyeblight Massacre @Igor Kieryluk 97 C Fetid Imp @Nils Hamm 98 U Fleshbag Marauder @Mark Zug @@ -228,12 +228,12 @@ ScryfallCode=ORI 214 U Iroas's Champion @Marco Nelor 215 U Possessed Skaab @John Stanko 216 U Reclusive Artificer @Cynthia Sheppard -217 U Shaman of the Pack @Dan Scott +217 U Shaman of the Pack @Dan Murayama Scott 218 U Thunderclap Wyvern @Jason Felix 219 U Zendikar Incarnate @Lucas Graciano 220 C Alchemist's Vial @Lindsey Look 221 M Alhammarret's Archive @Richard Wright -222 U Angel's Tomb @Dan Scott +222 U Angel's Tomb @Dan Murayama Scott 223 C Bonded Construct @Craig J Spearing 224 U Brawler's Plate @Jung Park 225 U Chief of the Foundry @Daniel Ljunggren @@ -250,7 +250,7 @@ ScryfallCode=ORI 236 M Pyromancer's Goggles @James Paick 237 U Ramroller @Craig J Spearing 238 U Runed Servitor @Mike Bierek -239 U Sigil of Valor @Dan Scott +239 U Sigil of Valor @Dan Murayama Scott 240 R Sword of the Animist @Daniel Ljunggren 241 U Throwing Knife @Mathias Kollros 242 C Veteran's Sidearm @Aaron Miller diff --git a/forge-gui/res/editions/Magic Premiere Shop 2007.txt b/forge-gui/res/editions/Magic Premiere Shop 2007.txt index 0ea82f80032..46e67c8a68c 100644 --- a/forge-gui/res/editions/Magic Premiere Shop 2007.txt +++ b/forge-gui/res/editions/Magic Premiere Shop 2007.txt @@ -7,8 +7,8 @@ CardLang=ja ScryfallCode=PMPS07 [cards] -1 R Plains @John Avon -2 R Island @John Avon -3 R Swamp @John Avon -4 R Mountain @John Avon -5 R Forest @John Avon +1 L Plains @John Avon +2 L Island @John Avon +3 L Swamp @John Avon +4 L Mountain @John Avon +5 L Forest @John Avon diff --git a/forge-gui/res/editions/Magic Premiere Shop 2008.txt b/forge-gui/res/editions/Magic Premiere Shop 2008.txt index 8d5fca248b0..9cb38825010 100644 --- a/forge-gui/res/editions/Magic Premiere Shop 2008.txt +++ b/forge-gui/res/editions/Magic Premiere Shop 2008.txt @@ -7,9 +7,9 @@ CardLang=ja ScryfallCode=PMPS08 [cards] -1 R Plains @John Avon -2 R Island @John Avon -3 R Swamp @John Avon -4 R Mountain @John Avon -5 R Forest @John Avon +1 L Plains @John Avon +2 L Island @John Avon +3 L Swamp @John Avon +4 L Mountain @John Avon +5 L Forest @John Avon A1 R Jaya Ballard, Task Mage @Matt Cavotta diff --git a/forge-gui/res/editions/Magic Premiere Shop 2009.txt b/forge-gui/res/editions/Magic Premiere Shop 2009.txt index 3a5d074d0bf..8d08ccf8e78 100644 --- a/forge-gui/res/editions/Magic Premiere Shop 2009.txt +++ b/forge-gui/res/editions/Magic Premiere Shop 2009.txt @@ -7,8 +7,8 @@ CardLang=ja ScryfallCode=PMPS09 [cards] -1 R Plains @Rob Alexander -2 R Island @Rob Alexander -3 R Swamp @Rob Alexander -4 R Mountain @Rob Alexander -5 R Forest @Rob Alexander +1 L Plains @Rob Alexander +2 L Island @Rob Alexander +3 L Swamp @Rob Alexander +4 L Mountain @Rob Alexander +5 L Forest @Rob Alexander diff --git a/forge-gui/res/editions/Magic Premiere Shop 2010.txt b/forge-gui/res/editions/Magic Premiere Shop 2010.txt index d08ebfa84df..0d2c5390c9f 100644 --- a/forge-gui/res/editions/Magic Premiere Shop 2010.txt +++ b/forge-gui/res/editions/Magic Premiere Shop 2010.txt @@ -7,8 +7,8 @@ CardLang=ja ScryfallCode=PMPS10 [cards] -1 R Plains @John Avon -2 R Island @John Avon -3 R Swamp @John Avon -4 R Mountain @John Avon -5 R Forest @John Avon +1 L Plains @John Avon +2 L Island @John Avon +3 L Swamp @John Avon +4 L Mountain @John Avon +5 L Forest @John Avon diff --git a/forge-gui/res/editions/Magic Premiere Shop 2011.txt b/forge-gui/res/editions/Magic Premiere Shop 2011.txt index 99fa2a801f3..ab19941990e 100644 --- a/forge-gui/res/editions/Magic Premiere Shop 2011.txt +++ b/forge-gui/res/editions/Magic Premiere Shop 2011.txt @@ -7,8 +7,8 @@ CardLang=ja ScryfallCode=PMPS11 [cards] -1 R Plains @Adam Paquette -2 R Island @Adam Paquette -3 R Swamp @Adam Paquette -4 R Mountain @Adam Paquette -5 R Forest @Adam Paquette +1 L Plains @Adam Paquette +2 L Island @Adam Paquette +3 L Swamp @Adam Paquette +4 L Mountain @Adam Paquette +5 L Forest @Adam Paquette diff --git a/forge-gui/res/editions/March of the Machine Commander.txt b/forge-gui/res/editions/March of the Machine Commander.txt index 710b47347ad..2e6af0748af 100644 --- a/forge-gui/res/editions/March of the Machine Commander.txt +++ b/forge-gui/res/editions/March of the Machine Commander.txt @@ -9,7 +9,7 @@ ScryfallCode=MOC 1 M Bright-Palm, Soul Awakener @Mila Pesic 2 M Brimaz, Blight of Oreskos @Uriah Voth 3 M Gimbal, Gremlin Prodigy @Fajareka Setiawan -4 M Kasla, the Broken Halo @Martina Fackova +4 M Kasla, the Broken Halo @Martina Fačková 5 M Sidar Jabari of Zhalfir @Simon Dominic 6 M Elenda and Azor @Randy Vargas 7 M Moira and Teshar @Josh Hass @@ -97,7 +97,7 @@ ScryfallCode=MOC 89 M Brimaz, Blight of Oreskos @Uriah Voth 90 M Elenda and Azor @Randy Vargas 91 M Gimbal, Gremlin Prodigy @Fajareka Setiawan -92 M Kasla, the Broken Halo @Martina Fackova +92 M Kasla, the Broken Halo @Martina Fačková 93 M Moira and Teshar @Josh Hass 94 M Rashmi and Ragavan @Joshua Cairos 95 M Saint Traft and Rem Karolus @Lucas Graciano @@ -142,11 +142,11 @@ ScryfallCode=MOC 134 M Bright-Palm, Soul Awakener @Mila Pesic 135 M Brimaz, Blight of Oreskos @Uriah Voth 136 M Gimbal, Gremlin Prodigy @Fajareka Setiawan -137 M Kasla, the Broken Halo @Martina Fackova +137 M Kasla, the Broken Halo @Martina Fačková 138 M Sidar Jabari of Zhalfir @Simon Dominic 139 C The Aether Flues @Jason A. Engle 140 C Bloodhill Bastion @Mark Hyzer -141 C Chaotic Aether @Dan Scott +141 C Chaotic Aether @Dan Murayama Scott 142 C Gavony @Dave Kendall 143 C Glimmervoid Basin @Lars Grant-West 144 C The Great Forest @Howard Lyon @@ -160,7 +160,7 @@ ScryfallCode=MOC 152 C Orochi Colony @Charles Urbach 153 C Panopticon @John Avon 154 C Planewide Disaster @Dave Kendall -155 C Reality Shaping @Dan Scott +155 C Reality Shaping @Dan Murayama Scott 156 C Selesnya Loft Gardens @Martina Pilcerova 157 C Sokenzan @Brian Snõddy 158 C Spatial Merging @Gabor Szikszai @@ -227,13 +227,13 @@ ScryfallCode=MOC 219 C Cloud of Faeries @Iris Compiet 220 C Distant Melody @Sam Guay 221 R Echo Storm @Mark Poole -222 M Ethersworn Adjudicator @Dan Scott +222 M Ethersworn Adjudicator @Dan Murayama Scott 223 U Fallowsage @Paolo Parente 224 R Imprisoned in the Moon @Ryan Alexander Lee 225 U Junk Winder @Campbell White 226 R Master of Etherium @Matt Cavotta 227 R Masterful Replication @Victor Adame Minguez -228 R Nadir Kraken @Dan Scott +228 R Nadir Kraken @Dan Murayama Scott 229 R Perplexing Test @Fariba Khamseh 230 R Pull from Tomorrow @Sara Winters 231 U Reality Shift @Howard Lyon @@ -309,7 +309,7 @@ ScryfallCode=MOC 301 U Hindervines @Svetlin Velinov 302 R Incubation Druid @Daniel Ljunggren 303 R Inscription of Abundance @Zoltan Boros -304 U Inspiring Call @Dan Scott +304 U Inspiring Call @Dan Murayama Scott 305 M Kalonian Hydra @Chris Rahn 306 C Kodama's Reach @John Avon 307 R Managorger Hydra @Lucas Graciano @@ -353,7 +353,7 @@ ScryfallCode=MOC 345 U Wintermoor Commander @Tyler Jacobson 346 R Academy Manufactor @Campbell White 347 R Ancient Stone Idol @Josh Hass -348 C Arcane Signet @Dan Scott +348 C Arcane Signet @Dan Murayama Scott 349 R Bloodforged Battle-Axe @Alayna Danner 350 U Bloodline Pretender @Slawomir Maniak 351 U Burnished Hart @Yeong-Hao Han @@ -444,7 +444,7 @@ ScryfallCode=MOC 436 R Temple of Silence @Adam Paquette 437 U Temple of the False God @Brian Snõddy 438 R Temple of Triumph @Piotr Dura -439 C Terramorphic Expanse @Dan Scott +439 C Terramorphic Expanse @Dan Murayama Scott 440 C Thriving Heath @Alayna Danner 441 C Thriving Isle @Jonas De Ro 442 C Thriving Moor @Titus Lunter diff --git a/forge-gui/res/editions/March of the Machine.txt b/forge-gui/res/editions/March of the Machine.txt index 8e167cb64d5..7fc97602ff4 100644 --- a/forge-gui/res/editions/March of the Machine.txt +++ b/forge-gui/res/editions/March of the Machine.txt @@ -245,7 +245,7 @@ ScryfallCode=MOM 233 U Invasion of Ergamon @Manuel Castañón 234 U Invasion of Kaladesh @Leon Tukker 235 U Invasion of Kylem @Johann Bodin -236 U Invasion of Lorwyn @Dan Scott +236 U Invasion of Lorwyn @Dan Murayama Scott 237 U Invasion of Moag @Filip Burburan 238 U Invasion of New Capenna @Diego Gisbert 239 M Invasion of New Phyrexia @Chris Rallis @@ -336,10 +336,10 @@ ScryfallCode=MOM 320 M Archangel Elspeth @Denys Tsiperko 321 M Chandra, Hope's Beacon @Randy Vargas 322 M Wrenn and Realmbreaker @Jehan Choo -338 M Elesh Norn @Ryan Pancost +338 M Elesh Norn @Ryan Pancoast 339 M Jin-Gitaxias @Julian Kok Joon Wen 340 M Sheoldred @Camille Alquier -341 M Urabrask @Jose Parodi +341 M Urabrask @José Parodi 342 M Vorinclex @Joseph Weston [jumpstart] diff --git a/forge-gui/res/editions/Masterpiece Series - Amonkhet.txt b/forge-gui/res/editions/Masterpiece Series - Amonkhet.txt index 08290baa2e0..d5f5f7ba2b0 100644 --- a/forge-gui/res/editions/Masterpiece Series - Amonkhet.txt +++ b/forge-gui/res/editions/Masterpiece Series - Amonkhet.txt @@ -6,60 +6,60 @@ Type=Collector_Edition ScryfallCode=mp2 [cards] -1 M Austere Command @Richard Wright -2 M Aven Mindcensor @Jose Cabrera -3 M Containment Priest @Igor Kieryluk -4 M Loyal Retainers @Bastien L. Deharme -5 M Oketra the True @Bastien L. Deharme -6 M Worship @Cliff Childs -7 M Wrath of God @Titus Lunter -8 M Consecrated Sphinx @Lius Lasahido -9 M Counterbalance @Joseph Meehan -10 M Counterspell @Chase Stone -11 M Cryptic Command @Richard Wright -12 M Daze @Richard Wright -13 M Divert @Igor Kieryluk -14 M Force of Will @Jaime Jones -15 M Kefnet the Mindful @Jose Cabrera -16 M Pact of Negation @Titus Lunter -17 M Spell Pierce @Joseph Meehan -18 M Stifle @Cliff Childs -19 M Attrition @Jose Cabrera -20 M Bontu the Glorified @Daniel Ljunggren -21 M Dark Ritual @Richard Wright -22 M Diabolic Intent @Joseph Meehan -23 M Entomb @Eytan Zana -24 M Mind Twist @Igor Kieryluk -25 M Aggravated Assault @Greg Opalinski -26 M Chain Lightning @Igor Kieryluk -27 M Hazoret the Fervent @Joseph Meehan -28 M Rhonas the Indomitable @Jack Wang -29 M Maelstrom Pulse @Igor Kieryluk -30 M Vindicate @Igor Kieryluk -31 M Armageddon @Florian de Gesincourt -32 M Capsize @Cliff Childs -33 M Forbid @Richard Wright -34 M Omniscience @Josh Hass -35 M Opposition @Svetlin Velinov -36 M Sunder @Titus Lunter -37 M Threads of Disloyalty @Yongjae Choi -38 M Avatar of Woe @Igor Kieryluk -39 M Damnation @Zack Stella -40 M Desolation Angel @Bastien L. Deharme -41 M Diabolic Edict @Daarken -42 M Doomsday @Jaime Jones -43 M No Mercy @Jonas De Ro -44 M Slaughter Pact @Josh Hass -45 M Thoughtseize @James Ryman -46 M Blood Moon @Christine Choi -47 M Boil @Philip Straub -48 M Shatterstorm @Johann Bodin -49 M Through the Breach @Darek Zabrocki -50 M Choke @Florian de Gesincourt -51 M The Locust God @Grzegorz Rutkowski -52 M Lord of Extinction @Jason A. Engle -53 M The Scarab God @Grzegorz Rutkowski -54 M The Scorpion God @Grzegorz Rutkowski +1 S Austere Command @Richard Wright +2 S Aven Mindcensor @Jose Cabrera +3 S Containment Priest @Igor Kieryluk +4 S Loyal Retainers @Bastien L. Deharme +5 S Oketra the True @Bastien L. Deharme +6 S Worship @Cliff Childs +7 S Wrath of God @Titus Lunter +8 S Consecrated Sphinx @Lius Lasahido +9 S Counterbalance @Joseph Meehan +10 S Counterspell @Chase Stone +11 S Cryptic Command @Richard Wright +12 S Daze @Richard Wright +13 S Divert @Igor Kieryluk +14 S Force of Will @Jaime Jones +15 S Kefnet the Mindful @Jose Cabrera +16 S Pact of Negation @Titus Lunter +17 S Spell Pierce @Joseph Meehan +18 S Stifle @Cliff Childs +19 S Attrition @Jose Cabrera +20 S Bontu the Glorified @Daniel Ljunggren +21 S Dark Ritual @Richard Wright +22 S Diabolic Intent @Joseph Meehan +23 S Entomb @Eytan Zana +24 S Mind Twist @Igor Kieryluk +25 S Aggravated Assault @Greg Opalinski +26 S Chain Lightning @Igor Kieryluk +27 S Hazoret the Fervent @Joseph Meehan +28 S Rhonas the Indomitable @Jack Wang +29 S Maelstrom Pulse @Igor Kieryluk +30 S Vindicate @Igor Kieryluk +31 S Armageddon @Florian de Gesincourt +32 S Capsize @Cliff Childs +33 S Forbid @Richard Wright +34 S Omniscience @Josh Hass +35 S Opposition @Svetlin Velinov +36 S Sunder @Titus Lunter +37 S Threads of Disloyalty @Yongjae Choi +38 S Avatar of Woe @Igor Kieryluk +39 S Damnation @Zack Stella +40 S Desolation Angel @Bastien L. Deharme +41 S Diabolic Edict @Daarken +42 S Doomsday @Jaime Jones +43 S No Mercy @Jonas De Ro +44 S Slaughter Pact @Josh Hass +45 S Thoughtseize @James Ryman +46 S Blood Moon @Christine Choi +47 S Boil @Philip Straub +48 S Shatterstorm @Johann Bodin +49 S Through the Breach @Darek Zabrocki +50 S Choke @Florian de Gesincourt +51 S The Locust God @Grzegorz Rutkowski +52 S Lord of Extinction @Jason A. Engle +53 S The Scarab God @Grzegorz Rutkowski +54 S The Scorpion God @Grzegorz Rutkowski [tokens] w_1_1_warrior_vigilance diff --git a/forge-gui/res/editions/Masterpiece Series - Kaladesh.txt b/forge-gui/res/editions/Masterpiece Series - Kaladesh.txt index db6dc5c0b18..cdd14562764 100644 --- a/forge-gui/res/editions/Masterpiece Series - Kaladesh.txt +++ b/forge-gui/res/editions/Masterpiece Series - Kaladesh.txt @@ -7,60 +7,60 @@ Type=Collector_Edition ScryfallCode=mps [cards] -1 M Cataclysmic Gearhulk @Jason Rainville -2 M Torrential Gearhulk @Jakub Kasper -3 M Noxious Gearhulk @Vincent Proce -4 M Combustible Gearhulk @Greg Opalinski -5 M Verdurous Gearhulk @Zack Stella -6 M Aether Vial @Raoul Vitale -7 M Champion's Helm @Lindsey Look -8 M Chromatic Lantern @Yeong-Hao Han -9 M Chrome Mox @Kieran Yanner -10 M Cloudstone Curio @Noah Bradley -11 M Crucible of Worlds @Chris Rahn -12 M Gauntlet of Power @John Severin Brassell -13 M Hangarback Walker @Adam Paquette -14 M Lightning Greaves @Slawomir Maniak -15 M Lotus Petal @Slawomir Maniak -16 M Mana Crypt @Volkan Baǵa -17 M Mana Vault @Kirsten Zirngibl -18 M Mind's Eye @David Gaillet -19 M Mox Opal @Chris Rahn -20 M Painter's Servant @Magali Villeneuve -21 M Rings of Brighthearth @Yeong-Hao Han -22 M Scroll Rack @Jason A. Engle -23 M Sculpting Steel @Magali Villeneuve -24 M Sol Ring @Volkan Baǵa -25 M Solemn Simulacrum @Daarken -26 M Static Orb @Tommy Arnold -27 M Steel Overseer @Adam Paquette -28 M Sword of Feast and Famine @Steven Belledin -29 M Sword of Fire and Ice @Volkan Baǵa -30 M Sword of Light and Shadow @Matt Stewart -31 M Arcbound Ravager @Daarken -32 M Black Vise @Igor Kieryluk -33 M Chalice of the Void @Kieran Yanner -34 M Defense Grid @Jonas De Ro -35 M Duplicant @Slawomir Maniak -36 M Engineered Explosives @James Paick -37 M Ensnaring Bridge @Florian de Gesincourt -38 M Extraplanar Lens @Noah Bradley -39 M Grindstone @Johann Bodin -40 M Meekstone @Steve Argyle -41 M Oblivion Stone @Yeong-Hao Han -42 M Ornithopter @Howard Lyon -43 M Paradox Engine @Vincent Proce -44 M Pithing Needle @Joseph Meehan -45 M Planar Bridge @Raymond Swanland -46 M Platinum Angel @Victor Adame Minguez -47 M Sphere of Resistance @Richard Wright -48 M Staff of Domination @Zezhou Chen -49 M Sundering Titan @Lius Lasahido -50 M Sword of Body and Mind @Mark Zug -51 M Sword of War and Peace @Filip Burburan -52 M Trinisphere @Daniel Ljunggren -53 M Vedalken Shackles @Svetlin Velinov -54 M Wurmcoil Engine @Aleksi Briclot +1 S Cataclysmic Gearhulk @Jason Rainville +2 S Torrential Gearhulk @Jakub Kasper +3 S Noxious Gearhulk @Vincent Proce +4 S Combustible Gearhulk @Greg Opalinski +5 S Verdurous Gearhulk @Zack Stella +6 S Aether Vial @Raoul Vitale +7 S Champion's Helm @Lindsey Look +8 S Chromatic Lantern @Yeong-Hao Han +9 S Chrome Mox @Kieran Yanner +10 S Cloudstone Curio @Noah Bradley +11 S Crucible of Worlds @Chris Rahn +12 S Gauntlet of Power @John Severin Brassell +13 S Hangarback Walker @Adam Paquette +14 S Lightning Greaves @Slawomir Maniak +15 S Lotus Petal @Slawomir Maniak +16 S Mana Crypt @Volkan Baǵa +17 S Mana Vault @Kirsten Zirngibl +18 S Mind's Eye @David Gaillet +19 S Mox Opal @Chris Rahn +20 S Painter's Servant @Magali Villeneuve +21 S Rings of Brighthearth @Yeong-Hao Han +22 S Scroll Rack @Jason A. Engle +23 S Sculpting Steel @Magali Villeneuve +24 S Sol Ring @Volkan Baǵa +25 S Solemn Simulacrum @Daarken +26 S Static Orb @Tommy Arnold +27 S Steel Overseer @Adam Paquette +28 S Sword of Feast and Famine @Steven Belledin +29 S Sword of Fire and Ice @Volkan Baǵa +30 S Sword of Light and Shadow @Matt Stewart +31 S Arcbound Ravager @Daarken +32 S Black Vise @Igor Kieryluk +33 S Chalice of the Void @Kieran Yanner +34 S Defense Grid @Jonas De Ro +35 S Duplicant @Slawomir Maniak +36 S Engineered Explosives @James Paick +37 S Ensnaring Bridge @Florian de Gesincourt +38 S Extraplanar Lens @Noah Bradley +39 S Grindstone @Johann Bodin +40 S Meekstone @Steve Argyle +41 S Oblivion Stone @Yeong-Hao Han +42 S Ornithopter @Howard Lyon +43 S Paradox Engine @Vincent Proce +44 S Pithing Needle @Joseph Meehan +45 S Planar Bridge @Raymond Swanland +46 S Platinum Angel @Victor Adame Minguez +47 S Sphere of Resistance @Richard Wright +48 S Staff of Domination @Zezhou Chen +49 S Sundering Titan @Lius Lasahido +50 S Sword of Body and Mind @Mark Zug +51 S Sword of War and Peace @Filip Burburan +52 S Trinisphere @Daniel Ljunggren +53 S Vedalken Shackles @Svetlin Velinov +54 S Wurmcoil Engine @Aleksi Briclot [tokens] g_2_2_wolf diff --git a/forge-gui/res/editions/Masters 25.txt b/forge-gui/res/editions/Masters 25.txt index fdc7da3d241..128cd8574a2 100644 --- a/forge-gui/res/editions/Masters 25.txt +++ b/forge-gui/res/editions/Masters 25.txt @@ -18,7 +18,7 @@ ScryfallCode=A25 5 M Armageddon @Chris Rahn 6 C Auramancer @Rebecca Guay 7 C Cloudshift @Howard Lyon -8 C Congregate @Mark Zug +8 U Congregate @Mark Zug 9 R Darien, King of Kjeldor @Michael Phillippi 10 C Dauntless Cathar @Zack Stella 11 R Decree of Justice @Adam Rex @@ -80,7 +80,7 @@ ScryfallCode=A25 67 C Mystic of the Hidden Way @Ryan Alexander Lee 68 R Pact of Negation @Jason Chan 69 C Phantasmal Bear @Ryan Yee -70 R Reef Worm @Dan Scott +70 R Reef Worm @Dan Murayama Scott 71 C Retraction Helix @Phill Simmer 72 C Shoreline Ranger @Magali Villeneuve 73 C Sift @Pete Venters @@ -113,7 +113,7 @@ ScryfallCode=A25 100 C Phyrexian Ghoul @Pete Venters 101 M Phyrexian Obliterator @Todd Lockwood 102 R Plague Wind @Alan Pollack -103 R Ratcatcher @Dan Scott +103 R Ratcatcher @Dan Murayama Scott 104 U Ravenous Chupacabra @Daarken 105 C Relentless Rats @Johann Bodin 106 C Returned Phalanx @Seb McKinnon @@ -186,7 +186,7 @@ ScryfallCode=A25 173 U Invigorate @Mark Zug 174 U Iwamori of the Open Fist @Paolo Parente 175 C Kavu Climber @Jonathan Kuo -176 U Kavu Predator @Dan Scott +176 U Kavu Predator @Dan Murayama Scott 177 U Krosan Colossus @Kev Walker 178 U Krosan Tusker @Kev Walker 179 R Living Wish @Hideaki Takamura @@ -197,7 +197,7 @@ ScryfallCode=A25 184 C Presence of Gond @Brandon Kitkouski 185 R Protean Hulk @Matt Cavotta 186 U Rancor @Kev Walker -187 U Regrowth @Dan Scott +187 U Regrowth @Dan Murayama Scott 188 U Stampede Driver @Ron Spears 189 R Summoner's Pact @Chippy 190 C Timberpack Wolf @John Avon @@ -211,8 +211,8 @@ ScryfallCode=A25 198 U Blightning @Thomas M. Baxa 199 U Boros Charm @Zoltan Boros 200 R Brion Stoutarm @Zoltan Boros & Gabor Szikszai -201 U Cloudblazer @Dan Scott -202 M Conflux @Karl Kopinski +201 U Cloudblazer @Dan Murayama Scott +202 R Conflux @Karl Kopinski 203 R Eladamri's Call @Kev Walker 204 M Gisela, Blade of Goldnight @Jason Chan 205 R Grenzo, Dungeon Warden @Lucas Graciano diff --git a/forge-gui/res/editions/Masters Edition II.txt b/forge-gui/res/editions/Masters Edition II.txt index 06b28c11d4d..d3ee2c79ef9 100644 --- a/forge-gui/res/editions/Masters Edition II.txt +++ b/forge-gui/res/editions/Masters Edition II.txt @@ -46,7 +46,7 @@ ScryfallCode=ME2 35 C Shield Bearer @Dan Frazier 36 R Sustaining Spirit @Rebecca Guay 37 U Swords to Plowshares @Kaja Foglio -38 C Warning @Pat Morrissey +38 C Warning @Pat Lewis 39 U Aether Storm @Mark Tedin 40 C Balduvian Conjurer @Mark Tedin 41 R Binding Grasp @Ruth Thompson @@ -59,7 +59,7 @@ ScryfallCode=ME2 48 C Essence Flare @Richard Kane Ferguson 49 U Iceberg @Jeff A. Menges 50 C Icy Prison @Anson Maddocks -51 C Krovikan Sorcerer @Pat Morrissey +51 C Krovikan Sorcerer @Pat Lewis 52 C Lat-Nam's Legacy @Tom Wänerstrand 53 R Magus of the Unseen @Kaja Foglio 54 R Marjhan @Daniel Gelon @@ -253,7 +253,7 @@ ScryfallCode=ME2 242 L Snow-Covered Island @Anson Maddocks 243 L Snow-Covered Swamp @Douglas Shuler 244 L Snow-Covered Mountain @Tom Wänerstrand -245 L Snow-Covered Forest @Pat Morrissey +245 L Snow-Covered Forest @Pat Lewis [tokens] kelp diff --git a/forge-gui/res/editions/Masters Edition.txt b/forge-gui/res/editions/Masters Edition.txt index 7bbf2e5f7c7..ffd85ee7cda 100644 --- a/forge-gui/res/editions/Masters Edition.txt +++ b/forge-gui/res/editions/Masters Edition.txt @@ -139,7 +139,7 @@ ScryfallCode=ME1 128 C Scryb Sprites @Amy Weber 129 C Shambling Strider @Douglas Shuler 130 U Singing Tree @Rob Alexander -131 U Spectral Bears @Pat Morrissey +131 U Spectral Bears @Pat Lewis 132 U Storm Seeker @Mark Poole 133 R Sylvan Library @Harold McNeill 134 U Thicket Basilisk @Dan Frazier @@ -148,7 +148,7 @@ ScryfallCode=ME1 137 C Wanderlust @Cornelius Brudi 138 U Winter Blast @Kaja Foglio 139 C Wyluli Wolf @Susan Van Camp -140 U Yavimaya Ants @Pat Morrissey +140 U Yavimaya Ants @Pat Lewis 141 R Adun Oakenshield @Jeff A. Menges 142 U Centaur Archer @Melissa A. Benson 143 R Dakkon Blackblade @Richard Kane Ferguson diff --git a/forge-gui/res/editions/Mercadian Masques.txt b/forge-gui/res/editions/Mercadian Masques.txt index 92b9984dea0..73694ff745c 100644 --- a/forge-gui/res/editions/Mercadian Masques.txt +++ b/forge-gui/res/editions/Mercadian Masques.txt @@ -92,7 +92,7 @@ FoilAlwaysInCommonSlot=False 77 R Embargo @Nelson DeCastro 78 U Energy Flux @Qiao Dafu 79 R Extravagant Spirit @Edward P. Beard, Jr. -80 U False Demise @Pat Morrissey +80 U False Demise @Pat Lewis 81 U Glowing Anemone @Pete Venters 82 C Gush @Kev Walker 83 U High Seas @Massimilano Frezzato @@ -116,10 +116,10 @@ FoilAlwaysInCommonSlot=False 101 C Saprazzan Outrigger @Doug Chaffee 102 C Saprazzan Raider @Jeff Miracola 103 U Shoving Match @Dave Dorman -104 U Soothsaying @Pat Morrissey +104 U Soothsaying @Pat Lewis 105 R Squeeze @DiTerlizzi 106 R Statecraft @Mike Ploog -107 C Stinging Barrier @Pat Morrissey +107 C Stinging Barrier @Pat Lewis 108 U Thwart @Christopher Moeller 109 C Tidal Bore @Frank Kelly Freas 110 R Tidal Kraken @Christopher Moeller @@ -340,7 +340,7 @@ FoilAlwaysInCommonSlot=False 325 U Rushwood Grove @George Pratt 326 C Sandstone Needle @Alan Rabinowitz 327 U Saprazzan Cove @Rebecca Guay -328 C Saprazzan Skerry @Pat Morrissey +328 C Saprazzan Skerry @Pat Lewis 329 U Subterranean Hangar @Matt Cavotta 330 R Tower of the Magistrate @Thomas Gianni 331 L Plains @Terry Springer diff --git a/forge-gui/res/editions/Mirage.txt b/forge-gui/res/editions/Mirage.txt index 293fb50cb6b..4ed118c04c0 100644 --- a/forge-gui/res/editions/Mirage.txt +++ b/forge-gui/res/editions/Mirage.txt @@ -244,7 +244,7 @@ ScryfallCode=MIR 232 U Nettletooth Djinn @Janine Johnston 233 R Preferred Selection @Kev Walker 234 C Quirion Elves @Randy Gallegos -235 C Rampant Growth @Pat Morrissey +235 C Rampant Growth @Pat Lewis 236 C Regeneration @Charles Gillespie 237 U Roots of Life @Tony Roberts 238 C Sabertooth Cobra @Andrew Robinson @@ -259,7 +259,7 @@ ScryfallCode=MIR 247 C Uktabi Faerie @Junior Tomlin 248 R Uktabi Wildcats @John Matson 249 U Unseen Walker @Alan Rabinowitz -250 U Unyaro Bee Sting @Pat Morrissey +250 U Unyaro Bee Sting @Pat Lewis 251 C Village Elder @Donato Giancola 252 R Waiting in the Weeds @Susan Van Camp 253 C Wall of Roots @John Matson @@ -334,8 +334,8 @@ ScryfallCode=MIR 322 U Unerring Sling @Zak Plucinski 323 R Ventifact Bottle @Ron Spencer 324 U Bad River @Terese Nielsen -325 U Crystal Vein @Pat Morrissey -326 U Flood Plain @Pat Morrissey +325 U Crystal Vein @Pat Lewis +326 U Flood Plain @Pat Lewis 327 U Grasslands @John Avon 328 U Mountain Valley @Kari Johnson 329 U Rocky Tar Pit @Jeff Miracola diff --git a/forge-gui/res/editions/Mirrodin Besieged.txt b/forge-gui/res/editions/Mirrodin Besieged.txt index dc996218dda..2d75a10df45 100644 --- a/forge-gui/res/editions/Mirrodin Besieged.txt +++ b/forge-gui/res/editions/Mirrodin Besieged.txt @@ -38,9 +38,9 @@ ScryfallCode=MBS 24 R Distant Memories @Karl Kopinski 25 C Fuel for the Cause @Steven Belledin 26 C Mirran Spy @Dave Kendall -27 R Mitotic Manipulation @Dan Scott +27 R Mitotic Manipulation @Dan Murayama Scott 28 U Neurok Commando @Matt Stewart -29 C Oculus @Dan Scott +29 C Oculus @Dan Murayama Scott 30 C Quicksilver Geyser @Erica Yang 31 C Serum Raker @Austin Hsu 32 C Spire Serpent @Johann Bodin @@ -86,7 +86,7 @@ ScryfallCode=MBS 72 C Ogre Resister @Efrem Palacios 73 C Rally the Forces @Steven Belledin 74 R Red Sun's Zenith @Svetlin Velinov -75 R Slagstorm @Dan Scott +75 R Slagstorm @Dan Murayama Scott 76 U Spiraling Duelist @Karl Kopinski 77 C Blightwidow @Daniel Ljunggren 78 R Creeping Corrosion @Ryan Pancoast @@ -119,7 +119,7 @@ ScryfallCode=MBS 105 R Decimator Web @Daniel Ljunggren 106 C Dross Ripper @David Rapoza 107 C Flayer Husk @Igor Kieryluk -108 C Gust-Skimmer @Dan Scott +108 C Gust-Skimmer @Dan Murayama Scott 109 C Hexplate Golem @Matt Cavotta 110 C Ichor Wellspring @Steven Belledin 111 R Knowledge Pool @Mike Bierek diff --git a/forge-gui/res/editions/Modern Horizons 2.txt b/forge-gui/res/editions/Modern Horizons 2.txt index 05b16e16ce3..e9982c61934 100644 --- a/forge-gui/res/editions/Modern Horizons 2.txt +++ b/forge-gui/res/editions/Modern Horizons 2.txt @@ -60,7 +60,7 @@ ScryfallCode=MH2 46 C Hard Evidence @Yeong-Hao Han 47 R Inevitable Betrayal @Franz Vohwinkel 48 U Junk Winder @Campbell White -49 C Lose Focus @Martina Fackova +49 C Lose Focus @Martina Fačková 50 U Lucid Dreams @Nils Hamm 51 C Mental Journey @Jim Pavelec 52 M Murktide Regent @Lucas Graciano @@ -132,7 +132,7 @@ ScryfallCode=MH2 118 R Calibrated Blast @Evan Shipard 119 U Captain Ripley Vance @Mathias Kollros 120 R Chef's Kiss @Iain McCaig -121 U Dragon's Rage Channeler @Martina Fackova +121 U Dragon's Rage Channeler @Martina Fačková 122 C Faithless Salvaging @Bud Cook 123 U Fast // Furious @Deruchenko Alexander 124 U Flame Blitz @Colin Boyer @@ -222,7 +222,7 @@ ScryfallCode=MH2 208 R Priest of Fell Rites @Pauline Voss 209 U Prophetic Titan @Slawomir Maniak 210 U Rakdos Headliner @Ekaterina Burmak -211 U Ravenous Squirrel @Dan Scott +211 U Ravenous Squirrel @Dan Murayama Scott 212 U Road // Ruin @Johann Bodin 213 C Storm God's Oracle @Pauline Voss 214 R Sythis, Harvest's Hand @Ryan Yee @@ -303,7 +303,7 @@ ScryfallCode=MH2 287 M Titania, Protector of Argoth @Magali Villeneuve 288 U Yavimaya Elder @Matt Cavotta 289 R Chainer, Nightmare Adept @Steve Prescott -290 R Fire // Ice @Dan Scott +290 R Fire // Ice @Dan Murayama Scott 291 M Mirari's Wake @Volkan Baǵa 292 R Shardless Agent @Izzy 293 R Sterling Grove @Seb McKinnon @@ -392,7 +392,7 @@ ScryfallCode=MH2 372 R Priest of Fell Rites @Pauline Voss 373 U Prophetic Titan @Slawomir Maniak 374 U Rakdos Headliner @Ekaterina Burmak -375 U Ravenous Squirrel @Dan Scott +375 U Ravenous Squirrel @Dan Murayama Scott 376 U Road // Ruin @Johann Bodin 377 R Sythis, Harvest's Hand @Ryan Yee 378 R Dermotaxi @Mark Zug diff --git a/forge-gui/res/editions/Modern Horizons 3.txt b/forge-gui/res/editions/Modern Horizons 3.txt index a339d3a68f3..4da28ba305a 100644 --- a/forge-gui/res/editions/Modern Horizons 3.txt +++ b/forge-gui/res/editions/Modern Horizons 3.txt @@ -301,7 +301,7 @@ Replace=.042F fromSheet("MH3 alternate frame") 251 M Grist, Voracious Larva @Chris Rahn 252 U Bloodsoaked Insight @David Álvarez 253 U Drowner of Truth @Nicholas Gregory -254 U Glasswing Grace @Craig Elliott +254 U Glasswing Grace @Craig Elliott & Maxime Minard 255 U Legion Leadership @Ryan Valle 256 U Revitalizing Repast @Raoul Vitale 257 U Rush of Inspiration @Jorge Jacinto diff --git a/forge-gui/res/editions/Modern Horizons.txt b/forge-gui/res/editions/Modern Horizons.txt index dc6312a2b0d..b23b38581f6 100644 --- a/forge-gui/res/editions/Modern Horizons.txt +++ b/forge-gui/res/editions/Modern Horizons.txt @@ -27,7 +27,7 @@ ScryfallCode=MH1 14 C Impostor of the Sixth Pride @Chris Seaman 15 C Irregular Cohort @Steve Argyle 16 U King of the Pride @Jonathan Kuo -17 C Knight of Old Benalia @Dan Scott +17 C Knight of Old Benalia @Dan Murayama Scott 18 C Lancer Sliver @Lucas Graciano 19 C Martyr's Soul @Mila Pesic 20 R On Thin Ice @Lucas Graciano @@ -59,11 +59,11 @@ ScryfallCode=MH1 46 M Echo of Eons @Terese Nielsen 47 U Everdream @Nils Hamm 48 U Exclude @Jehan Choo -49 C Eyekite @Dan Scott +49 C Eyekite @Dan Murayama Scott 50 U Fact or Fiction @Matt Cavotta 51 C Faerie Seer @Colin Boyer 52 R Force of Negation @Paul Scott Canavan -53 R Future Sight @Dan Scott +53 R Future Sight @Dan Murayama Scott 54 C Iceberg Cancrix @Ravenna Tran 55 C Man-o'-War @Jon J Muth 56 R Marit Lage's Slumber @Randy Vargas @@ -170,7 +170,7 @@ ScryfallCode=MH1 157 C Bellowing Elk @Lucas Graciano 158 R Collector Ouphe @Filip Burburan 159 U Conifer Wurm @Raoul Vitale -160 R Crashing Footfalls @Dan Scott +160 R Crashing Footfalls @Dan Murayama Scott 161 R Deep Forest Hermit @Chris Seaman 162 C Elvish Fury @Randy Vargas 163 C Excavating Anurid @Joe Slucher @@ -185,7 +185,7 @@ ScryfallCode=MH1 172 C Murasa Behemoth @Dave Kendall 173 U Nantuko Cultivator @Jehan Choo 174 C Nimble Mongoose @Kev Walker -175 U Regrowth @Dan Scott +175 U Regrowth @Dan Murayama Scott 176 C Rime Tender @Bastien L. Deharme 177 U Saddled Rimestag @Winona Nelson 178 C Savage Swipe @David Gaillet diff --git a/forge-gui/res/editions/Modern Masters 2015.txt b/forge-gui/res/editions/Modern Masters 2015.txt index 3cf37ffa4f4..3ab44182291 100644 --- a/forge-gui/res/editions/Modern Masters 2015.txt +++ b/forge-gui/res/editions/Modern Masters 2015.txt @@ -106,7 +106,7 @@ ScryfallCode=MM2 93 U Scavenger Drake @Trevor Claxton 94 C Scuttling Death @Thomas M. Baxa 95 C Shrivel @Jung Park -96 C Sickle Ripper @Dan Scott +96 C Sickle Ripper @Dan Murayama Scott 97 C Sign in Blood @Howard Lyon 98 U Spread the Sickness @Jaime Jones 99 R Surgical Extraction @Steven Belledin @@ -141,7 +141,7 @@ ScryfallCode=MM2 128 U Spitebellows @Larry MacDougall 129 R Splinter Twin @Goran Josic 130 U Stormblood Berserker @Min Yum -131 R Thunderblust @Dan Scott +131 R Thunderblust @Dan Murayama Scott 132 C Tribal Flames @Zack Stella 133 C Viashino Slaughtermaster @Raymond Swanland 134 R Wildfire @Rob Alexander @@ -155,7 +155,7 @@ ScryfallCode=MM2 142 C Commune with Nature @Lars Grant-West 143 U Cytoplast Root-Kin @Thomas M. Baxa 144 C Gnarlid Pack @Johann Bodin -145 U Karplusan Strider @Dan Scott +145 U Karplusan Strider @Dan Murayama Scott 146 C Kavu Primarch @Kev Walker 147 C Kozilek's Predator @Steve Argyle 148 C Matca Rioters @Steve Argyle @@ -227,7 +227,7 @@ ScryfallCode=MM2 214 C Flayer Husk @Igor Kieryluk 215 C Frogmite @Terese Nielsen 216 C Glint Hawk Idol @Dave Allsop -217 C Gust-Skimmer @Dan Scott +217 C Gust-Skimmer @Dan Murayama Scott 218 C Kitesail @Cyril Van Der Haegen 219 R Lodestone Golem @Chris Rahn 220 R Lodestone Myr @Greg Staples diff --git a/forge-gui/res/editions/Modern Masters 2017.txt b/forge-gui/res/editions/Modern Masters 2017.txt index d1f3680cea9..179f71bd86a 100644 --- a/forge-gui/res/editions/Modern Masters 2017.txt +++ b/forge-gui/res/editions/Modern Masters 2017.txt @@ -21,7 +21,7 @@ ScryfallCode=MM3 8 C Graceful Reprieve @William O'Connor 9 U Intangible Virtue @Clint Cearley 10 C Kor Hookmaster @Wayne Reynolds -11 C Kor Skyfisher @Dan Scott +11 C Kor Skyfisher @Dan Murayama Scott 12 U Lingering Souls @John Stanko 13 M Linvala, Keeper of Silence @Igor Kieryluk 14 C Lone Missionary @Svetlin Velinov @@ -134,7 +134,7 @@ ScryfallCode=MM3 121 R Call of the Herd @Carl Critchlow 122 M Craterhoof Behemoth @Chris Rahn 123 C Death-Hood Cobra @Jason Felix -124 C Druid's Deliverance @Dan Scott +124 C Druid's Deliverance @Dan Murayama Scott 125 C Explore @John Avon 126 C Fists of Ironwood @Glen Angus 127 U Gaea's Anthem @Greg Staples @@ -183,7 +183,7 @@ ScryfallCode=MM3 170 U Gruul War Chant @Dave Kendall 171 U Izzet Charm @Zoltan Boros 172 C Kathari Bomber @Carl Critchlow -173 U Moroii @Dan Scott +173 U Moroii @Dan Murayama Scott 174 U Mystic Genesis @Mike Bierek 175 R Niv-Mizzet, Dracogenius @Todd Lockwood 176 R Obzedat, Ghost Council @Svetlin Velinov diff --git a/forge-gui/res/editions/Modern Masters.txt b/forge-gui/res/editions/Modern Masters.txt index 8c93675957a..d2b8284bd12 100644 --- a/forge-gui/res/editions/Modern Masters.txt +++ b/forge-gui/res/editions/Modern Masters.txt @@ -25,7 +25,7 @@ ScryfallCode=MMA 12 C Dispeller's Capsule @Franz Vohwinkel 13 M Elspeth, Knight-Errant @Volkan Baǵa 14 R Ethersworn Canonist @Izzy -15 U Feudkiller's Verdict @Dan Scott +15 U Feudkiller's Verdict @Dan Murayama Scott 16 U Flickerwisp @Jeremy Enecio 17 C Gleam of Resistance @Matt Stewart 18 C Hillcomber Giant @Ralph Horsley @@ -79,7 +79,7 @@ ScryfallCode=MMA 66 U Take Possession @Michael Phillippi 67 U Thirst for Knowledge @Anthony Francisco 68 C Traumatic Visions @Cyril Van Der Haegen -69 C Vedalken Dismisser @Dan Scott +69 C Vedalken Dismisser @Dan Murayama Scott 70 M Vendilion Clique @Michael Sutfin 71 C Absorb Vis @Brandon Kitkouski 72 U Auntie's Snitch @Warren Mahy @@ -111,7 +111,7 @@ ScryfallCode=MMA 98 C Stinkweed Imp @Nils Hamm 99 C Street Wraith @Cyril Van Der Haegen 100 C Syphon Life @Dan Seagrave -101 C Thieving Sprite @Dan Scott +101 C Thieving Sprite @Dan Murayama Scott 102 R Tombstalker @Aleksi Briclot 103 C Warren Pilferers @Wayne Reynolds 104 C Warren Weirding @Matt Cavotta @@ -234,7 +234,7 @@ ScryfallCode=MMA 221 R City of Brass @Jung Park 222 U Dakmor Salvage @John Avon 223 R Glimmervoid @Lars Grant-West -224 C Terramorphic Expanse @Dan Scott +224 C Terramorphic Expanse @Dan Murayama Scott 225 U Vivid Crag @Martina Pilcerova 226 U Vivid Creek @Fred Fields 227 U Vivid Grove @Howard Lyon diff --git a/forge-gui/res/editions/Morningtide.txt b/forge-gui/res/editions/Morningtide.txt index 47233ca7fb8..0ec224e56d5 100644 --- a/forge-gui/res/editions/Morningtide.txt +++ b/forge-gui/res/editions/Morningtide.txt @@ -19,7 +19,7 @@ ScryfallCode=MOR 6 C Changeling Sentinel @Chuck Lukacs 7 C Coordinated Barrage @Franz Vohwinkel 8 U Daily Regimen @Warren Mahy -9 R Feudkiller's Verdict @Dan Scott +9 R Feudkiller's Verdict @Dan Murayama Scott 10 C Forfend @Franz Vohwinkel 11 U Graceful Reprieve @William O'Connor 12 R Idyllic Tutor @Howard Lyon @@ -59,7 +59,7 @@ ScryfallCode=MOR 46 U Research the Deep @Eric Fortune 47 U Sage of Fables @Shelly Wan 48 U Sage's Dousing @Richard Sardinha -49 R Sigil Tracer @Dan Scott +49 R Sigil Tracer @Dan Murayama Scott 50 R Slithermuse @Steven Belledin 51 C Stonybrook Banneret @Ralph Horsley 52 C Stream of Unconsciousness @Rebecca Guay @@ -103,7 +103,7 @@ ScryfallCode=MOR 90 C Fire Juggler @Thomas Denmark 91 C Hostile Realm @John Avon 92 C Kindled Fury @Shelly Wan -93 R Lightning Crafter @Dan Scott +93 R Lightning Crafter @Dan Murayama Scott 94 C Lunk Errant @Warren Mahy 95 C Mudbutton Clanger @Larry MacDougall 96 U Pyroclast Consul @Christopher Moeller @@ -140,7 +140,7 @@ ScryfallCode=MOR 127 U Hunting Triad @Jim Nelson 128 R Leaf-Crowned Elder @Wayne Reynolds 129 C Luminescent Rain @John Avon -130 C Lys Alana Bowmaster @Dan Scott +130 C Lys Alana Bowmaster @Dan Murayama Scott 131 U Orchard Warden @Rebecca Guay 132 R Reach of Branches @Scott Hampton 133 U Recross the Paths @Greg Hildebrandt diff --git a/forge-gui/res/editions/Multiverse Legends.txt b/forge-gui/res/editions/Multiverse Legends.txt index 3f5f3b6e77e..0923c48a0af 100644 --- a/forge-gui/res/editions/Multiverse Legends.txt +++ b/forge-gui/res/editions/Multiverse Legends.txt @@ -118,7 +118,7 @@ ScryfallCode=MUL 110 R Judith, the Scourge Diva @Wesley Burt 111 U Juri, Master of the Revue @Dmitry Burmak 112 R Kaheera, the Orphanguard @Ryan Pancoast -113 R Keruga, the Macrosage @Dan Scott +113 R Keruga, the Macrosage @Dan Murayama Scott 114 M Kroxa, Titan of Death's Hunger @Vincent Proce 115 R Lathiel, the Bounteous Dawn @Lucas Graciano 116 R Lurrus of the Dream-Den @Slawomir Maniak diff --git a/forge-gui/res/editions/Murders at Karlov Manor Commander.txt b/forge-gui/res/editions/Murders at Karlov Manor Commander.txt index 3cd2f672cf5..4ee3ff55a7f 100644 --- a/forge-gui/res/editions/Murders at Karlov Manor Commander.txt +++ b/forge-gui/res/editions/Murders at Karlov Manor Commander.txt @@ -117,7 +117,7 @@ ScryfallCode=MKC 109 M Mechanized Production @Adam Paquette 110 R Mission Briefing @Matt Stewart 111 U Mulldrifter @Eric Fortune -112 R Nadir Kraken @Dan Scott +112 R Nadir Kraken @Dan Murayama Scott 113 U Nightveil Sprite @Uriah Voth 114 U Ongoing Investigation @Bud Cook 115 C Otherworldly Gaze @Chris Cold @@ -208,7 +208,7 @@ ScryfallCode=MKC 200 R Baleful Strix @Nils Hamm 201 R Boros Reckoner @Howard Lyon 202 M Chulane, Teller of Tales @Victor Adame Minguez -203 R Connive // Concoct @Dan Scott +203 R Connive // Concoct @Dan Murayama Scott 204 R Decimate @Zoltan Boros 205 R Deflecting Palm @Eric Deschamps 206 U Dimir Spybug @James Paick @@ -228,7 +228,7 @@ ScryfallCode=MKC 220 C Wavesifter @Nils Hamm 221 R Academy Manufactor @Campbell White 222 R Ancient Stone Idol @Josh Hass -223 C Arcane Signet @Dan Scott +223 C Arcane Signet @Dan Murayama Scott 224 U Azorius Signet @Raoul Vitale 225 U Bloodthirsty Blade @Jason Kang 226 U Dimir Signet @Raoul Vitale @@ -243,7 +243,7 @@ ScryfallCode=MKC 235 R Scroll of Fate @Piotr Dura 236 U Simic Signet @Mike Sass 237 U Sol Ring @Mike Bierek -238 R Solemn Simulacrum @Dan Scott +238 R Solemn Simulacrum @Dan Murayama Scott 239 R Steel Hellkite @James Paick 240 U Talisman of Conviction @Lindsey Look 241 U Talisman of Curiosity @Lindsey Look diff --git a/forge-gui/res/editions/New Phyrexia.txt b/forge-gui/res/editions/New Phyrexia.txt index 24c21cbf319..460e7213ea6 100644 --- a/forge-gui/res/editions/New Phyrexia.txt +++ b/forge-gui/res/editions/New Phyrexia.txt @@ -45,7 +45,7 @@ ScryfallCode=NPH 31 R Chancellor of the Spires @Nils Hamm 32 U Corrupted Resolve @Greg Staples 33 U Deceiver Exarch @Izzy -34 C Defensive Stance @Dan Scott +34 C Defensive Stance @Dan Murayama Scott 35 C Gitaxian Probe @Chippy 36 C Impaler Shrike @Nils Hamm 37 M Jin-Gitaxias, Core Augur @Eric Deschamps @@ -54,7 +54,7 @@ ScryfallCode=NPH 40 C Numbing Dose @Brad Rigney 41 R Phyrexian Ingester @Chris Rahn 42 R Phyrexian Metamorph @Jana Schirmer & Johannes Voss -43 C Psychic Barrier @Dan Scott +43 C Psychic Barrier @Dan Murayama Scott 44 R Psychic Surgery @Anthony Francisco 45 C Spined Thopter @Pete Venters 46 C Spire Monitor @Daniel Ljunggren @@ -118,7 +118,7 @@ ScryfallCode=NPH 104 R Birthing Pod @Daarken 105 U Brutalizer Exarch @Mark Zug 106 R Chancellor of the Tangle @Steve Prescott -107 U Corrosive Gale @Dan Scott +107 U Corrosive Gale @Dan Murayama Scott 108 C Death-Hood Cobra @Jason Felix 109 R Fresh Meat @Dave Allsop 110 C Glissa's Scorn @Nils Hamm @@ -133,7 +133,7 @@ ScryfallCode=NPH 119 R Phyrexian Swarmlord @Svetlin Velinov 120 C Rotted Hystrix @Dave Allsop 121 U Spinebiter @Jaime Jones -122 C Thundering Tanadon @Dan Scott +122 C Thundering Tanadon @Dan Murayama Scott 123 U Triumph of the Hordes @Izzy 124 C Viridian Betrayers @Karl Kopinski 125 C Viridian Harvest @Johann Bodin @@ -149,7 +149,7 @@ ScryfallCode=NPH 135 M Etched Monstrosity @Steven Belledin 136 C Gremlin Mine @Matt Stewart 137 R Hex Parasite @Raymond Swanland -138 C Hovermyr @Dan Scott +138 C Hovermyr @Dan Murayama Scott 139 C Immolating Souleater @Austin Hsu 140 C Insatiable Souleater @Dave Kendall 141 U Isolation Cell @Adrian Smith diff --git a/forge-gui/res/editions/Oath of the Gatewatch Promos.txt b/forge-gui/res/editions/Oath of the Gatewatch Promos.txt index 9d7d3675cbb..390ba23ac43 100644 --- a/forge-gui/res/editions/Oath of the Gatewatch Promos.txt +++ b/forge-gui/res/editions/Oath of the Gatewatch Promos.txt @@ -13,5 +13,5 @@ ScryfallCode=POGW 68 R Dread Defiler @Joseph Meehan 110 R Goblin Dark-Dwellers @Karl Kopinski 119 R Tyrant of Valakut @Steven Belledin -132 R Gladehart Cavalry @Dan Scott +132 R Gladehart Cavalry @Dan Murayama Scott 155 R Jori En, Ruin Diver @Matt Stewart diff --git a/forge-gui/res/editions/Oath of the Gatewatch.txt b/forge-gui/res/editions/Oath of the Gatewatch.txt index 0d61ea059d2..005ed48174a 100644 --- a/forge-gui/res/editions/Oath of the Gatewatch.txt +++ b/forge-gui/res/editions/Oath of the Gatewatch.txt @@ -47,7 +47,7 @@ ScryfallCode=OGW 32 U Relief Captain @Anastasia Ovchinnikova 33 C Searing Light @Marco Nelor 34 C Shoulder to Shoulder @Chris Rallis -35 C Spawnbinder Mage @Dan Scott +35 C Spawnbinder Mage @Dan Murayama Scott 36 U Steppe Glider @John Severin Brassell 37 R Stone Haven Outfitter @Jason Rainville 38 U Stoneforge Acolyte @Chris Rallis @@ -91,7 +91,7 @@ ScryfallCode=OGW 76 U Reaver Drone @Chris Rallis 77 R Sifter of Skulls @Slawomir Maniak 78 C Sky Scourer @Winona Nelson -79 C Slaughter Drone @Dan Scott +79 C Slaughter Drone @Dan Murayama Scott 80 C Unnatural Endurance @Mathias Kollros 81 U Visions of Brutality @Jama Jurabaev 82 C Witness the End @Igor Kieryluk @@ -158,7 +158,7 @@ ScryfallCode=OGW 143 U Seed Guardian @Vincent Proce 144 R Sylvan Advocate @Volkan Baǵa 145 C Tajuru Pathwarden @Victor Adame Minguez -146 C Vines of the Recluse @Dan Scott +146 C Vines of the Recluse @Dan Murayama Scott 147 R Zendikar Resurgent @Chris Rallis 148 U Flayer Drone @Lius Lasahido 149 U Mindmelter @Jason Felix diff --git a/forge-gui/res/editions/Outlaws of Thunder Junction Commander.txt b/forge-gui/res/editions/Outlaws of Thunder Junction Commander.txt index 0e39fb878a2..b692a9e0485 100644 --- a/forge-gui/res/editions/Outlaws of Thunder Junction Commander.txt +++ b/forge-gui/res/editions/Outlaws of Thunder Junction Commander.txt @@ -107,7 +107,7 @@ ScryfallCode=OTC 99 R Haughty Djinn @Mike Jordana 100 R Midnight Clock @Alexander Forssberg 101 M Mind's Dilation @Iain McCaig -102 U Murmuring Mystic @Mark Winters +102 C Murmuring Mystic @Mark Winters 103 R Octavia, Living Thesis @Simon Dominic 104 C Opt @Dan Murayama Scott 105 C Ponder @Dan Murayama Scott @@ -174,7 +174,7 @@ ScryfallCode=OTC 166 M Finale of Promise @Jaime Jones 167 U Glittering Stockpile @Brock Grossman 168 R Grenzo, Havoc Raiser @Svetlin Velinov -169 C Guttersnipe @Andrey Kuzinskiy +169 U Guttersnipe @Andrey Kuzinskiy 170 U Humble Defector @Slawomir Maniak 171 C Impulsive Pilferer @Nicholas Gregory 172 R Laurine, the Diversion @Andrey Kuzinskiy @@ -266,7 +266,7 @@ ScryfallCode=OTC 258 R Idol of Oblivion @Piotr Dura 259 C Izzet Signet @Raoul Vitale 260 U Lightning Greaves @Jeremy Jarvis -261 C Orzhov Signet @Martina Pilcerova +261 U Orzhov Signet @Martina Pilcerova 262 R Perennial Behemoth @Wayne Reynolds 263 U Perpetual Timepiece @Cliff Childs 264 U Prismatic Lens @Alan Pollack @@ -293,7 +293,7 @@ ScryfallCode=OTC 285 C Desert of the Indomitable @James Paick 286 C Desert of the True @Jung Park 287 R Desolate Mire @Rockey Chen -288 C Dimir Aqueduct @John Avon +288 U Dimir Aqueduct @John Avon 289 R Dragonskull Summit @Jon Foster 290 R Drowned Catacomb @Jung Park 291 U Dunes of the Dead @E. M. Gist diff --git a/forge-gui/res/editions/Phyrexia All Will Be One Commander.txt b/forge-gui/res/editions/Phyrexia All Will Be One Commander.txt index 14cac95fb11..a57a52c0489 100644 --- a/forge-gui/res/editions/Phyrexia All Will Be One Commander.txt +++ b/forge-gui/res/editions/Phyrexia All Will Be One Commander.txt @@ -14,8 +14,8 @@ ScryfallCode=ONC 6 R Glimmer Lens @Sidharth Chaturvedi 7 R Kemba's Banner @Wisnu Tan 8 R Norn's Choirmaster @Jason A. Engle -9 R Norn's Decree @Nestor Ossandon Leal -10 R Staff of the Storyteller @Dan Scott +9 R Norn's Decree @Néstor Ossandón Leal +10 R Staff of the Storyteller @Dan Murayama Scott 11 R Geth's Summons @Johann Bodin 12 R Phyresis Outbreak @Matthew G. Lewis 13 R Goldwardens' Gambit @Manuel Castañón @@ -52,8 +52,8 @@ ScryfallCode=ONC 44 R Glimmer Lens @Sidharth Chaturvedi 45 R Kemba's Banner @Wisnu Tan 46 R Norn's Choirmaster @Jason A. Engle -47 R Norn's Decree @Nestor Ossandon Leal -48 R Staff of the Storyteller @Dan Scott +47 R Norn's Decree @Néstor Ossandón Leal +48 R Staff of the Storyteller @Dan Murayama Scott 49 R Geth's Summons @Johann Bodin 50 R Phyresis Outbreak @Matthew G. Lewis 51 R Goldwardens' Gambit @Manuel Castañón @@ -109,7 +109,7 @@ ScryfallCode=ONC 101 R Legion Warboss @Alex Konstad 102 U Loyal Apprentice @Joe Slucher 103 R Siege-Gang Commander @Aaron Miller -104 S Beast Within @Dave Allsop +104 U Beast Within @Dave Allsop 105 C Blight Mamba @Drew Baker 106 U Carrion Call @Adrian Smith 107 C Cultivate @Anthony Palumbo @@ -130,7 +130,7 @@ ScryfallCode=ONC 122 U Mortify @Anthony Palumbo 123 U Putrefy @Clint Cearley 124 U Rip Apart @Anna Podedworna -125 C Arcane Signet @Dan Scott +125 C Arcane Signet @Dan Murayama Scott 126 U Boros Signet @Mike Sass 127 R Chromatic Lantern @Jung Park 128 C Commander's Sphere @Ryan Alexander Lee diff --git a/forge-gui/res/editions/Phyrexia All Will Be One.txt b/forge-gui/res/editions/Phyrexia All Will Be One.txt index b69261bb40f..de9b2b065e3 100644 --- a/forge-gui/res/editions/Phyrexia All Will Be One.txt +++ b/forge-gui/res/editions/Phyrexia All Will Be One.txt @@ -19,7 +19,7 @@ ScryfallCode=ONE 7 C Compleat Devotion @Filipe Pagliuso 8 C Crawling Chorus @Michael Walsh 9 C Duelist of Deep Faith @Marcela Bolívar -10 M Elesh Norn, Mother of Machines @Martina Fackova +10 M Elesh Norn, Mother of Machines @Martina Fačková 11 R The Eternal Wanderer @Alix Branwyn 12 C Flensing Raptor @Abz J Harding 13 C Goldwarden's Helm @Vincent Christiaens @@ -113,7 +113,7 @@ ScryfallCode=ONE 101 U Nimraiser Paladin @José Parodi 102 C Offer Immortality @A. M. Sartor 103 C Pestilent Syphoner @Brian Valeza -104 R Phyrexian Arena @Martina Fackova +104 R Phyrexian Arena @Martina Fačková 105 M Phyrexian Obliterator @Maxim Kostin 106 U Ravenous Necrotitan @Johann Bodin 107 U Scheming Aspirant @Lauren K. Cannon @@ -238,7 +238,7 @@ ScryfallCode=ONE 226 C Dune Mover @Kev Walker 227 R The Filigree Sylex @Leanna Crossan 228 C Furnace Skullbomb @Matt Forsyth -229 R Graaz, Unstoppable Juggernaut @Nestor Ossandon Leal +229 R Graaz, Unstoppable Juggernaut @Néstor Ossandón Leal 230 U Ichorplate Golem @Sam Wolfe Connelly 231 C Maze Skullbomb @Matt Forsyth 232 R Mirran Safehouse @Piotr Dura @@ -288,12 +288,12 @@ ScryfallCode=ONE 276 L Forest @Nadia Hurianova [jumpstart] -404 R Mite Overseer @Nestor Ossandon Leal +404 R Mite Overseer @Néstor Ossandón Leal 405 R Serum Sovereign @Chris Rallis 406 R Kinzu of the Bleak Coven @Andreas Zafiratos 407 R Rhuk, Hexgold Nabber @Andrea De Dominicis 408 R Goliath Hatchery @Simon Dominic -409 R Mite Overseer @Nestor Ossandon Leal +409 R Mite Overseer @Néstor Ossandón Leal 410 R Serum Sovereign @Chris Rallis 411 R Kinzu of the Bleak Coven @Andreas Zafiratos 412 R Rhuk, Hexgold Nabber @Andrea De Dominicis @@ -315,7 +315,7 @@ ScryfallCode=ONE 297 U Myr Convert @JungShan 298 M Elesh Norn, Mother of Machines @Dominik Mayer 299 M Mondrak, Glory Dominus @Flavio Girón -300 M Phyrexian Vindicator @shikee +300 M Phyrexian Vindicator @Shikee 301 R Skrelv, Defector Mite @Sidharth Chaturvedi 302 M Tekuthal, Inquiry Dominus @Dominik Mayer 303 R Unctus, Grand Metatect @Sidharth Chaturvedi @@ -324,7 +324,7 @@ ScryfallCode=ONE 306 R Geth, Thane of Contracts @Flavio Girón 307 R Karumonix, the Rat King @Flavio Girón 308 M Phyrexian Obliterator @Yu-ki Nishimoto -309 R Vraan, Executioner Thane @shikee +309 R Vraan, Executioner Thane @Shikee 310 M Capricious Hellraiser @Kekai Kotaki 311 R Slobad, Iron Goblin @Dominik Mayer 312 M Solphim, Mayhem Dominus @Dominik Mayer @@ -375,17 +375,17 @@ ScryfallCode=ONE 367 L Swamp @Daria Khlebnikova 368 L Mountain @Indra Nugroho 369 L Forest @Alayna Danner -414 M Elesh Norn, Mother of Machines @Martina Fackova +414 M Elesh Norn, Mother of Machines @Martina Fačková 415 M Elesh Norn, Mother of Machines @Junji Ito 417 U Bladed Ambassador @Ravenna Tran -418 M Elesh Norn, Mother of Machines @Martina Fackova +418 M Elesh Norn, Mother of Machines @Martina Fačková 419 M Elesh Norn, Mother of Machines @Junji Ito 420 M Elesh Norn, Mother of Machines @Dominik Mayer 421 M Elesh Norn, Mother of Machines @Richard Whitters 422 R The Eternal Wanderer @Kento Matsuura 423 R Kemba, Kha Enduring @Izumi Tomoki 424 M Mondrak, Glory Dominus @Flavio Girón -425 M Phyrexian Vindicator @shikee +425 M Phyrexian Vindicator @Shikee 426 C Sinew Dancer @Kekai Kotaki 427 R Skrelv, Defector Mite @Sidharth Chaturvedi 428 M Jace, the Perfected Mind @Showichi Furumi @@ -401,7 +401,7 @@ ScryfallCode=ONE 438 R Geth, Thane of Contracts @Flavio Girón 439 R Karumonix, the Rat King @Flavio Girón 440 M Phyrexian Obliterator @Yu-ki Nishimoto -441 R Vraan, Executioner Thane @shikee +441 R Vraan, Executioner Thane @Shikee 442 M Vraska, Betrayal's Sting @Sansyu 443 M Vraska, Betrayal's Sting @Chase Stone 444 M Capricious Hellraiser @Kekai Kotaki @@ -469,7 +469,7 @@ ScryfallCode=ONE 381 R Mercurial Spelldancer @Marcela Bolívar 382 R Mindsplice Apparatus @Ovidio Cartagena 383 R Black Sun's Twilight @Jonas De Ro -384 R Phyrexian Arena @Martina Fackova +384 R Phyrexian Arena @Martina Fačková 385 R Dragonwing Glider @Andreas Zafiratos 386 R Red Sun's Twilight @Julian Kok Joon Wen 387 R Urabrask's Forge @Lie Setiawan @@ -500,7 +500,7 @@ ScryfallCode=ONE 280 U Bladehold War-Whip @Tony Foti 281 U Slaughter Singer @Adam Burn 282 R Karumonix, the Rat King @Jason A. Engle -283 R Phyrexian Arena @Martina Fackova +283 R Phyrexian Arena @Martina Fačková [tokens] c_1_1_a_phyrexian_mite_toxic_noblock diff --git a/forge-gui/res/editions/Pioneer Challenge Decks 2021.txt b/forge-gui/res/editions/Pioneer Challenge Decks 2021.txt index 7d5810d69b9..2dae99a624d 100644 --- a/forge-gui/res/editions/Pioneer Challenge Decks 2021.txt +++ b/forge-gui/res/editions/Pioneer Challenge Decks 2021.txt @@ -8,7 +8,7 @@ ScryfallCode=Q06 [cards] 1 R Approach of the Second Sun @Kev Walker 2 C Ethereal Armor @Daarken -3 R Isolate @Adame Minguez +3 R Isolate @Victor Adame Minguez 4 U Silkwrap @David Gaillet 5 C Hidden Strings @Daarken 6 M Chandra, Torch of Defiance @Magali Villeneuve diff --git a/forge-gui/res/editions/Planar Chaos.txt b/forge-gui/res/editions/Planar Chaos.txt index ef0bfd36658..4f8efaa3fc6 100644 --- a/forge-gui/res/editions/Planar Chaos.txt +++ b/forge-gui/res/editions/Planar Chaos.txt @@ -23,7 +23,7 @@ ScryfallCode=PLC 10 C Pallid Mycoderm @Jim Nelson 11 C Poultice Sliver @Randy Gallegos 12 U Rebuff the Wicked @Stephen Tappin -13 R Retether @Dan Scott +13 R Retether @Dan Murayama Scott 14 U Riftmarked Knight @William O'Connor 15 U Saltblast @Paolo Parente 16 C Saltfield Recluse @Brian Despain @@ -49,7 +49,7 @@ ScryfallCode=PLC 36 R Braids, Conjurer Adept @Zoltan Boros & Gabor Szikszai 37 R Chronozoa @James Wong 38 R Dichotomancy @Steven Belledin -39 U Dismal Failure @Dan Scott +39 U Dismal Failure @Dan Murayama Scott 40 C Dreamscape Artist @Jim Murray 41 C Erratic Mutation @Zoltan Boros & Gabor Szikszai 42 U Jodah's Avenger @Pete Venters @@ -71,7 +71,7 @@ ScryfallCode=PLC 58 C Piracy Charm @John Avon 59 C Primal Plasma @Luca Zontini 60 U Riptide Pilferer @Steve Prescott -61 R Serendib Sorcerer @Dan Scott +61 R Serendib Sorcerer @Dan Murayama Scott 62 R Serra Sphinx @Daren Bader 63 U Big Game Hunter @Carl Critchlow 64 C Blightspeaker @Ron Spears @@ -142,7 +142,7 @@ ScryfallCode=PLC 129 C Giant Dustwasp @Greg Hildebrandt 130 U Hunting Wilds @Steve Ellis 131 R Jedit Ojanen of Efrava @Carl Critchlow -132 U Kavu Predator @Dan Scott +132 U Kavu Predator @Dan Murayama Scott 133 R Life and Limb @Jim Nelson 134 R Magus of the Library @Wayne Reynolds 135 C Mire Boa @Greg Hildebrandt @@ -168,7 +168,7 @@ ScryfallCode=PLC 155 U Darkheart Sliver @rk post 156 U Dormant Sliver @Lars Grant-West 157 U Frenetic Sliver @Luca Zontini -158 R Intet, the Dreamer @Dan Scott +158 R Intet, the Dreamer @Dan Murayama Scott 159 U Necrotic Sliver @Dave Allsop 160 R Numot, the Devastator @Dan Dos Santos 161 R Oros, the Avenger @Daren Bader diff --git a/forge-gui/res/editions/Planeshift.txt b/forge-gui/res/editions/Planeshift.txt index db4139e6596..71e622e3185 100644 --- a/forge-gui/res/editions/Planeshift.txt +++ b/forge-gui/res/editions/Planeshift.txt @@ -85,8 +85,8 @@ ScryfallCode=PLS 71 C Singe @John Avon 72 C Slingshot Goblin @Jeff Easley 73 U Strafe @Jim Nelson -74 S Tahngarth, Talruum Hero @Dave Dorman 74 R Tahngarth, Talruum Hero @Dave Dorman +74★ R Tahngarth, Talruum Hero @Kev Walker 75 U Thunderscape Battlemage @Mike Ploog 76 C Thunderscape Familiar @Daren Bader 77 U Alpha Kavu @Matt Cavotta @@ -120,7 +120,7 @@ ScryfallCode=PLS 105 U Dromar's Charm @David Martin 106 R Eladamri's Call @Kev Walker 107 R Ertai, the Corrupted @Mark Tedin -107 S Ertai, the Corrupted @Mark Tedin +107★ R Ertai, the Corrupted @Kev Walker 108 U Fleetfoot Panther @Mark Brill 109 C Gerrard's Command @Roger Raupp 110 C Horned Kavu @Michael Sutfin @@ -147,7 +147,7 @@ ScryfallCode=PLS 131 R Draco @Sam Wood 132 U Mana Cylix @Donato Giancola 133 R Skyship Weatherlight @Mark Tedin -133 S Skyship Weatherlight @Mark Tedin +133★ R Skyship Weatherlight @Kev Walker 134 U Star Compass @Donato Giancola 135 U Stratadon @Brian Snõddy 136 U Crosis's Catacombs @Edward P. Beard, Jr. diff --git a/forge-gui/res/editions/Portal.txt b/forge-gui/res/editions/Portal.txt index 22e5129374a..8b7a83d5710 100644 --- a/forge-gui/res/editions/Portal.txt +++ b/forge-gui/res/editions/Portal.txt @@ -71,7 +71,7 @@ ScryfallCode=POR 55 U Flux @Ted Naifeh 56 C Giant Octopus @John Matson 57 C Horned Turtle @Adrian Smith -57s C Horned Turtle @王玉群 +57s C Horned Turtle @Wang Yuqun 58 U Ingenious Thief @Dan Frazier 59 U Man-o'-War @Una Fricker 60 C Merfolk of the Pearl Trident @DiTerlizzi @@ -199,7 +199,7 @@ ScryfallCode=POR 164s C Elven Cache @张艺娜 165 C Elvish Ranger @DiTerlizzi 166 C Fruition @Steve Luke -166s C Fruition @王玉群 +166s C Fruition @Wang Yuqun 167 C Giant Spider @Randy Gallegos 168 C Gorilla Warrior @John Matson 169 C Grizzly Bears @Zina Saunders diff --git a/forge-gui/res/editions/Premium Deck Series Graveborn.txt b/forge-gui/res/editions/Premium Deck Series Graveborn.txt index d7517a12abd..cf035ad7e8a 100644 --- a/forge-gui/res/editions/Premium Deck Series Graveborn.txt +++ b/forge-gui/res/editions/Premium Deck Series Graveborn.txt @@ -29,7 +29,7 @@ ScryfallCode=PD3 21 C Last Rites @Bradley Williams 22 U Diabolic Servitude @Scott M. Fischer 23 U Dread Return @Kev Walker -24 U Crystal Vein @Pat Morrissey +24 U Crystal Vein @Pat Lewis 25 U Ebon Stronghold @Liz Danforth 26 C Polluted Mire @Stephen Daniele 27 L Swamp @Aleksi Briclot diff --git a/forge-gui/res/editions/Premium Deck Series Slivers.txt b/forge-gui/res/editions/Premium Deck Series Slivers.txt index 81d96b0f72f..4eccf8e3edb 100644 --- a/forge-gui/res/editions/Premium Deck Series Slivers.txt +++ b/forge-gui/res/editions/Premium Deck Series Slivers.txt @@ -40,7 +40,7 @@ ScryfallCode=H09 31 U Ancient Ziggurat @John Avon 32 R Rootbound Crag @Matt Stewart 33 C Rupture Spire @Jaime Jones -34 C Terramorphic Expanse @Dan Scott +34 C Terramorphic Expanse @Dan Murayama Scott 35 U Vivid Creek @Fred Fields 36 U Vivid Grove @Howard Lyon 37 L Plains @Terese Nielsen diff --git a/forge-gui/res/editions/Ravnica Allegiance Guild Kit.txt b/forge-gui/res/editions/Ravnica Allegiance Guild Kit.txt index e231b99448e..933d536522f 100644 --- a/forge-gui/res/editions/Ravnica Allegiance Guild Kit.txt +++ b/forge-gui/res/editions/Ravnica Allegiance Guild Kit.txt @@ -94,7 +94,7 @@ ScryfallCode=GK2 86 R Wurmweaver Coil @Mitch Cotie 87 R Borborygmos @Todd Lockwood 88 U Burning-Tree Emissary @Izzy -89 R Burning-Tree Shaman @Dan Scott +89 R Burning-Tree Shaman @Dan Murayama Scott 90 U Ghor-Clan Rampager @Charles Urbach 91 R Giant Solifuge @Pat Lee 92 U Gruul Charm @Zoltan Boros diff --git a/forge-gui/res/editions/Ravnica Allegiance.txt b/forge-gui/res/editions/Ravnica Allegiance.txt index fed356d1005..d0c565e90a3 100644 --- a/forge-gui/res/editions/Ravnica Allegiance.txt +++ b/forge-gui/res/editions/Ravnica Allegiance.txt @@ -103,7 +103,7 @@ ScryfallCode=RNA 89 C Undercity's Embrace @Tyler Walpole 90 U Vindictive Vampire @Randy Gallegos 91 C Act of Treason @Scott Murphy -92 R Amplifire @Dan Scott +92 R Amplifire @Dan Murayama Scott 93 C Burn Bright @Scott Murphy 94 C Burning-Tree Vandal @Aaron Miller 95 U Cavalcade of Calamity @Jonas De Ro @@ -149,14 +149,14 @@ ScryfallCode=RNA 135 C Rampaging Rendhorn @Ben Wootten 136 U Regenesis @James Paick 137 C Root Snare @Craig J Spearing -138 C Sagittars' Volley @Dan Scott +138 C Sagittars' Volley @Dan Murayama Scott 139 C Saruli Caretaker @Howard Lyon 140 C Sauroform Hybrid @Nils Hamm 141 U Silhana Wayfinder @Suzanne Helmigh 142 C Steeple Creeper @Svetlin Velinov 143 C Stony Strength @Chris Seaman -144 C Sylvan Brushstrider @Dan Scott -145 C Territorial Boar @Dan Scott +144 C Sylvan Brushstrider @Dan Murayama Scott +145 C Territorial Boar @Dan Murayama Scott 146 C Titanic Brawl @Svetlin Velinov 147 U Tower Defense @Craig J Spearing 148 U Trollbred Guardian @Mathias Kollros diff --git a/forge-gui/res/editions/Ravnica City of Guilds.txt b/forge-gui/res/editions/Ravnica City of Guilds.txt index 55c5a93cc89..de2e192c5cb 100644 --- a/forge-gui/res/editions/Ravnica City of Guilds.txt +++ b/forge-gui/res/editions/Ravnica City of Guilds.txt @@ -62,7 +62,7 @@ ScryfallCode=RAV 47 U Ethereal Usher @Mark A. Nelson 48 R Eye of the Storm @Hideaki Takamura 49 C Flight of Fancy @Glen Angus -50 U Flow of Ideas @Dan Scott +50 U Flow of Ideas @Dan Murayama Scott 51 R Followed Footsteps @Glen Angus 52 C Grayscaled Gharial @Chris Dien 53 R Grozoth @Cyril Van Der Haegen @@ -85,8 +85,8 @@ ScryfallCode=RAV 70 C Terraformer @Luca Zontini 71 C Tidewater Minion @Tomas Giorello 72 R Tunnel Vision @Dany Orizio -73 C Vedalken Dismisser @Dan Scott -74 C Vedalken Entrancer @Dan Scott +73 C Vedalken Dismisser @Dan Murayama Scott +74 C Vedalken Entrancer @Dan Murayama Scott 75 U Wizened Snitches @Greg Staples 76 C Zephyr Spirit @Tomas Giorello 77 R Blood Funnel @Thomas M. Baxa @@ -123,7 +123,7 @@ ScryfallCode=RAV 108 C Strands of Undeath @Dave Allsop 109 C Thoughtpicker Witch @Pete Venters 110 U Undercity Shade @Dana Knutson -111 U Vigor Mortis @Dan Scott +111 U Vigor Mortis @Dan Murayama Scott 112 U Vindictive Mob @Wayne Reynolds 113 R Woebringer Demon @Daren Bader 114 C Barbarian Riftcutter @Carl Critchlow @@ -228,13 +228,13 @@ ScryfallCode=RAV 213 U Lightning Helix @Kev Walker 214 R Loxodon Hierarch @Kev Walker 215 R Mindleech Mass @Kev Walker -216 U Moroii @Dan Scott +216 U Moroii @Dan Murayama Scott 217 C Perplex @Tsutomu Kawade 218 R Phytohydra @Jim Murray 219 U Pollenbright Wings @Terese Nielsen 220 U Psychic Drain @Nick Percival 221 U Putrefy @Jim Nelson -222 C Rally the Righteous @Dan Scott +222 C Rally the Righteous @Dan Murayama Scott 223 R Razia, Boros Archangel @Donato Giancola 224 R Razia's Purification @Shishizaru 225 R Savra, Queen of the Golgari @Scott M. Fischer @@ -266,7 +266,7 @@ ScryfallCode=RAV 251 R Privileged Position @Wayne England 252 U Selesnya Guildmage @Mark Zug 253 R Shadow of Doubt @Greg Staples -254 R Bloodletter Quill @Dan Scott +254 R Bloodletter Quill @Dan Murayama Scott 255 C Boros Signet @Greg Hildebrandt 256 R Bottled Cloister @Luca Zontini 257 R Cloudstone Curio @Heather Hudson diff --git a/forge-gui/res/editions/Ravnica Clue Edition.txt b/forge-gui/res/editions/Ravnica Clue Edition.txt index 0fed14a28ab..44d188a008e 100644 --- a/forge-gui/res/editions/Ravnica Clue Edition.txt +++ b/forge-gui/res/editions/Ravnica Clue Edition.txt @@ -39,7 +39,7 @@ ScryfallCode=CLU 31 U Ecstatic Electromancer @Caio Monteiro 32 R Frenzied Gorespawn @Kekai Kotaki 33 U Furious Spinesplitter @Elizabeth Peiró -34 R Herald of Ilharg @Dan Scott +34 R Herald of Ilharg @Dan Murayama Scott 35 U Incriminating Impetus @Tony Foti 36 R Lavinia, Foil to Conspiracy @Chris Rahn 37 R Lonis, Genetics Expert @Kai Carpenter @@ -70,7 +70,7 @@ ScryfallCode=CLU 62 U Glorifier of Dusk @Viktor Titov 63 C Gods Willing @Mark Winters 64 C Law-Rune Enforcer @Eric Deschamps -65 U Martial Impetus @Aaron Miller +65 C Martial Impetus @Aaron Miller 66 C Mighty Leap @rk post 67 U Oust @Mike Bierek 68 C Parhelion Patrol @Even Amundsen @@ -85,7 +85,7 @@ ScryfallCode=CLU 77 C Trusted Pegasus @Chris Rahn 78 C Twilight Panther @Uriah Voth 79 U Urbis Protector @Steve Argyle -80 C War Screecher @Dan Scott +80 C War Screecher @Dan Murayama Scott 81 U Chemister's Insight @Josh Hass 82 C Cloudkin Seer @Anastasia Ovchinnikova 83 U Code of Constraint @Ekaterina Burmak @@ -97,9 +97,9 @@ ScryfallCode=CLU 89 C Leapfrog @Aaron Miller 90 C Owl Familiar @Janine Johnston 91 C Passwall Adept @John Thacker -92 U Psychic Impetus @Lindsey Look +92 C Psychic Impetus @Lindsey Look 93 U Rapid Hybridization @Jack Wang -94 C Repeal @Dan Scott +94 C Repeal @Dan Murayama Scott 95 U Rescuer Sphinx @Jesper Ejsing 96 C Roaming Ghostlight @Zezhou Chen 97 C Sage's Row Savant @Bastien L. Deharme @@ -137,7 +137,7 @@ ScryfallCode=CLU 129 C Cosmotronic Wave @Titus Lunter 130 U Dagger Caster @Viktor Titov 131 C Deputized Protester @Lius Lasahido -132 C Direct Current @Dan Scott +132 C Direct Current @Dan Murayama Scott 133 C Fire Urchin @Deruchenko Alexander 134 U Firefist Striker @Tyler Jacobson 135 U Frenzied Goblin @Randy Vargas @@ -180,12 +180,12 @@ ScryfallCode=CLU 172 C Predatory Impetus @Randy Vargas 173 C Sauroform Hybrid @Nils Hamm 174 C Steeple Creeper @Svetlin Velinov -175 C Territorial Boar @Dan Scott +175 C Territorial Boar @Dan Murayama Scott 176 C Thrashing Mossdog @Ryan Barger 177 C Transluminant @Greg Hildebrandt -178 C Vines of the Recluse @Dan Scott +178 C Vines of the Recluse @Dan Murayama Scott 179 C Wildsize @Jim Murray -180 C Wildwood Patrol @Dan Scott +180 C Wildwood Patrol @Dan Murayama Scott 181 C Yeva's Forcemage @Eric Deschamps 182 R Clan Defiance @Daarken 183 C Curse of Chains @Drew Tucker @@ -201,7 +201,7 @@ ScryfallCode=CLU 193 C Frostburn Weird @Mike Bierek 194 U Golgari Guildmage @Zoltan Boros & Gabor Szikszai 195 M Hydroid Krasis @Jason Felix -196 R Hypersonic Dragon @Dan Scott +196 R Hypersonic Dragon @Dan Murayama Scott 197 U Incubation // Incongruity @Mike Bierek 198 U Integrity // Intervention @Ben Maier 199 R Lavinia of the Tenth @Willian Murai diff --git a/forge-gui/res/editions/Ravnica Remastered.txt b/forge-gui/res/editions/Ravnica Remastered.txt index 0cb4831ce1e..def70749f12 100644 --- a/forge-gui/res/editions/Ravnica Remastered.txt +++ b/forge-gui/res/editions/Ravnica Remastered.txt @@ -13,7 +13,7 @@ ScryfallCode=RVR 4 C Arrester's Zeal @Izzy 5 C Azorius Arrester @Wayne Reynolds 6 U Azorius Justiciar @Chris Rahn -7 C Basilica Guards @Dan Scott +7 C Basilica Guards @Dan Murayama Scott 8 R Blazing Archon @Zoltan Boros & Gabor Szikszai 9 R Blind Obedience @Seb McKinnon 10 C Boros Elite @Willian Murai @@ -31,7 +31,7 @@ ScryfallCode=RVR 22 C Makeshift Battalion @Zoltan Boros 23 U Ministrant of Obligation @Bastien L. Deharme 24 U Mistral Charger @Nils Hamm -25 C Rising Populace @Nestor Ossandon Leal +25 C Rising Populace @Néstor Ossandón Leal 26 C Rootborn Defenses @Mark Zug 27 C Summary Judgment @Deruchenko Alexander 28 U Sunhome Stalwart @Matt Stewart @@ -66,7 +66,7 @@ ScryfallCode=RVR 57 U Quicken @Aleksi Briclot 58 C Radical Idea @Izzy 59 U Remand @Mark A. Nelson -60 C Repeal @Dan Scott +60 C Repeal @Dan Murayama Scott 61 C Sinister Sabotage @Mathias Kollros 62 R Spark Double @Eric Deschamps 63 R Tidespout Tyrant @Dany Orizio @@ -80,7 +80,7 @@ ScryfallCode=RVR 71 M Dark Confidant @Alex Brock 72 C Debtors' Transport @Jakub Kasper 73 C Dimir House Guard @John Zeleznik -74 C Disembowel +74 C Disembowel @David Astruga 75 U Dreadmalkin @Aaron Miller 76 U Golgari Thug @Kev Walker 77 C Ill-Gotten Inheritance @Winona Nelson @@ -124,7 +124,7 @@ ScryfallCode=RVR 115 C Krenko's Command @Karl Kopinski 116 R Legion Warboss @Alex Konstad 117 U Light Up the Stage @Dmitry Burmak -118 R Mizzix's Mastery @Dan Scott +118 R Mizzix's Mastery @Dan Murayama Scott 119 C Mugging @Greg Staples 120 U Rakdos Pit Dragon @Kev Walker 121 C Rubblebelt Maaka @Eric Velhagen @@ -208,7 +208,7 @@ ScryfallCode=RVR 199 U Mayhem Devil @Dmitry Burmak 200 C Merfolk of the Depths @Scott Chou 201 R Mindleech Mass @Kev Walker -202 U Moroii @Dan Scott +202 U Moroii @Dan Murayama Scott 203 C Mortus Strider @Tiffany Turrill 204 C Mourning Thrull @Dany Orizio 205 M Nicol Bolas, Dragon-God @Raymond Swanland @@ -248,7 +248,7 @@ ScryfallCode=RVR 239 C Wild Cantor @Cristi Balanescu 240 R Warrant // Warden @Matt Stewart 241 R Revival // Revenge @Paul Scott Canavan -242 R Connive // Concoct @Dan Scott +242 R Connive // Concoct @Dan Murayama Scott 243 R Expansion // Explosion @Deruchenko Alexander 244 R Bedeck // Bedazzle @Randy Vargas 245 R Find // Finality @Steve Ellis @@ -379,7 +379,7 @@ ScryfallCode=RVR 336 C Krenko's Command @Karl Kopinski 337 R Legion Warboss @Alex Konstad 338 U Light Up the Stage @Dmitry Burmak -339 R Mizzix's Mastery @Dan Scott +339 R Mizzix's Mastery @Dan Murayama Scott 340 C Skewer the Critics @Heonhwa Choe 341 U Skullcrack @Dave Kendall 342 M Utvara Hellkite @Mark Zug @@ -462,7 +462,7 @@ ScryfallCode=RVR 449 M Enter the Infinite @Jake Murray 450 R Gigantoplasm @Kev Walker 451 U Narcomoeba @Howard Lyon -452 U Turnabout @Dan Scott +452 U Turnabout @Dan Murayama Scott 453 U Creeping Chill @Wisnu Tan 454 U Darkblast @Randy Gallegos 455 R Pack Rat @Kev Walker diff --git a/forge-gui/res/editions/Return to Ravnica.txt b/forge-gui/res/editions/Return to Ravnica.txt index cfccf719b32..a7514363bc0 100644 --- a/forge-gui/res/editions/Return to Ravnica.txt +++ b/forge-gui/res/editions/Return to Ravnica.txt @@ -107,7 +107,7 @@ ScryfallCode=RTR 93 C Electrickery @Greg Staples 94 C Explosive Impact @Steve Argyle 95 U Goblin Rally @Nic Klein -96 C Gore-House Chainwalker @Dan Scott +96 C Gore-House Chainwalker @Dan Murayama Scott 97 R Guild Feud @Karl Kopinski 98 U Guttersnipe @Steve Prescott 99 C Lobber Crew @Greg Staples @@ -134,7 +134,7 @@ ScryfallCode=RTR 120 R Deadbridge Goliath @Chase Stone 121 R Death's Presence @Ryan Barger 122 C Drudge Beetle @Slawomir Maniak -123 C Druid's Deliverance @Dan Scott +123 C Druid's Deliverance @Dan Murayama Scott 124 C Gatecreeper Vine @Trevor Claxton 125 C Giant Growth @Noah Bradley 126 U Gobbling Ooze @Johann Bodin @@ -170,10 +170,10 @@ ScryfallCode=RTR 156 C Dramatic Rescue @Ryan Pancoast 157 R Dreadbore @Wayne Reynolds 158 U Dreg Mangler @Peter Mohrbacher -159 M Epic Experiment @Dan Scott +159 M Epic Experiment @Dan Murayama Scott 160 C Essence Backlash @Jung Park 161 U Fall of the Gavel @Matt Stewart -162 R Firemind's Foresight @Dan Scott +162 R Firemind's Foresight @Dan Murayama Scott 163 C Goblin Electromancer @Svetlin Velinov 164 U Golgari Charm @Zoltan Boros 165 C Grisly Salvage @Dave Kendall @@ -181,7 +181,7 @@ ScryfallCode=RTR 167 U Hellhole Flailer @Steve Prescott 168 U Heroes' Reunion @Howard Lyon 169 C Hussar Patrol @Seb McKinnon -170 R Hypersonic Dragon @Dan Scott +170 R Hypersonic Dragon @Dan Murayama Scott 171 M Isperia, Supreme Judge @Scott M. Fischer 172 U Izzet Charm @Zoltan Boros 173 U Izzet Staticaster @Scott M. Fischer @@ -222,7 +222,7 @@ ScryfallCode=RTR 208 M Vraska the Unseen @Aleksi Briclot 209 R Wayfaring Temple @Peter Mohrbacher 210 R Azor's Elocutors @Johannes Voss -211 U Blistercoil Weird @Dan Scott +211 U Blistercoil Weird @Dan Murayama Scott 212 R Cryptborn Horror @Richard Wright 213 R Deathrite Shaman @Steve Argyle 214 U Dryad Militant @Terese Nielsen @@ -235,7 +235,7 @@ ScryfallCode=RTR 221 C Rakdos Shred-Freak @Wayne Reynolds 222 U Slitherhead @Greg Staples 223 C Sundering Growth @David Palumbo -224 C Vassal Soul @Dan Scott +224 C Vassal Soul @Dan Murayama Scott 225 U Azorius Keyrune @Daniel Ljunggren 226 R Chromatic Lantern @Jung Park 227 U Civic Saber @Jung Park diff --git a/forge-gui/res/editions/Rise of the Eldrazi.txt b/forge-gui/res/editions/Rise of the Eldrazi.txt index 8d2971ea0a7..655d714c7e1 100644 --- a/forge-gui/res/editions/Rise of the Eldrazi.txt +++ b/forge-gui/res/editions/Rise of the Eldrazi.txt @@ -48,7 +48,7 @@ ScryfallCode=ROE 35 U Luminous Wake @Mike Bierek 36 C Makindi Griffin @Izzy 37 U Mammoth Umbra @Howard Lyon -38 R Near-Death Experience @Dan Scott +38 R Near-Death Experience @Dan Murayama Scott 39 R Nomads' Assembly @Erica Yang 40 U Oust @Mike Bierek 41 C Puncturing Light @Zoltan Boros & Gabor Szikszai @@ -196,7 +196,7 @@ ScryfallCode=ROE 183 R Gelatinous Genesis @Daniel Ljunggren 184 R Gigantomancer @Chippy 185 U Gravity Well @Rob Alexander -186 C Growth Spasm @Dan Scott +186 C Growth Spasm @Dan Murayama Scott 187 C Haze Frog @Jesper Ejsing 188 U Irresistible Prey @Jesper Ejsing 189 U Jaddi Lifestrider @Vincent Proce diff --git a/forge-gui/res/editions/Rivals of Ixalan.txt b/forge-gui/res/editions/Rivals of Ixalan.txt index c5e50454a72..88dece623f5 100644 --- a/forge-gui/res/editions/Rivals of Ixalan.txt +++ b/forge-gui/res/editions/Rivals of Ixalan.txt @@ -66,7 +66,7 @@ ScryfallCode=RIX 52 C Secrets of the Golden City @Jason Felix 53 U Silvergill Adept @Magali Villeneuve 54 U Siren Reaver @Tomasz Jedruszek -55 U Slippery Scoundrel @Dan Scott +55 U Slippery Scoundrel @Dan Murayama Scott 56 C Soul of the Rapids @Anthony Palumbo 57 C Spire Winder @Titus Lunter 58 C Sworn Guardian @Sara Winters @@ -113,7 +113,7 @@ ScryfallCode=RIX 99 R Dire Fleet Daredevil @Zoltan Boros 100 R Etali, Primal Storm @Raymond Swanland 101 C Fanatical Firebrand @Wayne Reynolds -102 U Forerunner of the Empire @Dan Scott +102 U Forerunner of the Empire @Dan Murayama Scott 103 R Form of the Dinosaur @Daarken 104 C Frilled Deathspitter @Zoltan Boros 105 C Goblin Trailblazer @Josh Hass diff --git a/forge-gui/res/editions/Saviors of Kamigawa Promos.txt b/forge-gui/res/editions/Saviors of Kamigawa Promos.txt index 3fe73eb153d..46137bfe52b 100644 --- a/forge-gui/res/editions/Saviors of Kamigawa Promos.txt +++ b/forge-gui/res/editions/Saviors of Kamigawa Promos.txt @@ -7,4 +7,4 @@ ScryfallCode=PSOK [cards] 18★ R Kiyomaro, First to Stand @Ittoku -99★ R Ghost-Lit Raider @Ittoku +99★ U Ghost-Lit Raider @Ittoku diff --git a/forge-gui/res/editions/Scars of Mirrodin.txt b/forge-gui/res/editions/Scars of Mirrodin.txt index 68be220558f..1e9f98208d1 100644 --- a/forge-gui/res/editions/Scars of Mirrodin.txt +++ b/forge-gui/res/editions/Scars of Mirrodin.txt @@ -62,7 +62,7 @@ ScryfallCode=SOM 48 U Trinket Mage @Scott Chou 49 C Turn Aside @Shelly Wan 50 U Twisted Image @Izzy -51 C Vault Skyward @Dan Scott +51 C Vault Skyward @Dan Murayama Scott 52 C Vedalken Certarch @Karl Kopinski 53 U Volition Reins @Svetlin Velinov 54 C Blackcleave Goblin @Nils Hamm @@ -212,7 +212,7 @@ ScryfallCode=SOM 198 U Rust Tick @Carl Critchlow 199 U Rusted Relic @Igor Kieryluk 200 C Saberclaw Golem @Mike Bierek -201 R Semblance Anvil @Dan Scott +201 R Semblance Anvil @Dan Murayama Scott 202 C Silver Myr @Alan Pollack 203 C Snapsail Glider @Efrem Palacios 204 C Soliton @Jason Felix diff --git a/forge-gui/res/editions/Secret Lair Drop Series.txt b/forge-gui/res/editions/Secret Lair Drop Series.txt index e15e992ac93..8de4bbbad21 100644 --- a/forge-gui/res/editions/Secret Lair Drop Series.txt +++ b/forge-gui/res/editions/Secret Lair Drop Series.txt @@ -760,7 +760,7 @@ ScryfallCode=SLD 785 R Wirewood Symbiote @Thomas M. Baxa 786 R Frilled Mystic @Randy Vargas 788 R Poison-Tip Archer @Dmitry Burmak -789 R Shaman of the Pack @Dan Scott +789 R Shaman of the Pack @Dan Murayama Scott 790 R Codex Shredder @AKQA 790★ R Codex Shredder @AKQA 791 R Solemn Simulacrum @Dani Pendergast @@ -780,6 +780,7 @@ F798 M Discord, Lord of Disharmony @Narendra Bintara Adi 803 R Sonic Screwdriver @Kieran Yanner 805 R Elvish Mystic @Ekaterina Burmak 806 R Command Tower @Rudy Siswanto +807 M Chandra, Flamecaller @Mila Pesic 808 M Snapcaster Mage @Raita Kazama 809 R Immerwolf @Sage Coffey 810 M Thrun, the Last Troll @Jakub Kasper & Scott Okumura @@ -795,6 +796,8 @@ F798 M Discord, Lord of Disharmony @Narendra Bintara Adi 827 R Norin the Wary @Jarel Threat 827b R Norin the Wary @Jarel Threat 828 R Keen Duelist @Thanh Tuấn +871 R Soul-Guide Lantern @ +872 R Yargle and Multani @Warren Mahy 873 R Dark Deal @Tyler Jacobson 874 R Archivist of Oghma @Cory Trego-Erdner 875 M Battle Angels of Tyr @Raymond Swanland @@ -802,6 +805,7 @@ F798 M Discord, Lord of Disharmony @Narendra Bintara Adi 877 R Druid of Purification @Alexander Mokhov 878 R Prosperous Innkeeper @Tyler Jacobson 879 M Minsc & Boo, Timeless Heroes @Justin Gerard +880 R Stuffy Doll @Robin Olausson 900 M The Scarab God @Barely Human 901 R Lightning Bolt @Christopher Rush 903 M The Locust God @See Machine @@ -1446,9 +1450,12 @@ F1540 M Rainbow Dash @John Thacker 1582 R The Celestial Toymaker @Jake Murray 1583 R The Fourteenth Doctor @Justyna Dura 1584 R The Fifteenth Doctor @Kieran Yanner +1585 M Elspeth Tirel @Raita Kazama 1587 R Shelter @Mandy Jurgens 1587★ R Shelter @Mandy Jurgens +1590 M Jace, Unraveler of Secrets @Naomi Baker 1592 R Diabolic Tutor @Leonardo Santanna +1593 M Liliana of the Dark Realms @Livia Prima 1594 R Chandra's Ignition @Justyna Dura 1594★ R Chandra's Ignition @Justyna Dura 1595 R Chord of Calling @Kekai Kotaki @@ -1456,7 +1463,9 @@ F1540 M Rainbow Dash @John Thacker 1596★ R Harmonize @Syutsuri 1597 R Azusa, Lost but Seeking @Jehan Choo 1597★ R Azusa, Lost but Seeking @Jehan Choo +1598 M Freyalise, Llanowar's Fury @Jesper Ejsing 1599 M Child of Alara @Aya Kato +1600 M The Royal Scions @Clint Cearley 1602 R Feather, the Redeemed @Yuko Shimizu 1602★ R Feather, the Redeemed @Yuko Shimizu 1603 R Song of Creation @PE-nekoR @@ -1540,8 +1549,13 @@ F1540 M Rainbow Dash @John Thacker 1662 R Lightning Greaves @Jackson Epstein 1663 R Skullclamp @Jackson Epstein 1664 R Sol Ring @Bardo Bread -1665 U Thought Vessel @Jackson Epstein +1665 R Thought Vessel @Jackson Epstein 1666 R Command Tower @Jackson Epstein +1667 R Aetherize @Peach Momoko +1668 R Drown in Dreams @Peach Momoko +1669 R Psychic Corrosion @Peach Momoko +1670 R Visions of Beyond @Peach Momoko +1671 R Time Sieve @Peach Momoko 1672 R Prodigal Sorcerer @Andreas Zafiratos 1673 R Buried Alive @Filipe Pagliuso 1674 R Dismember @Greg Staples @@ -1576,7 +1590,7 @@ F1540 M Rainbow Dash @John Thacker 1697★ R Command Tower @Titus Lunter 1698 R Sorin Markov @Leonardo Santanna 1699 M Huatli, Radiant Champion @Nathaniel Himawan -1700 U Kiora, Behemoth Beckoner @Justin Gerard +1700 R Kiora, Behemoth Beckoner @Justin Gerard 1701 M Tezzeret, Master of the Bridge @Javier Charro 1702 M Vraska, Golgari Queen @Dmitry Burmak 1703 R Jaxis, the Troublemaker @Bene Rohlmann @@ -1594,11 +1608,30 @@ F1540 M Rainbow Dash @John Thacker 1715 R Mayhem Devil @Kathleen Neeley & AndWorld Design 1716 R Moldervine Reclamation @Kathleen Neeley & AndWorld Design 1717 M Prossh, Skyraider of Kher @Kathleen Neeley & AndWorld Design +1718 R Back to Basics @Helvetica Blanc +1719 R Preordain @Helvetica Blanc +1720 M Sphinx of the Second Sun @Helvetica Blanc +1721 R Teferi's Ageless Insight @Helvetica Blanc +1758 R Phyrexian Metamorph @Cacho Rubione +1759 R Cauldron Familiar @Scott Buoncristiano +1760 R Dauthi Voidwalker @Ivan Shavrin +1761 R Magus of the Moon @Alexandre Chaudret +1762 R Witch's Oven @Bastien Grivet +1763 M Doom Whisperer @Ed Repka +1764 R Ravenous Chupacabra @Ed Repka +1765 M Koma, Cosmos Serpent @Ed Repka +1766 M Mazirek, Kraul Death Priest @Ed Repka +1767 M Uril, the Miststalker @Ed Repka 1768 R Careful Study @Tyler Walpole 1769 M Living End @Tyler Walpole 1770 R Eladamri's Call @Tyler Walpole 1771 R Boros Charm @Tyler Walpole 1772 R Unlicensed Hearse @Tyler Walpole +1773 R The Mimeoplasm @Leonardo Santanna +1774 R Trickbind @Jason Rainville +1775 R Windfall @Simon Dominic +1776 R Incarnation Technique @Bill McConkey +1777 R Pernicious Deed @Clint Cearley 1778 R Fell the Mighty @Greg Bell 1779 R Faithless Looting @Dave Trampier 1780 M Goldspan Dragon @Larry Elmore @@ -1607,7 +1640,7 @@ F1540 M Rainbow Dash @John Thacker 1783 R Ponder @Wayne Reynolds 1784 M Acererak the Archlich @Tyler Jacobson 1785 M Xanathar, Guild Kingpin @Ricardo Cavolo -1786 R Bribery @Nataly Anderson +1786 R Bribery @Natalie Andrewson 1787 R Stifle @Doodleskelly 1788 R Delay @Jordan Speer 1789 M Blood Money @Ricardo Diseño @@ -1628,6 +1661,12 @@ F1540 M Rainbow Dash @John Thacker 1804 R Stranglehold @Bartek Fedyczak 1805 R Thrill of Possibility @Johannes Voss 1806 R Dolmen Gate @Justyna Dura +1807 M Kardur, Doomscourge @Tomasz Zarucki & Thomas Roach +1807b M Kardur, Doomscourge @Tomasz Zarucki & Thomas Roach +1808 R Phyrexian Reclamation @Justine Cruz +1809 R Varragoth, Bloodsky Sire @Domenico Cava +1810 R Twinflame @Sean Vo +1811 R Genesis Chamber @Eddie Mendoza 8001 M Jace, the Mind Sculptor @Wizard of Barge 9990 R Doom Blade @Cynthia Sheppard 9991 R Massacre @Andrey Kuzinskiy diff --git a/forge-gui/res/editions/Sega Dreamcast Cards.txt b/forge-gui/res/editions/Sega Dreamcast Cards.txt index 3a5c68d2d4e..ec6b1e53c0f 100644 --- a/forge-gui/res/editions/Sega Dreamcast Cards.txt +++ b/forge-gui/res/editions/Sega Dreamcast Cards.txt @@ -3,6 +3,7 @@ Code=PSDG Date=2001-06-28 Name=Sega Dreamcast Cards Type=Promo +ScryfallCode=PSDG [cards] 1 R Arden Angel @Greg Staples diff --git a/forge-gui/res/editions/Shadowmoor.txt b/forge-gui/res/editions/Shadowmoor.txt index 5407e4d0620..089f5e3cae9 100644 --- a/forge-gui/res/editions/Shadowmoor.txt +++ b/forge-gui/res/editions/Shadowmoor.txt @@ -30,7 +30,7 @@ ScryfallCode=SHM 17 U Pale Wayfarer @Heather Hudson 18 U Prison Term @Zoltan Boros & Gabor Szikszai 19 U Resplendent Mentor @Franz Vohwinkel -20 C Rune-Cervin Rider @Dan Scott +20 C Rune-Cervin Rider @Dan Murayama Scott 21 R Runed Halo @Steve Prescott 22 C Safehold Sentry @William O'Connor 23 U Spectral Procession @Jeremy Enecio @@ -87,14 +87,14 @@ ScryfallCode=SHM 74 R Polluted Bonds @Michael Sutfin 75 R Puppeteer Clique @Daren Bader 76 C Rite of Consumption @Ron Spencer -77 C Sickle Ripper @Dan Scott +77 C Sickle Ripper @Dan Murayama Scott 78 C Smolder Initiate @Chippy 79 C Splitting Headache @Thomas Denmark 80 C Torture @E. M. Gist 81 R Wound Reflection @Terese Nielsen & Ron Spencer 82 C Blistering Dieflyn @Scott Altmann 83 U Bloodmark Mentor @Dave Allsop -84 C Bloodshed Fever @Dan Scott +84 C Bloodshed Fever @Dan Murayama Scott 85 C Boggart Arsonists @Jesper Ejsing 86 C Burn Trail @Nils Hamm 87 R Cragganwick Cremator @Jeremy Enecio @@ -124,7 +124,7 @@ ScryfallCode=SHM 111 R Dramatic Entrance @Mike Dringenberg 112 U Drove of Elves @Larry MacDougall 113 C Farhaven Elf @Brandon Kitkouski -114 U Flourishing Defenses @Dan Scott +114 U Flourishing Defenses @Dan Murayama Scott 115 C Foxfire Oak @Dave Kendall 116 C Gleeful Sabotage @Todd Lockwood 117 U Gloomwidow @Mark Tedin @@ -179,7 +179,7 @@ ScryfallCode=SHM 166 C Helm of the Ghastlord @Franz Vohwinkel 167 U Inkfathom Infiltrator @Jesper Ejsing 168 U Inkfathom Witch @Larry MacDougall -169 R Memory Plunder @Dan Scott +169 R Memory Plunder @Dan Murayama Scott 170 C Memory Sluice @Wayne England 171 U Merrow Grimeblotter @Cyril Van Der Haegen 172 R Oona, Queen of the Fae @Adam Rex @@ -197,7 +197,7 @@ ScryfallCode=SHM 184 R Din of the Fireherd @Dave Dorman 185 C Emberstrike Duo @Aleksi Briclot 186 R Everlasting Torment @Richard Kane Ferguson -187 C Fists of the Demigod @Dan Scott +187 C Fists of the Demigod @Dan Murayama Scott 188 R Fulminator Mage @rk post 189 U Grief Tyrant @Izzy 190 U Kulrath Knight @Daarken @@ -250,7 +250,7 @@ ScryfallCode=SHM 237 R Rhys the Redeemed @Steve Prescott 238 C Safehold Duo @Izzy 239 C Safehold Elite @Richard Whitters -240 C Safewright Quest @Dan Scott +240 C Safewright Quest @Dan Murayama Scott 241 U Seedcradle Witch @Steven Belledin 242 C Shield of the Oversoul @Steven Belledin 243 R Wheel of Sun and Moon @Zoltan Boros & Gabor Szikszai diff --git a/forge-gui/res/editions/Shadows over Innistrad Remastered.txt b/forge-gui/res/editions/Shadows over Innistrad Remastered.txt index eb616640eca..ab2fc8a5ca3 100644 --- a/forge-gui/res/editions/Shadows over Innistrad Remastered.txt +++ b/forge-gui/res/editions/Shadows over Innistrad Remastered.txt @@ -55,7 +55,7 @@ ScryfallCode=SIR 43 R Sigarda's Aid @Howard Lyon 44 C Sigardian Priest @J.P. Targete 45 U Spectral Shepherd @Johann Bodin -46 C Steadfast Cathar @Dan Scott +46 C Steadfast Cathar @Dan Murayama Scott 47 C Strength of Arms @John Stanko 48 U Subjugator Angel @Lius Lasahido 49 R Thalia, Heretic Cathar @Magali Villeneuve @@ -125,7 +125,7 @@ ScryfallCode=SIR 113 C Gisa's Bidding @Jason Felix 114 U Graf Harvest @Lake Hurwitz 115 C Graf Rats @Jason Felix -116 C Grotesque Mutation @Dan Scott +116 C Grotesque Mutation @Dan Murayama Scott 117 U Haunted Dead @Lake Hurwitz 118 U Indulgent Aristocrat @Anna Steinbauer 119 M Liliana, the Last Hope @Anna Steinbauer @@ -190,7 +190,7 @@ ScryfallCode=SIR 178 U Stensia Masquerade @Willian Murai 179 U Stromkirk Occultist @Magali Villeneuve 180 U Thermo-Alchemist @Raymond Swanland -181 C Tormenting Voice @Dan Scott +181 C Tormenting Voice @Dan Murayama Scott 182 U Ulrich's Kindred @Josu Hernaiz 183 U Uncaged Fury @Jason Kang 184 U Village Messenger @Daarken @@ -263,7 +263,7 @@ ScryfallCode=SIR 251 C Field Creeper @Anthony Palumbo 252 U Harvest Hand @Jason Felix 253 U Lupine Prototype @Deruchenko Alexander -254 C Magnifying Glass @Dan Scott +254 C Magnifying Glass @Dan Murayama Scott 255 U Murderer's Axe @Winona Nelson 256 U Neglected Heirloom @Volkan Baǵa 257 R Slayer's Plate @Ben Maier diff --git a/forge-gui/res/editions/Shadows over Innistrad.txt b/forge-gui/res/editions/Shadows over Innistrad.txt index e16f199a77f..56bf8e9c285 100644 --- a/forge-gui/res/editions/Shadows over Innistrad.txt +++ b/forge-gui/res/editions/Shadows over Innistrad.txt @@ -106,7 +106,7 @@ ScryfallCode=SOI 91 C Stormrider Spirit @Lake Hurwitz 92 R Thing in the Ice @Svetlin Velinov 93 U Trail of Evidence @Daniel Ljunggren -94 U Uninvited Geist @Dan Scott +94 U Uninvited Geist @Dan Murayama Scott 95 C Vessel of Paramnesia @Kieran Yanner 96 R Welcome to the Fold @David Palumbo 97 U Accursed Witch @Wesley Burt @@ -127,7 +127,7 @@ ScryfallCode=SOI 112 C Ghoulcaller's Accomplice @Dave Kendall 113 U Ghoulsteed @Jason Kang 114 U Gisa's Bidding @Jason Felix -115 C Grotesque Mutation @Dan Scott +115 C Grotesque Mutation @Dan Murayama Scott 116 U Heir of Falkenrath @Jason Rainville 117 C Hound of the Farbogs @Christine Choi 118 U Indulgent Aristocrat @Anna Steinbauer @@ -198,7 +198,7 @@ ScryfallCode=SOI 183 U Spiteful Motives @Marco Nelor 184 U Stensia Masquerade @Willian Murai 185 C Structural Distortion @Jung Park -186 C Tormenting Voice @Dan Scott +186 C Tormenting Voice @Dan Murayama Scott 187 U Ulrich's Kindred @Josu Hernaiz 188 C Uncaged Fury @Jason Kang 189 C Vessel of Volatility @Kieran Yanner @@ -221,7 +221,7 @@ ScryfallCode=SOI 206 U Gloomwidow @Svetlin Velinov 207 U Graf Mole @Lars Grant-West 208 U Groundskeeper @Anthony Palumbo -209 U Hermit of the Natterknolls @Dan Scott +209 U Hermit of the Natterknolls @Dan Murayama Scott 210 C Hinterland Logger @Karl Kopinski 211 U Howlpack Resurgence @Izzy 212 R Inexorable Blob @Nils Hamm @@ -270,7 +270,7 @@ ScryfallCode=SOI 255 C Explosive Apparatus @Lindsey Look 256 U Harvest Hand @Jason Felix 257 U Haunted Cloak @Volkan Baǵa -258 U Magnifying Glass @Dan Scott +258 U Magnifying Glass @Dan Murayama Scott 259 U Murderer's Axe @Winona Nelson 260 U Neglected Heirloom @Volkan Baǵa 261 U Runaway Carriage @Kev Walker diff --git a/forge-gui/res/editions/Shards of Alara.txt b/forge-gui/res/editions/Shards of Alara.txt index ae693db2cd4..0d741d43911 100644 --- a/forge-gui/res/editions/Shards of Alara.txt +++ b/forge-gui/res/editions/Shards of Alara.txt @@ -46,7 +46,7 @@ ScryfallCode=ALA 33 C Cancel @David Palumbo 34 C Cathartic Adept @Carl Critchlow 35 C Cloudheath Drake @Izzy -36 C Coma Veil @Dan Scott +36 C Coma Veil @Dan Murayama Scott 37 C Courier's Capsule @Andrew Murray 38 R Covenant of Minds @Dan Seagrave 39 U Dawnray Archer @Dan Dos Santos @@ -54,7 +54,7 @@ ScryfallCode=ALA 41 U Etherium Astrolabe @Michael Bruinsma 42 C Etherium Sculptor @Steven Belledin 43 U Fatestitcher @E. M. Gist -44 U Filigree Sages @Dan Scott +44 U Filigree Sages @Dan Murayama Scott 45 R Gather Specimens @Michael Bruinsma 46 C Jhessian Lookout @Donato Giancola 47 C Kathari Screecher @Pete Venters @@ -68,7 +68,7 @@ ScryfallCode=ALA 55 R Sharding Sphinx @Michael Bruinsma 56 R Skill Borrower @Shelly Wan 57 C Spell Snip @Michael Sutfin -58 U Sphinx's Herald @Dan Scott +58 U Sphinx's Herald @Dan Murayama Scott 59 C Steelclad Serpent @Carl Critchlow 60 M Tezzeret the Seeker @Anthony Francisco 61 C Tortoise Formation @Mark Zug @@ -89,7 +89,7 @@ ScryfallCode=ALA 76 U Fleshbag Marauder @Pete Venters 77 C Glaze Fiend @Joshua Hagler 78 U Grixis Battlemage @Nils Hamm -79 R Immortal Coil @Dan Scott +79 R Immortal Coil @Dan Murayama Scott 80 U Infest @Karl Kopinski 81 C Onyx Goblet @rk post 82 U Puppet Conjurer @Steven Belledin diff --git a/forge-gui/res/editions/Signature Spellbook Chandra.txt b/forge-gui/res/editions/Signature Spellbook Chandra.txt index ce3d264a863..08a7d8ad945 100644 --- a/forge-gui/res/editions/Signature Spellbook Chandra.txt +++ b/forge-gui/res/editions/Signature Spellbook Chandra.txt @@ -10,7 +10,7 @@ ScryfallCode=SS3 2 R Cathartic Reunion @Howard Lyon 3 R Fiery Confluence @Micah Epstein 4 M Past in Flames @Josu Hernaiz -5 M Pyroblast @Yongjae Choi +5 R Pyroblast @Yongjae Choi 6 R Pyromancer Ascension @Karl Kopinski 7 R Rite of Flame @Kieran Yanner 8 R Young Pyromancer @Cynthia Sheppard diff --git a/forge-gui/res/editions/Starter Commander Decks.txt b/forge-gui/res/editions/Starter Commander Decks.txt index 04bf1740365..d340caad8bf 100644 --- a/forge-gui/res/editions/Starter Commander Decks.txt +++ b/forge-gui/res/editions/Starter Commander Decks.txt @@ -77,7 +77,7 @@ ScryfallCode=SCD 69 R Bloodgift Demon @Chris Rahn 70 R Cemetery Reaper @Dave Allsop 71 R Champion of the Perished @Kekai Kotaki -72 R Crippling Fear @Nestor Ossandon Leal +72 R Crippling Fear @Néstor Ossandón Leal 73 U Cruel Revival @Miles Johnston 74 U Curse of Disturbance @Kieran Yanner 75 R Deadly Tempest @Cliff Childs @@ -174,7 +174,7 @@ ScryfallCode=SCD 166 U Unleash Fury @Izzy 167 U Vandalblast @Seb McKinnon 168 M Verix Bladewing @XiaoDi Jin -169 R Wild Ricochet @Dan Scott +169 R Wild Ricochet @Dan Murayama Scott 170 R Wildfire Devils @Izzy 171 C Avacyn's Pilgrim @Jana Schirmer & Johannes Voss 172 U Beast Within @Jesper Ejsing @@ -192,7 +192,7 @@ ScryfallCode=SCD 184 R Frontier Siege @James Ryman 185 U Garruk's Uprising @Wisnu Tan 186 U Great Oak Guardian @Steven Belledin -187 U Harmonize @Dan Scott +187 U Harmonize @Dan Murayama Scott 188 R Harvest Season @Shreya Shetty 189 R Hornet Nest @Adam Paquette 190 R Hornet Queen @Martina Pilcerova @@ -204,7 +204,7 @@ ScryfallCode=SCD 196 C Leafkin Druid @Filip Burburan 197 U Loaming Shaman @Carl Critchlow 198 U Loyal Guardian @Robbie Trevino -199 U Nissa's Expedition @Dan Scott +199 U Nissa's Expedition @Dan Murayama Scott 200 U Nullmage Shepherd @Campbell White 201 U Overrun @Carl Critchlow 202 U Overwhelming Instinct @Ron Spears @@ -226,7 +226,7 @@ ScryfallCode=SCD 218 C Breath of Malfegor @Vance Kovacs 219 R Camaraderie @Sidharth Chaturvedi 220 R Clan Defiance @Daarken -221 U Cloudblazer @Dan Scott +221 U Cloudblazer @Dan Murayama Scott 222 R Collective Blessing @Svetlin Velinov 223 R Dauntless Escort @Volkan Baǵa 224 U Diregraf Captain @Slawomir Maniak @@ -239,7 +239,7 @@ ScryfallCode=SCD 231 M Havengul Lich @James Ryman 232 U Jubilant Skybonder @Jesper Ejsing 233 R Kaervek the Merciless @Heonhwa Choe -234 U Kangee, Sky Warden @Dan Scott +234 U Kangee, Sky Warden @Dan Murayama Scott 235 U Maja, Bretagard Protector @Lie Setiawan 236 M March of the Multitudes @Zack Stella 237 U Migratory Route @Winona Nelson @@ -262,7 +262,7 @@ ScryfallCode=SCD 254 R Undermine @Massimilano Frezzato 255 U Unlicensed Disintegration @Izzy 256 M Vela the Night-Clad @Allen Williams -257 C Arcane Signet @Dan Scott +257 C Arcane Signet @Dan Murayama Scott 258 U Atarka Monument @Daniel Ljunggren 259 U Azorius Signet @Raoul Vitale 260 U Burnished Hart @Yeong-Hao Han @@ -276,7 +276,7 @@ ScryfallCode=SCD 268 R Idol of Oblivion @Piotr Dura 269 U Lightning Greaves @Jeremy Jarvis 270 C Nihil Spellbomb @Franz Vohwinkel -271 C Pilgrim's Eye @Dan Scott +271 C Pilgrim's Eye @Dan Murayama Scott 272 U Rakdos Signet @Martina Pilcerova 273 C Sky Diamond @Lindsey Look 274 C Skyscanner @Adam Paquette diff --git a/forge-gui/res/editions/Streets of New Capenna Commander.txt b/forge-gui/res/editions/Streets of New Capenna Commander.txt index e3f1cc79cdb..89ffec428a2 100644 --- a/forge-gui/res/editions/Streets of New Capenna Commander.txt +++ b/forge-gui/res/editions/Streets of New Capenna Commander.txt @@ -31,7 +31,7 @@ ScryfallCode=NCC 23 R Cephalid Facetaker @Uriah Voth 24 R Change of Plans @Campbell White 25 R Extravagant Replication @Pauline Voss -26 R Flawless Forgery @Durbon +26 R Flawless Forgery @Durion 27 R In Too Deep @José Parodi 28 R Mask of the Schemer @James Paick 29 R Shield Broker @Daniel Ljunggren @@ -54,7 +54,7 @@ ScryfallCode=NCC 46 R Indulge // Excess @Gaboleps 47 R Industrial Advancement @Svetlin Velinov 48 R Life of the Party @Brian Valeza -49 R Mezzio Mugger @Filip Burburan +49 R Mezzio Mugger @Filipe Pagliuso 50 R Rain of Riches @Evyn Fong 51 R Rose Room Treasurer @David Sladek 52 R Seize the Spotlight @Ernanda Souza @@ -125,14 +125,14 @@ ScryfallCode=NCC 117 R Grand Crescendo @Raluca Marinescu 118 R Jailbreak @Tatiana Kirgetova 119 R Master of Ceremonies @Milivoj Ćeran -120 R Resourceful Defense @Randy Vargas +120 R Resourceful Defense @Francis Tneh 121 R Skyboon Evangelist @Rudy Siswanto 122 R Smuggler's Share @Aaron Miller 123 R Aven Courier @Lars Grant-West 124 R Cephalid Facetaker @Uriah Voth 125 R Change of Plans @Campbell White 126 R Extravagant Replication @Pauline Voss -127 R Flawless Forgery @Durbon +127 R Flawless Forgery @Durion 128 R In Too Deep @José Parodi 129 R Mask of the Schemer @James Paick 130 R Shield Broker @Daniel Ljunggren @@ -154,7 +154,7 @@ ScryfallCode=NCC 146 R Determined Iteration @Zoltan Boros 147 R Industrial Advancement @Svetlin Velinov 148 R Life of the Party @Brian Valeza -149 R Mezzio Mugger @Filip Burburan +149 R Mezzio Mugger @Filipe Pagliuso 150 R Rain of Riches @Evyn Fong 151 R Rose Room Treasurer @David Sladek 152 R Seize the Spotlight @Ernanda Souza @@ -233,8 +233,8 @@ ScryfallCode=NCC 225 C Looter il-Kor @Mike Dringenberg 226 R Midnight Clock @Alexander Forssberg 227 R Mystic Confluence @Kieran Yanner -228 R Nadir Kraken @Dan Scott -229 C Ponder @Dan Scott +228 R Nadir Kraken @Dan Murayama Scott +229 C Ponder @Dan Murayama Scott 230 C Preordain @Svetlin Velinov 231 R River's Rebuke @Raymond Swanland 232 U Skyship Plunderer @Slawomir Maniak @@ -290,7 +290,7 @@ ScryfallCode=NCC 282 U Beast Within @Jesper Ejsing 283 R Beastmaster Ascension @Alex Horley-Orlandelli 284 R Champion of Lambholt @Christopher Moeller -285 U Cultivate @Anthony Palumbo +285 C Cultivate @Anthony Palumbo 286 U Devoted Druid @Kimonas Theodossiou 287 U Evolution Sage @Simon Dominic 288 R Evolutionary Leap @Chris Rahn @@ -300,7 +300,7 @@ ScryfallCode=NCC 292 U Garruk's Uprising @Wisnu Tan 293 M Giant Adephage @Christine Choi 294 M Greenwarden of Murasa @Eric Deschamps -295 U Harmonize @Dan Scott +295 U Harmonize @Dan Murayama Scott 296 R Incubation Druid @Daniel Ljunggren 297 U Indrik Stomphowler @Carl Critchlow 298 C Kodama's Reach @John Avon @@ -356,7 +356,7 @@ ScryfallCode=NCC 348 U Primal Empathy @Micah Epstein 349 M Roalesk, Apex Hybrid @Svetlin Velinov 350 R Selvala, Explorer Returned @Tyler Jacobson -351 U Shadowmage Infiltrator @Tomasz Jedruszek +351 R Shadowmage Infiltrator @Tomasz Jedruszek 352 R Silent-Blade Oni @Steve Prescott 353 U Terminate @Lucas Graciano 354 R Thief of Sanity @Igor Kieryluk @@ -365,16 +365,16 @@ ScryfallCode=NCC 357 R Vorel of the Hull Clade @Mike Bierek 358 R Windgrace's Judgment @Grzegorz Rutkowski 359 M Wrexial, the Risen Deep @Eric Deschamps -360 C Arcane Signet @Dan Scott +360 C Arcane Signet @Dan Murayama Scott 361 U Azorius Signet @Raoul Vitale 362 U Bloodthirsty Blade @Jason Kang 363 C Commander's Sphere @Ryan Alexander Lee 364 R Crystalline Giant @Jason Rainville 365 C Dimir Signet @Raoul Vitale -366 C Everflowing Chalice @Steve Argyle +366 U Everflowing Chalice @Steve Argyle 367 U Fellwar Stone @John Avon 368 R Idol of Oblivion @Piotr Dura -369 U Izzet Signet @Raoul Vitale +369 C Izzet Signet @Raoul Vitale 370 R Lifecrafter's Bestiary @Izzy 371 U Lightning Greaves @Jeremy Jarvis 372 R Mimic Vat @Donato Giancola diff --git a/forge-gui/res/editions/Streets of New Capenna.txt b/forge-gui/res/editions/Streets of New Capenna.txt index ba1b7dea307..9bc7ae5706e 100644 --- a/forge-gui/res/editions/Streets of New Capenna.txt +++ b/forge-gui/res/editions/Streets of New Capenna.txt @@ -26,15 +26,15 @@ ScryfallCode=SNC 13 C Gathering Throng @Randy Vargas 14 R Giada, Font of Hope @Eric Deschamps 15 M Halo Fountain @Anastasia Ovchinnikova -16 C Hold for Ransom @Nestor Ossandon Leal +16 C Hold for Ransom @Néstor Ossandón Leal 17 U Illuminator Virtuoso @John Stanko 18 C Inspiring Overseer @Irina Nordsol 19 C Kill Shot @Josh Hass 20 U Knockout Blow @Zoltan Boros 21 U Mage's Attendant @Igor Kieryluk -22 R Mysterious Limousine @Dan Scott +22 R Mysterious Limousine @Dan Murayama Scott 23 U Patch Up @Scott Murphy -24 R Rabble Rousing @Nestor Ossandon Leal +24 R Rabble Rousing @Néstor Ossandón Leal 25 C Raffine's Guidance @Rémi Jacquot 26 C Raffine's Informant @John Stanko 27 U Refuse to Yield @Josh Hass @@ -77,7 +77,7 @@ ScryfallCode=SNC 64 U Wingshield Agent @Aaron J. Riley 65 R Wiretapping @Jason A. Engle 66 C Witness Protection @Dominik Mayer -67 M Angel of Suffering @Martina Fackova +67 M Angel of Suffering @Martina Fačková 68 M Body Launderer @Matt Stewart 69 R Cemetery Tampering @Taras Susak 70 C Corrupt Court Official @Drew Baker @@ -126,7 +126,7 @@ ScryfallCode=SNC 113 C Light 'Em Up @Tony Foti 114 C Mayhem Patrol @Johan Grenier 115 C Plasma Jockey @Andrew Mar -116 R Professional Face-Breaker @Dan Scott +116 R Professional Face-Breaker @Dan Murayama Scott 117 U Pugnacious Pugilist @Justine Cruz 118 U Pyre-Sledge Arsonist @Kekai Kotaki 119 C Ready to Rumble @Josu Hernaiz @@ -176,7 +176,7 @@ ScryfallCode=SNC 163 U Voice of the Vermin @Irina Nordsol 164 C Warm Welcome @Inka Schulz 165 R Workshop Warchief @Zoltan Boros -166 R Aven Heartstabber @Dan Scott +166 R Aven Heartstabber @Dan Murayama Scott 167 R Black Market Tycoon @Brock Grossman 168 C Body Dropper @Jakub Kasper 169 U Brazen Upstart @Dallas Williams @@ -207,7 +207,7 @@ ScryfallCode=SNC 194 C Jetmir's Fixer @John Thacker 195 R Jinnie Fay, Jetmir's Second @David Gaillet 196 U Lagrella, the Magpie @Donato Giancola -197 M Lord Xander, the Collector @Martina Fackova +197 M Lord Xander, the Collector @Martina Fačková 198 R Maestros Ascendancy @Jodie Muir 199 U Maestros Charm @Steve Argyle 200 R Maestros Diabolist @Bastien L. Deharme @@ -433,15 +433,15 @@ ScryfallCode=SNC [extended art] 406 R Depopulate @Jokubas Uogintas 407 R Extraction Specialist @Irina Nordsol -408 R Mysterious Limousine @Dan Scott -409 R Rabble Rousing @Nestor Ossandon Leal +408 R Mysterious Limousine @Dan Murayama Scott +409 R Rabble Rousing @Néstor Ossandón Leal 410 R Cut Your Losses @Dominik Mayer 411 M Even the Score @Greg Opalinski 412 R Ledger Shredder @Mila Pesic 413 R Reservoir Kraken @Nicholas Gregory 414 R Undercover Operative @Tyler Walpole 415 R Wiretapping @Jason A. Engle -416 M Angel of Suffering @Martina Fackova +416 M Angel of Suffering @Martina Fačková 417 M Body Launderer @Matt Stewart 418 R Cemetery Tampering @Taras Susak 419 R Cut of the Profits @Donato Giancola @@ -451,14 +451,14 @@ ScryfallCode=SNC 423 R Devilish Valet @Bud Cook 424 R Hoard Hauler @Jake Murray 425 R Jaxis, the Troublemaker @Zoltan Boros -426 R Professional Face-Breaker @Dan Scott +426 R Professional Face-Breaker @Dan Murayama Scott 427 R Structural Assault @Liiga Smilshkalne 428 R Widespread Thieving @Andrew Mar 429 R Evolving Door @Drew Baker 430 R Fight Rigging @Daarken 431 R Gala Greeters @Bud Cook 432 R Workshop Warchief @Zoltan Boros -433 R Aven Heartstabber @Dan Scott +433 R Aven Heartstabber @Dan Murayama Scott 434 R Black Market Tycoon @Brock Grossman 435 R Corpse Explosion @Greg Staples 436 M Meeting of the Five @Dominik Mayer diff --git a/forge-gui/res/editions/Strixhaven Mystical Archive.txt b/forge-gui/res/editions/Strixhaven Mystical Archive.txt index 6e4dee65744..4c9dc975bcd 100644 --- a/forge-gui/res/editions/Strixhaven Mystical Archive.txt +++ b/forge-gui/res/editions/Strixhaven Mystical Archive.txt @@ -109,7 +109,7 @@ ScryfallCode=STA 101 R Faithless Looting @Shiro Yayoi 102 R Grapeshot @Hatori Kyoka 103 M Increasing Vengeance @D-suzuki -104 U Infuriate @Yangygan & Xiaji +104 U Infuriate @Yangyang & Xiaji 105 R Lightning Bolt @Ezoi 106 M Mizzix's Mastery @Hiro Suda 107 U Shock @Ryanroro diff --git a/forge-gui/res/editions/Strixhaven School of Mages.txt b/forge-gui/res/editions/Strixhaven School of Mages.txt index 4e274460d55..28bed1c04cb 100644 --- a/forge-gui/res/editions/Strixhaven School of Mages.txt +++ b/forge-gui/res/editions/Strixhaven School of Mages.txt @@ -146,7 +146,7 @@ ScryfallCode=STX 132 U Fortifying Draught @Andrey Kuzinskiy 133 R Gnarled Professor @Simon Dominic 134 U Honor Troll @Jesper Ejsing -135 U Karok Wrangler @Dan Scott +135 U Karok Wrangler @Dan Murayama Scott 136 C Leyline Invocation @Liiga Smilshkalne 137 C Mage Duel @Randy Vargas 138 U Master Symmetrist @Forrest Imel @@ -165,7 +165,7 @@ ScryfallCode=STX 151 M Jadzi, Oracle of Arcavios @Chris Rahn 152 R Kianne, Dean of Substance @Ryan Pancoast 153 M Mila, Crafty Companion @Kieran Yanner -154 R Pestilent Cauldron @Dan Scott +154 R Pestilent Cauldron @Dan Murayama Scott 155 R Plargg, Dean of Chaos @Bryan Sola 156 M Rowan, Scholar of Sparks @Magali Villeneuve 157 R Selfless Glyphweaver @Johannes Voss @@ -344,7 +344,7 @@ ScryfallCode=STX 324 R Flamescroll Celebrant @Uriah Voth 325 M Jadzi, Oracle of Arcavios @Chris Rahn 326 R Kianne, Dean of Substance @Ryan Pancoast -327 R Pestilent Cauldron @Dan Scott +327 R Pestilent Cauldron @Dan Murayama Scott 328 R Plargg, Dean of Chaos @Bryan Sola 329 R Selfless Glyphweaver @Johannes Voss 330 R Shaile, Dean of Radiance @Yongjae Choi diff --git a/forge-gui/res/editions/Summer Vacation Promos 2022.txt b/forge-gui/res/editions/Summer Vacation Promos 2022.txt index d3581d781f6..a51fa96b67d 100644 --- a/forge-gui/res/editions/Summer Vacation Promos 2022.txt +++ b/forge-gui/res/editions/Summer Vacation Promos 2022.txt @@ -8,4 +8,4 @@ ScryfallCode=PSVC [cards] 1 R Ephemerate @Bastien L. Deharme 2 R Infernal Grasp @Naomi Baker -3 R Arcane Signet @Dan Scott +3 R Arcane Signet @Dan Murayama Scott diff --git a/forge-gui/res/editions/Tenth Edition Promos.txt b/forge-gui/res/editions/Tenth Edition Promos.txt index dfeff6e8eec..04145a16743 100644 --- a/forge-gui/res/editions/Tenth Edition Promos.txt +++ b/forge-gui/res/editions/Tenth Edition Promos.txt @@ -6,6 +6,6 @@ Type=Promo ScryfallCode=P10E [cards] -1 R Faerie Conclave @Stephan Martiniere -2 R Treetop Village @Rob Alexander +1 U Faerie Conclave @Stephan Martiniere +2 U Treetop Village @Rob Alexander 35 R Reya Dawnbringer @Matthew D. Wilson diff --git a/forge-gui/res/editions/Tenth Edition.txt b/forge-gui/res/editions/Tenth Edition.txt index 8fe2a110626..8591acaac35 100644 --- a/forge-gui/res/editions/Tenth Edition.txt +++ b/forge-gui/res/editions/Tenth Edition.txt @@ -283,7 +283,7 @@ ScryfallCode=10E 269 U Hunted Wumpus @Thomas M. Baxa 270 R Hurricane @John Howe 271 R Joiner Adept @Heather Hudson -272 U Karplusan Strider @Dan Scott +272 U Karplusan Strider @Dan Murayama Scott 273 C Kavu Climber @Rob Alexander 274 C Llanowar Elves @Kev Walker 275 C Llanowar Sentinel @Randy Gallegos @@ -334,7 +334,7 @@ ScryfallCode=10E 320 U Demon's Horn @Alan Pollack 321 R Doubling Cube @Mark Tedin 322 U Dragon's Claw @Alan Pollack -323 U Fountain of Youth @Dan Scott +323 U Fountain of Youth @Dan Murayama Scott 324 R The Hive @Ron Spencer 325 R Howling Mine @Ralph Horsley 326 U Icy Manipulator @Matt Cavotta @@ -371,7 +371,7 @@ ScryfallCode=10E 357 R Shivan Reef @Rob Alexander 358 U Spawning Pool @Nils Hamm 359 R Sulfurous Springs @Rob Alexander -360 C Terramorphic Expanse @Dan Scott +360 C Terramorphic Expanse @Dan Murayama Scott 361 U Treetop Village @Rob Alexander 362 R Underground River @Andrew Goldhawk 363 R Yavimaya Coast @Anthony S. Waters diff --git a/forge-gui/res/editions/The Brothers War Commander.txt b/forge-gui/res/editions/The Brothers War Commander.txt index b504e0157fb..e8dab263067 100644 --- a/forge-gui/res/editions/The Brothers War Commander.txt +++ b/forge-gui/res/editions/The Brothers War Commander.txt @@ -7,7 +7,7 @@ ScryfallCode=BRC [cards] 1 M Mishra, Eminent One @Randy Vargas -2 M Urza, Chief Artificer @Bartlomiej Gawel +2 M Urza, Chief Artificer @Bartłomiej Gaweł 3 M Tawnos, Solemn Survivor @Matt Stewart 4 M Ashnod the Uncaring @Kieran Yanner 5 R Sanwell, Avenger Ace @Josu Hernaiz @@ -29,7 +29,7 @@ ScryfallCode=BRC 21 R Disciple of Caelus Nin @Steve Argyle 22 R The Brothers' War @Mark Poole 23 R Sardian Avenger @Joseph Weston -24 M Rootpath Purifier @Justyna Gil +24 M Rootpath Purifier @Justyna Dura 25 M Titania, Nature's Force @Heonhwa Choe 26 R The Archimandrite @Cristi Balanescu 27 R Staff of Titania @Samuel Perin @@ -43,16 +43,16 @@ ScryfallCode=BRC 35 L Mountain @Bruce Brenneise 36 L Mountain @Victor Harmatiuk 39 M Mishra, Eminent One @Randy Vargas -40 M Urza, Chief Artificer @Bartlomiej Gawel +40 M Urza, Chief Artificer @Bartłomiej Gaweł 41 R Disciple of Caelus Nin @Steve Argyle 42 M Tawnos, Solemn Survivor @Matt Stewart 43 R Sardian Avenger @Joseph Weston -44 M Rootpath Purifier @Justyna Gil +44 M Rootpath Purifier @Justyna Dura 45 M Titania, Nature's Force @Heonhwa Choe 46 R The Archimandrite @Cristi Balanescu 47 M Ashnod the Uncaring @Kieran Yanner 48 M Mishra, Eminent One @Randy Vargas -49 M Urza, Chief Artificer @Bartlomiej Gawel +49 M Urza, Chief Artificer @Bartłomiej Gaweł 50 R Staff of Titania @Samuel Perin 51 R Urza's Workshop @Alexander Forssberg 52 R Sanwell, Avenger Ace @Josu Hernaiz @@ -86,7 +86,7 @@ ScryfallCode=BRC 80 R Bident of Thassa @Kari Christensen 81 R Emry, Lurker of the Loch @Livia Prima 82 C Etherium Sculptor @Steven Belledin -83 M Ethersworn Adjudicator @Dan Scott +83 M Ethersworn Adjudicator @Dan Murayama Scott 84 U Fact or Fiction @Matt Cavotta 85 U Filigree Attendant @Igor Kieryluk 86 R Master of Etherium @Matt Cavotta @@ -135,8 +135,8 @@ ScryfallCode=BRC 129 M Silas Renn, Seeker Adept @Joseph Meehan 130 M Sphinx's Revelation @John Di Giovanni 131 R Vindicate @Brian Snõddy -132 C Arcane Signet @Dan Scott -133 U Azorius Signet @Raoul Vitale +132 C Arcane Signet @Dan Murayama Scott +133 C Azorius Signet @Raoul Vitale 134 U Chief of the Foundry @Daniel Ljunggren 135 C Commander's Sphere @Ryan Alexander Lee 136 U Cranial Plating @Adam Rex @@ -159,7 +159,7 @@ ScryfallCode=BRC 153 R Oblivion Stone @Gabor Szikszai 154 C Orzhov Signet @Martina Pilcerova 155 C Prophetic Prism @John Avon -156 U Rakdos Signet @Martina Pilcerova +156 C Rakdos Signet @Martina Pilcerova 157 U Relic of Progenitus @Jean-Sébastien Rossbach 158 U Servo Schematic @Titus Lunter 159 U Skullclamp @Daniel Ljunggren @@ -213,7 +213,7 @@ ScryfallCode=BRC 207 R Temple of Epiphany @Adam Paquette 208 R Temple of Malice @Jonas De Ro 209 R Temple of Silence @Adam Paquette -210 C Terramorphic Expanse @Dan Scott +210 C Terramorphic Expanse @Dan Murayama Scott 211 C Vault of Whispers @Alexander Forssberg [tokens] diff --git a/forge-gui/res/editions/The Brothers War Retro Artifacts.txt b/forge-gui/res/editions/The Brothers War Retro Artifacts.txt index 39169676a1c..692eed9862a 100644 --- a/forge-gui/res/editions/The Brothers War Retro Artifacts.txt +++ b/forge-gui/res/editions/The Brothers War Retro Artifacts.txt @@ -57,8 +57,8 @@ ScryfallCode=BRR 49 R Scrap Trawler @Daarken 50 R Sculpting Steel @Heather Hudson 51 U Self-Assembler @Toraji -52 R Semblance Anvil @Dan Scott -53 U Sigil of Valor @Dan Scott +52 R Semblance Anvil @Dan Murayama Scott +53 U Sigil of Valor @Dan Murayama Scott 54 U Soul-Guide Lantern @Cliff Childs 55 U Springleaf Drum @Seb McKinnon 56 M Staff of Domination @Ben Thompson @@ -120,8 +120,8 @@ ScryfallCode=BRR 112 R Scrap Trawler @Daarken 113 R Sculpting Steel @Heather Hudson 114 U Self-Assembler @Toraji -115 R Semblance Anvil @Dan Scott -116 U Sigil of Valor @Dan Scott +115 R Semblance Anvil @Dan Murayama Scott +116 U Sigil of Valor @Dan Murayama Scott 117 U Soul-Guide Lantern @Lars Grant-West 118 U Springleaf Drum @Jakub Kasper 119 M Staff of Domination @Warren Mahy diff --git a/forge-gui/res/editions/The Brothers War.txt b/forge-gui/res/editions/The Brothers War.txt index 0ec5a5b8943..7de183f006d 100644 --- a/forge-gui/res/editions/The Brothers War.txt +++ b/forge-gui/res/editions/The Brothers War.txt @@ -17,7 +17,7 @@ ScryfallCode=BRO 4 U Calamity's Wake @Slawomir Maniak 5 C Deadly Riposte @Olena Richards 6 C Disenchant @Richard Kane Ferguson -7 U Great Desert Prospector @Nestor Ossandon Leal +7 U Great Desert Prospector @Néstor Ossandón Leal 8 M In the Trenches @Daarken 9 R Kayla's Command @Dominik Mayer 10 R Kayla's Reconstruction @Nicholas Elias @@ -99,7 +99,7 @@ ScryfallCode=BRO 86 U Battlefield Butcher @Lucas Graciano 87 C Carrion Locust @Nino Is 88 U Corrupt @Julie Dillon -89 R Diabolic Intent @Dan Scott +89 R Diabolic Intent @Dan Murayama Scott 90 U Disciples of Gix @Peter Polach 91 C Disfigure @Svetlin Velinov 92 U Dreams of Steel and Oil @Jeremy Wilson @@ -134,14 +134,14 @@ ScryfallCode=BRO 121 M Phyrexian Fleshgorger @Steve Prescott 122 R Razorlash Transmogrant @Kekai Kotaki 123 C Scrapwork Rager @Michal Ivan -124 U Transmogrant Altar @Dan Scott +124 U Transmogrant Altar @Dan Murayama Scott 125 R Transmogrant's Crown @Nino Vecia 126 U Arms Race @Leesha Hannigan 127 C Bitter Reunion @Jake Murray 128 R Brotherhood's End @Bryan Sola 129 C Conscripted Infantry @Noah Thatcher 130 M Draconic Destiny @Justin Hernandez & Alexis Hernandez -131 C Dwarven Forge-Chanter @Bartlomiej Gawel +131 C Dwarven Forge-Chanter @Bartłomiej Gaweł 132 C Excavation Explosion @Campbell White 133 U The Fall of Kroog @David Auden Nash 134 C Fallaji Chaindancer @Filipe Pagliuso @@ -207,7 +207,7 @@ ScryfallCode=BRO 194 R Titania's Command @Dominik Mayer 195 C Tomakul Honor Guard @Francisco Miyara 196 C Wasteful Harvest @Alex Stone -197 C Boulderbranch Golem @Dan Scott +197 C Boulderbranch Golem @Dan Murayama Scott 198 U Cradle Clearcutter @Daarken 199 U Haywire Mite @Izzy 200 U Iron-Craw Crusher @Filip Burburan @@ -252,7 +252,7 @@ ScryfallCode=BRO 239 C Mine Worker @Raoul Vitale 240 M Portal to Phyrexia @Svetlin Velinov 241 C Power Plant Worker @Aaron Miller -242 U Reconstructed Thopter @Dan Scott +242 U Reconstructed Thopter @Dan Murayama Scott 243 U Slagstone Refinery @Victor Harmatiuk 244 U Spectrum Sentinel @Olivier Bernard 245 R The Stasis Coffin @Artur Nakhodkin @@ -345,7 +345,7 @@ ScryfallCode=BRO 321 R The Temporal Anchor @Kekai Kotaki 322 R Terisian Mindbreaker @Steve Prescott 323 R Ashnod, Flesh Mechanist @Howard Lyon -324 R Diabolic Intent @Dan Scott +324 R Diabolic Intent @Dan Murayama Scott 325 R Fateful Handoff @Gaboleps 326 M Gix, Yawgmoth Praetor @Anna Podedworna 327 R Gix's Command @Dominik Mayer diff --git a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt index 1d8b20fefc6..11936a212e3 100644 --- a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt +++ b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth Commander.txt @@ -22,7 +22,7 @@ ScryfallCode=LTC 14 R Grey Host Reinforcements @Patrik Hell 15 R Gwaihir, Greatest of the Eagles @Jesper Ejsing 16 R Lossarnach Captain @Justine Cruz -17 R Of Herbs and Stewed Rabbit @Dan Scott +17 R Of Herbs and Stewed Rabbit @Dan Murayama Scott 18 R Archivist of Gondor @Wisnu Tan 19 R Corsairs of Umbar @Narendra Bintara Adi 20 R Denethor, Stone Seer @Bruno Biazotto @@ -424,7 +424,7 @@ ScryfallCode=LTC 416 R Grey Host Reinforcements @Patrik Hell 417 R Gwaihir, Greatest of the Eagles @Jesper Ejsing 418 R Lossarnach Captain @Justine Cruz -419 R Of Herbs and Stewed Rabbit @Dan Scott +419 R Of Herbs and Stewed Rabbit @Dan Murayama Scott 420 R Archivist of Gondor @Wisnu Tan 421 R Corsairs of Umbar @Narendra Bintara Adi 422 R Denethor, Stone Seer @Bruno Biazotto @@ -453,7 +453,7 @@ ScryfallCode=LTC 445 R Prize Pig @Bartłomiej Gaweł 446 R Travel Through Caradhras @Constantin Marin 447 R Windswift Slice @Narendra Bintara Adi -448 M Aragorn, King of Gondor @Eli +448 M Aragorn, King of Gondor @Yongjae Choi 449 R The Balrog of Moria @Rudy Siswanto 450 R Banquet Guests @Viko Menezes 451 R Bilbo, Birthday Celebrant @Billy Christian @@ -470,7 +470,7 @@ ScryfallCode=LTC 462 M Galadriel, Elven-Queen @Axel Sauerwald 463 M Gandalf, Westward Voyager @Sidharth Chaturvedi 464 R Gríma, Saruman's Footman @Matt Stewart -465 R In the Darkness Bind Them @Lack +465 R In the Darkness Bind Them @Daarken 466 R Lidless Gaze @Yigit Koroglu 467 R Lord of the Nazgûl @Anton Solovianchyk 468 R Merry, Warden of Isengard @Viko Menezes @@ -520,7 +520,7 @@ ScryfallCode=LTC 512 R Mordor on the March @Campbell White 513 R Fell Beast of Mordor @Campbell White 514 R Minas Morgul, Dark Fortress @Campbell White -515 R Kenrith, the Returned King @Greg Hildebrandt & Tim Hildebrandt +515 M Kenrith, the Returned King @Greg Hildebrandt & Tim Hildebrandt 516 M Ishkanah, Grafwidow @Greg Hildebrandt & Tim Hildebrandt 517 R Doran, the Siege Tower @Greg Hildebrandt & Tim Hildebrandt 518 R Hammerheim @Greg Hildebrandt & Tim Hildebrandt @@ -534,7 +534,7 @@ ScryfallCode=LTC 526 M Diabolic Intent @Greg Hildebrandt & Tim Hildebrandt 527 U Elvish Harbinger @Greg Hildebrandt & Tim Hildebrandt 528 U Explore @Greg Hildebrandt & Tim Hildebrandt -529 M Seasons Past @Greg Hildebrandt & Tim Hildebrandt +529 R Seasons Past @Greg Hildebrandt & Tim Hildebrandt 530 R Second Harvest @Greg Hildebrandt & Tim Hildebrandt 531 M Sylvan Tutor @Greg Hildebrandt & Tim Hildebrandt 532 U Tempt with Discovery @Greg Hildebrandt & Tim Hildebrandt diff --git a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt index b5cdf2c7d14..4691ed5e74a 100644 --- a/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt +++ b/forge-gui/res/editions/The Lord of the Rings Tales of Middle-earth.txt @@ -393,7 +393,7 @@ ScryfallCode=LTR 482 C Slip On the Ring @Iga Oliwiak 483 C Soldier of the Grey Host @Chris Cold 484 C Stalwarts of Osgiliath @Lixin Yin -485 U Tale of Tinúviel @Eli +485 U Tale of Tinúviel @Anthony Devine 486 C Took Reaper @Tatiana Veryayskaya 487 R War of the Last Alliance @Alexander Forssberg 488 C Westfold Rider @Anastasia Balakchina @@ -461,7 +461,7 @@ ScryfallCode=LTR 550 C Nasty End @Valera Lutfullina 551 U Nazgûl @Igor Krstic 552 U Oath of the Grey Host @Miklós Ligeti -553 R One Ring to Rule Them All @Nino Is +553 R One Ring to Rule Them All @L J Koh 554 R Orcish Bowmasters @Maxim Kostin 555 C Orcish Medicine @Irvin Rodriguez 556 C Sam's Desperate Rescue @Lixin Yin @@ -550,7 +550,7 @@ ScryfallCode=LTR 639 C Shower of Arrows @Manuel Castañón 640 U Stew the Coneys @Eelis Kyttanen 641 C Wose Pathfinder @Iga Oliwiak -642 R Aragorn, Company Leader @Eli +642 R Aragorn, Company Leader @Anna Steinbauer 643 M Aragorn, the Uniter @Javier Charro 644 M Arwen, Mortal Queen @Miranda Meeks 645 U Arwen Undómiel @Yongjae Choi @@ -653,7 +653,7 @@ ScryfallCode=LTR 805 R Legolas, Master Archer @Dominik Mayer 806 U Meriadoc Brandybuck @Marko Manev 807 U Peregrin Took @Anato Finnstark -808 R Aragorn, Company Leader @Eli +808 R Aragorn, Company Leader @Andreas Rocha 809 M Aragorn, the Uniter @Dominik Mayer 810 R Elrond, Master of Healing @Andreas Rocha 811 R Faramir, Prince of Ithilien @Andreas Rocha diff --git a/forge-gui/res/editions/The Lost Caverns of Ixalan Commander.txt b/forge-gui/res/editions/The Lost Caverns of Ixalan Commander.txt index b34d4b6df2a..827cbfd362b 100644 --- a/forge-gui/res/editions/The Lost Caverns of Ixalan Commander.txt +++ b/forge-gui/res/editions/The Lost Caverns of Ixalan Commander.txt @@ -133,7 +133,7 @@ ScryfallCode=LCC 125 R Akroma's Will @Antonio José Manzanedo 126 R Austere Command @Anna Steinbauer 127 U Bellowing Aegisaur @Craig J Spearing -128 C Generous Gift @Kev Walker +128 U Generous Gift @Kev Walker 129 R Kindred Boon @Carlos Palma Cruchaga 130 R Kinjalli's Sunwing @Simon Dominic 131 U Majestic Heliopterus @Filip Burburan @@ -144,7 +144,7 @@ ScryfallCode=LCC 136 U Return to Dust @Anato Finnstark 137 U Swords to Plowshares @Jesper Ejsing 138 R Temple Altisaur @Daarken -139 R Wakening Sun's Avatar @Tyler Jacobson +139 M Wakening Sun's Avatar @Tyler Jacobson 140 R Welcoming Vampire @Lorenzo Mastroianni 141 R Zetalpa, Primal Dawn @Chris Rallis 142 U Aetherize @Alexandre Honoré @@ -210,7 +210,7 @@ ScryfallCode=LCC 202 R New Blood @Howard Lyon 203 R Nighthawk Scavenger @Heonhwa Choe 204 U Oathsworn Vampire @Greg Opalinski -205 R Olivia's Wrath @Nestor Ossandon Leal +205 R Olivia's Wrath @Néstor Ossandón Leal 206 R Pact of the Serpent @Donato Giancola 207 R Patron of the Vein @Tommy Arnold 208 U Pitiless Plunderer @David Palumbo @@ -219,7 +219,7 @@ ScryfallCode=LCC 211 M Twilight Prophet @Seb McKinnon 212 C Village Rites @Igor Kieryluk 213 C Viscera Seer @John Stanko -214 U Yahenni, Undying Partisan @Lius Lasahido +214 R Yahenni, Undying Partisan @Lius Lasahido 215 R Angrath's Marauders @Victor Adame Minguez 216 R Blasphemous Act @Daarken 217 U Breeches, Brazen Plunderer @Svetlin Velinov @@ -249,7 +249,7 @@ ScryfallCode=LCC 241 C Explore @David Sondered 242 C Farseek @Hristo D. Chukov 243 R Hardened Scales @Mark Winters -244 U Inspiring Call @Dan Scott +244 U Inspiring Call @Dan Murayama Scott 245 C Kodama's Reach @Heather Hudson 246 U Migration Path @Grzegorz Rutkowski 247 R Rampaging Brontodon @Lars Grant-West @@ -301,10 +301,10 @@ ScryfallCode=LCC 293 M Vona, Butcher of Magan @Volkan Baǵa 294 R Vorel of the Hull Clade @Mike Bierek 295 M Xenagos, God of Revels @Jason Chan -296 R Zacama, Primal Calamity @Jaime Jones +296 M Zacama, Primal Calamity @Jaime Jones 297 R Zara, Renegade Recruiter @Chris Rallis 298 R Zegana, Utopian Speaker @Slawomir Maniak -299 C Arcane Signet @Dan Scott +299 C Arcane Signet @Dan Murayama Scott 300 R Blade of the Bloodchief @Jung Park 301 C Commander's Sphere @Ryan Alexander Lee 302 U Dimir Signet @Raoul Vitale @@ -323,7 +323,7 @@ ScryfallCode=LCC 315 U Talisman of Hierarchy @Lindsey Look 316 R Vanquisher's Banner @Milivoj Ćeran 317 C Wayfarer's Bauble @David Sondered -318 R Alchemist's Refuge @Dan Scott +318 R Alchemist's Refuge @Dan Murayama Scott 319 R Arch of Orazca @Titus Lunter 320 C Bojuka Bog @Howard Lyon 321 R Canopy Vista @Steven Belledin @@ -365,7 +365,7 @@ ScryfallCode=LCC 357 R Temple of Mystery @Piotr Dura 358 R Temple of Silence @Adam Paquette 359 U Temple of the False God @James Zapata -360 C Terramorphic Expanse @Dan Scott +360 C Terramorphic Expanse @Dan Murayama Scott 361 C Thriving Bluff @Johannes Voss 362 C Thriving Grove @Ravenna Tran 363 C Thriving Heath @Alayna Danner diff --git a/forge-gui/res/editions/The Lost Caverns of Ixalan.txt b/forge-gui/res/editions/The Lost Caverns of Ixalan.txt index 632ef79172b..8827b2d259b 100644 --- a/forge-gui/res/editions/The Lost Caverns of Ixalan.txt +++ b/forge-gui/res/editions/The Lost Caverns of Ixalan.txt @@ -27,7 +27,7 @@ ScryfallCode=LCI 15 C Glorifier of Suffering @Lauren K. Cannon 16 U Guardian of the Great Door @Justyna Dura 17 U Helping Hand @Aldo Domínguez -18 C Ironpaw Aspirant @Dan Scott +18 C Ironpaw Aspirant @Dan Murayama Scott 19 U Kinjalli's Dawnrunner @Arash Radkia 20 R Kutzil's Flanker @Michele Giorgi 21 U Malamet War Scribe @Nicholas Gregory @@ -133,7 +133,7 @@ ScryfallCode=LCI 121 R Souls of the Lost @Nils Hamm 122 R Stalactite Stalker @Olivier Bernard 123 R Starving Revenant @Fesbra -124 U Stinging Cave Crawler @Dan Scott +124 U Stinging Cave Crawler @Dan Murayama Scott 125 U Synapse Necromage @Piotr Foksowicz 126 R Tarrian's Journal @Randy Gallegos 127 R Terror Tide @Brock Grossman @@ -182,7 +182,7 @@ ScryfallCode=LCI 170 U Triumphant Chomp @Simon Dominic 171 R Trumpeting Carnosaur @Lars Grant-West 172 C Volatile Wanderglyph @Slawomir Maniak -173 U Zoyowa's Justice @Nestor Ossandon Leal +173 U Zoyowa's Justice @Néstor Ossandón Leal 174 C Armored Kincaller @John Tedrick 175 C Basking Capybara @Ilse Gort 176 R Bedrock Tortoise @Maxime Minard @@ -200,7 +200,7 @@ ScryfallCode=LCI 188 R Growing Rites of Itlimoc @Josu Hernaiz 189 M Huatli, Poet of Unity @Tyler Jacobson 190 C Huatli's Final Strike @Marta Nael -191 R Hulking Raptor @Nestor Ossandon Leal +191 R Hulking Raptor @Néstor Ossandón Leal 192 C In the Presence of Ages @Steve Prescott 193 R Intrepid Paleontologist @Irina Nordsol 194 U Ixalli's Lorekeeper @Ernanda Souza @@ -267,7 +267,7 @@ ScryfallCode=LCI 255 C Hunter's Blowgun @Hector Ortiz 256 R Matzalantli, the Great Door @Piotr Dura 257 M The Millennium Calendar @Zoltan Boros -258 R Roaming Throne @Anastasia Balakchina +258 R Roaming Throne @Cristi Balanescu 259 C Runaway Boulder @Loïc Canavaggia 260 U Scampering Surveyor @Xavier Ribeiro 261 U Sorcerous Spyglass @Tyler Walpole @@ -276,7 +276,7 @@ ScryfallCode=LCI 264 R Tarrian's Soulcleaver @Marzena Nereida Piwowar 265 R Threefold Thunderhulk @Xavier Ribeiro 266 R Throne of the Grim Captain @Tiffany Turrill -267 R Treasure Map @Nestor Ossandon Leal +267 R Treasure Map @Néstor Ossandón Leal 268 C Captivating Cave @Lorenzo Lanfranconi 269 M Cavern of Souls @Alayna Danner 270 U Cavernous Maw @Alfven Ato @@ -325,11 +325,11 @@ ScryfallCode=LCI 311 M Vito, Fanatic of Aclazotz @WolfSkullJack 312 U Zoyowa Lava-Tongue @Richard Luong 313 R Throne of the Grim Captain @Rafal Wechterowicz -314 M Ojer Taq, Deepest Foundation @Josu Hernaiz +314 M Ojer Taq, Deepest Foundation @Clint Lockwood & Josu Hernaiz 315 M Ojer Pakpatiq, Deepest Epoch @Clint Lockwood & Viko Menezes 316 M Aclazotz, Deepest Betrayal @Clint Lockwood & Viko Menezes 317 M Ojer Axonil, Deepest Might @Clint Lockwood & Viko Menezes -318 M Ojer Kaslem, Deepest Growth @Eddie Mendoza +318 M Ojer Kaslem, Deepest Growth @Clint Lockwood & Eddie Mendoza 319 M The Ancient One @Clint Lockwood 410a M Cavern of Souls @Pedro Correa 410b M Cavern of Souls @Pedro Correa @@ -412,13 +412,13 @@ ScryfallCode=LCI 388 M The Millennium Calendar @Zoltan Boros 389 R Tarrian's Soulcleaver @Marzena Nereida Piwowar 390 R Threefold Thunderhulk @Xavier Ribeiro -391 R Treasure Map @Nestor Ossandon Leal +391 R Treasure Map @Néstor Ossandón Leal 392 R Sunken Citadel @Matteo Bassini [bundle] 393 L Plains @Carlos Palma Cruchaga 394 L Plains @Adam Paquette -395 L Island @Nestor Ossandon Leal +395 L Island @Néstor Ossandón Leal 396 L Island @Adam Paquette 397 L Swamp @Logan Feliciano 398 L Swamp @Adam Paquette diff --git a/forge-gui/res/editions/Theros Beyond Death.txt b/forge-gui/res/editions/Theros Beyond Death.txt index 62ffa376107..80ec6cf49ef 100644 --- a/forge-gui/res/editions/Theros Beyond Death.txt +++ b/forge-gui/res/editions/Theros Beyond Death.txt @@ -66,7 +66,7 @@ ScryfallCode=THB 52 M Kiora Bests the Sea God @Victor Adame Minguez 53 U Medomai's Prophecy @Seb McKinnon 54 C Memory Drain @PINDURSKI -55 R Nadir Kraken @Dan Scott +55 R Nadir Kraken @Dan Murayama Scott 56 C Naiad of Hidden Coves @Kieran Yanner 57 C Nyxborn Seaguard @Simon Dominic 58 C Omen of the Sea @Piotr Dura @@ -195,7 +195,7 @@ ScryfallCode=THB 181 R Nessian Boar @Zoltan Boros 182 U Nessian Hornbeetle @Jason Felix 183 U Nessian Wanderer @Matt Stewart -184 C Nexus Wardens @Dan Scott +184 C Nexus Wardens @Dan Murayama Scott 185 M Nylea, Keen-Eyed @Chris Rahn 186 C Nylea's Forerunner @Christopher Burdett 187 C Nylea's Huntmaster @Winona Nelson @@ -245,7 +245,7 @@ ScryfallCode=THB 231 C Altar of the Pantheon @Jonas De Ro 232 C Bronze Sword @Kev Walker 233 U Entrancing Lyre @Yeong-Hao Han -234 U Mirror Shield @Dan Scott +234 U Mirror Shield @Dan Murayama Scott 235 R Nyx Lotus @Raoul Vitale 236 R Shadowspear @Yeong-Hao Han 237 U Soul-Guide Lantern @Cliff Childs @@ -326,7 +326,7 @@ ScryfallCode=THB 302 R Shatter the Sky @Bayard Wu 303 R Taranika, Akroan Veteran @Eric Deschamps 304 R Ashiok's Erasure @Zezhou Chen -305 R Nadir Kraken @Dan Scott +305 R Nadir Kraken @Dan Murayama Scott 306 R Protean Thaumaturge @Izzy 307 R Thassa's Intervention @Zack Stella 308 R Thassa's Oracle @Jesper Ejsing diff --git a/forge-gui/res/editions/Theros Promos.txt b/forge-gui/res/editions/Theros Promos.txt index 51cb9852707..2adba2c94a7 100644 --- a/forge-gui/res/editions/Theros Promos.txt +++ b/forge-gui/res/editions/Theros Promos.txt @@ -14,5 +14,5 @@ ScryfallCode=PTHS 98 R Nighthowler @Seb McKinnon 120★ R Ember Swallower @Vincent Proce 149★ R Anthousa, Setessan Hero @Howard Lyon -160 U Karametra's Acolyte @Dan Scott +160 U Karametra's Acolyte @Dan Murayama Scott 180★ R Sylvan Caryatid @Lars Grant-West diff --git a/forge-gui/res/editions/Theros.txt b/forge-gui/res/editions/Theros.txt index 9cf98750f0c..93ee35de0d8 100644 --- a/forge-gui/res/editions/Theros.txt +++ b/forge-gui/res/editions/Theros.txt @@ -53,11 +53,11 @@ ScryfallCode=THS 41 C Benthic Giant @Jaime Jones 42 R Bident of Thassa @Yeong-Hao Han 43 C Breaching Hippocamp @Christopher Burdett -44 C Coastline Chimera @Dan Scott +44 C Coastline Chimera @Dan Murayama Scott 45 C Crackling Triton @Greg Staples 46 R Curse of the Swine @James Ryman 47 U Dissolve @Wesley Burt -48 C Fate Foretold @Dan Scott +48 C Fate Foretold @Dan Murayama Scott 49 U Gainsay @Clint Cearley 50 C Griptide @Adam Paquette 51 U Horizon Scholar @Karl Kopinski @@ -103,7 +103,7 @@ ScryfallCode=THS 91 M Hythonia the Cruel @Chris Rahn 92 U Insatiable Harpy @Matt Stewart 93 U Keepsake Gorgon @Aaron Miller -94 C Lash of the Whip @Dan Scott +94 C Lash of the Whip @Dan Murayama Scott 95 C Loathsome Catoblepas @Christopher Burdett 96 C March of the Returned @Mark Zug 97 U Mogis's Marauder @Chase Stone diff --git a/forge-gui/res/editions/Throne of Eldraine.txt b/forge-gui/res/editions/Throne of Eldraine.txt index 6f49696ac6f..6e0ae90edee 100644 --- a/forge-gui/res/editions/Throne of Eldraine.txt +++ b/forge-gui/res/editions/Throne of Eldraine.txt @@ -71,7 +71,7 @@ ScryfallCode=ELD 56 C Mistford River Turtle @Milivoj Ćeran 57 C Moonlit Scavengers @Miranda Meeks 58 U Mystical Dispute @Ekaterina Burmak -59 C Opt @Dan Scott +59 C Opt @Dan Murayama Scott 60 U Overwhelmed Apprentice @Jason Rainville 61 C Queen of Ice @Eric Deschamps 62 C Run Away Together @Filip Burburan @@ -146,7 +146,7 @@ ScryfallCode=ELD 131 C Merchant of the Vale @David Gaillet 132 C Ogre Errant @Mitchell Malloy 133 R Opportunistic Dragon @Chris Rahn -134 C Raging Redcap @Dan Scott +134 C Raging Redcap @Dan Murayama Scott 135 U Redcap Melee @Chris Rallis 136 C Redcap Raiders @Lie Setiawan 137 C Rimrock Knight @Chris Rallis @@ -351,7 +351,7 @@ ScryfallCode=ELD 328 R Knights' Charge @Paul Scott Canavan 329 M Korvold, Fae-Cursed King @Wisnu Tan 330 M Syr Gwyn, Hero of Ashvale @Lie Setiawan -331 C Arcane Signet @Dan Scott +331 C Arcane Signet @Dan Murayama Scott 332 R Tome of Legends @Mila Pesic 333 C Command Tower @Evan Shipard diff --git a/forge-gui/res/editions/Time Spiral Remastered.txt b/forge-gui/res/editions/Time Spiral Remastered.txt index 30a94749bda..c840d738798 100644 --- a/forge-gui/res/editions/Time Spiral Remastered.txt +++ b/forge-gui/res/editions/Time Spiral Remastered.txt @@ -181,7 +181,7 @@ ScryfallCode=TSR 171 C Homing Sliver @Trevor Hairsine 172 R Jaya Ballard, Task Mage @Matt Cavotta 173 C Keldon Halberdier @Paolo Parente -174 U Lightning Axe @Dan Scott +174 U Lightning Axe @Dan Murayama Scott 175 R Magus of the Moon @Milivoj Ćeran 176 C Mogg War Marshal @Wayne England 177 C Needlepeak Spider @Dany Orizio @@ -189,7 +189,7 @@ ScryfallCode=TSR 179 R Pact of the Titan @Raymond Swanland 180 U Prodigal Pyromancer @Jeremy Jarvis 181 C Reckless Wurm @Greg Staples -182 R Reiterate @Dan Scott +182 R Reiterate @Dan Murayama Scott 183 C Riddle of Lightning @Daren Bader 184 C Rift Bolt @Michael Sutfin 185 C Rift Elemental @Ron Spears @@ -269,7 +269,7 @@ ScryfallCode=TSR 259 R Radha, Heir to Keld @Jim Murray 260 R Saffi Eriksdotter @Ryan Pancoast 261 M Sliver Legion @Ron Spears -262 M Akroma's Memorial @Dan Scott +262 M Akroma's Memorial @Dan Murayama Scott 263 C Chromatic Star @Daniel Ljunggren 264 U Clockwork Hydra @Daren Bader 265 R Cloud Key @Trevor Hairsine @@ -280,19 +280,19 @@ ScryfallCode=TSR 270 R Lotus Bloom @Mark Zug 271 U Paradise Plume @Wayne England 272 C Prismatic Lens @Alan Pollack -273 C Sliversmith @John Avon +273 U Sliversmith @John Avon 274 R Stuffy Doll @Dave Allsop 275 U Calciform Pools @Darrell Riche 276 U Dreadship Reef @Lars Grant-West 277 R Dryad Arbor @Eric Fortune 278 R Flagstones of Trokair @Rob Alexander -279 C Fungal Reaches @Martina Pilcerova +279 U Fungal Reaches @Martina Pilcerova 280 M Gemstone Caverns @Martina Pilcerova 281 R Kher Keep @Paolo Parente 282 U Molten Slagheap @Daren Bader 283 U Saltcrusted Steppe @Greg Staples 284 R Swarmyard @Thomas M. Baxa -285 C Terramorphic Expanse @Dan Scott +285 C Terramorphic Expanse @Dan Murayama Scott 286 R Tolaria West @Khang Le 287 R Urborg, Tomb of Yawgmoth @John Avon 288 U Urza's Factory @Mark Tedin @@ -322,11 +322,11 @@ ScryfallCode=TSR 310 S Master of the Pearl Trident @Ryan Pancoast 311 S Mulldrifter @Eric Fortune 312 S Mystic Confluence @Kieran Yanner -313 S Ninja of the Deep Hours @Dan Scott +313 S Ninja of the Deep Hours @Dan Murayama Scott 314 S Paradoxical Outcome @Nils Hamm -315 S Ponder @Dan Scott +315 S Ponder @Dan Murayama Scott 316 S Remand @Mark A. Nelson -317 S Repeal @Dan Scott +317 S Repeal @Dan Murayama Scott 318 S Talrand, Sky Summoner @Svetlin Velinov 319 S Treasure Cruise @Cynthia Sheppard 320 S Trinket Mage @Mark A. Nelson @@ -385,7 +385,7 @@ ScryfallCode=TSR 373 S Cloudshredder Sliver @Filip Burburan 374 S Consuming Aberration @Karl Kopinski 375 S Dovin's Veto @Izzy -376 S Epic Experiment @Dan Scott +376 S Epic Experiment @Dan Murayama Scott 377 S Feather, the Redeemed @Wayne Reynolds 378 S Grenzo, Dungeon Warden @Lucas Graciano 379 S Knight of the Reliquary @Michael Komarck diff --git a/forge-gui/res/editions/Time Spiral.txt b/forge-gui/res/editions/Time Spiral.txt index 080a662bbce..47b64b43a5d 100644 --- a/forge-gui/res/editions/Time Spiral.txt +++ b/forge-gui/res/editions/Time Spiral.txt @@ -179,14 +179,14 @@ ScryfallCode=TSP 165 C Ironclaw Buzzardiers @Carl Critchlow 166 R Jaya Ballard, Task Mage @Matt Cavotta 167 C Keldon Halberdier @Paolo Parente -168 C Lightning Axe @Dan Scott +168 C Lightning Axe @Dan Murayama Scott 169 R Magus of the Scroll @Greg Staples 170 C Mogg War Marshal @Wayne England 171 R Norin the Wary @Heather Hudson 172 C Orcish Cannonade @Pete Venters 173 R Pardic Dragon @Zoltan Boros & Gabor Szikszai 174 C Plunder @Thomas M. Baxa -175 R Reiterate @Dan Scott +175 R Reiterate @Dan Murayama Scott 176 C Rift Bolt @Michael Sutfin 177 R Sedge Sliver @Richard Kane Ferguson 178 C Subterranean Shambler @Kev Walker @@ -197,7 +197,7 @@ ScryfallCode=TSP 183 C Two-Headed Sliver @Dany Orizio 184 U Undying Rage @Scott M. Fischer 185 C Viashino Bladescout @Dany Orizio -186 U Volcanic Awakening @Dan Scott +186 U Volcanic Awakening @Dan Murayama Scott 187 R Wheel of Fate @Kev Walker 188 R Word of Seizing @Vance Kovacs 189 C Aether Web @Justin Sweet @@ -228,7 +228,7 @@ ScryfallCode=TSP 214 C Scarwood Treefolk @Stuart Griffin 215 U Scryb Ranger @Rebecca Guay 216 C Search for Tomorrow @Randy Gallegos -217 R Spectral Force @Dan Scott +217 R Spectral Force @Dan Murayama Scott 218 R Spike Tiller @Tony Szczudlo 219 C Spinneret Sliver @Michael Sutfin 220 U Sporesower Thallid @Ron Spencer @@ -290,7 +290,7 @@ ScryfallCode=TSP 276 U Molten Slagheap @Daren Bader 277 U Saltcrusted Steppe @Greg Staples 278 R Swarmyard @Thomas M. Baxa -279 C Terramorphic Expanse @Dan Scott +279 C Terramorphic Expanse @Dan Murayama Scott 280 U Urza's Factory @Mark Tedin 281 R Vesuva @Zoltan Boros & Gabor Szikszai 282 L Plains @Rob Alexander diff --git a/forge-gui/res/editions/Transformers.txt b/forge-gui/res/editions/Transformers.txt index 26f1572a1ed..fd193363e77 100644 --- a/forge-gui/res/editions/Transformers.txt +++ b/forge-gui/res/editions/Transformers.txt @@ -6,35 +6,35 @@ Type=Promo ScryfallCode=BOT [cards] -1 M Prowl, Stoic Strategist @VOLTA Creation -2 M Ratchet, Field Medic @VOLTA Creation -3 M Jetfire, Ingenious Scientist @VOLTA Creation -4 M Blitzwing, Cruel Tormentor @VOLTA Creation -5 M Starscream, Power Hungry @VOLTA Creation -6 M Slicer, Hired Muscle @VOLTA Creation -7 M Arcee, Sharpshooter @VOLTA Creation -8 M Blaster, Combat DJ @VOLTA Creation -9 M Cyclonus, the Saboteur @VOLTA Creation -10 M Flamewar, Brash Veteran @VOLTA Creation -11 M Goldbug, Humanity's Ally @VOLTA Creation -12 M Megatron, Tyrant @VOLTA Creation -13 M Optimus Prime, Hero @VOLTA Creation -14 M Soundwave, Sonic Spy @VOLTA Creation -15 M Ultra Magnus, Tactician @VOLTA Creation -16 M Prowl, Stoic Strategist @VOLTA Creation -17 M Ratchet, Field Medic @VOLTA Creation -18 M Jetfire, Ingenious Scientist @VOLTA Creation -19 M Blitzwing, Cruel Tormentor @VOLTA Creation -20 M Starscream, Power Hungry @VOLTA Creation -21 M Slicer, Hired Muscle @VOLTA Creation -22 M Blaster, Combat DJ @VOLTA Creation -23 M Cyclonus, the Saboteur @VOLTA Creation -24 M Flamewar, Brash Veteran @VOLTA Creation -25 M Goldbug, Humanity's Ally @VOLTA Creation -26 M Megatron, Tyrant @VOLTA Creation -27 M Optimus Prime, Hero @VOLTA Creation -28 M Soundwave, Sonic Spy @VOLTA Creation -29 M Ultra Magnus, Tactician @VOLTA Creation +1 M Prowl, Stoic Strategist @Volta Creation +2 M Ratchet, Field Medic @Volta Creation +3 M Jetfire, Ingenious Scientist @Volta Creation +4 M Blitzwing, Cruel Tormentor @Volta Creation +5 M Starscream, Power Hungry @Volta Creation +6 M Slicer, Hired Muscle @Volta Creation +7 M Arcee, Sharpshooter @Volta Creation +8 M Blaster, Combat DJ @Volta Creation +9 M Cyclonus, the Saboteur @Volta Creation +10 M Flamewar, Brash Veteran @Volta Creation +11 M Goldbug, Humanity's Ally @Volta Creation +12 M Megatron, Tyrant @Volta Creation +13 M Optimus Prime, Hero @Volta Creation +14 M Soundwave, Sonic Spy @Volta Creation +15 M Ultra Magnus, Tactician @Volta Creation +16 M Prowl, Stoic Strategist @Volta Creation +17 M Ratchet, Field Medic @Volta Creation +18 M Jetfire, Ingenious Scientist @Volta Creation +19 M Blitzwing, Cruel Tormentor @Volta Creation +20 M Starscream, Power Hungry @Volta Creation +21 M Slicer, Hired Muscle @Volta Creation +22 M Blaster, Combat DJ @Volta Creation +23 M Cyclonus, the Saboteur @Volta Creation +24 M Flamewar, Brash Veteran @Volta Creation +25 M Goldbug, Humanity's Ally @Volta Creation +26 M Megatron, Tyrant @Volta Creation +27 M Optimus Prime, Hero @Volta Creation +28 M Soundwave, Sonic Spy @Volta Creation +29 M Ultra Magnus, Tactician @Volta Creation [tokens] laserbeak diff --git a/forge-gui/res/editions/URL Convention Promos.txt b/forge-gui/res/editions/URL Convention Promos.txt index d8ec00a8a16..7f053cc97e4 100644 --- a/forge-gui/res/editions/URL Convention Promos.txt +++ b/forge-gui/res/editions/URL Convention Promos.txt @@ -7,7 +7,7 @@ ScryfallCode=PURL [cards] 1 R Steward of Valeron @Greg Staples -2 R Kor Skyfisher @Dan Scott +2 R Kor Skyfisher @Dan Murayama Scott 3 R Bloodthrone Vampire @Steve Argyle 4 R Merfolk Mesmerist @Jana Schirmer & Johannes Voss 5 R Chandra's Fury @Volkan Baǵa diff --git a/forge-gui/res/editions/Ultimate Masters.txt b/forge-gui/res/editions/Ultimate Masters.txt index b455e588353..bb626e62a8d 100644 --- a/forge-gui/res/editions/Ultimate Masters.txt +++ b/forge-gui/res/editions/Ultimate Masters.txt @@ -34,7 +34,7 @@ ScryfallCode=UMA 20 U Hero of Iroas @Willian Murai 21 C Hyena Umbra @Howard Lyon 22 C Icatian Crier @Michael Phillippi -23 C Lotus-Eye Mystics @Dan Scott +23 C Lotus-Eye Mystics @Dan Murayama Scott 24 C Mammoth Umbra @Howard Lyon 25 C Martyr of Sands @Randy Gallegos 26 U Miraculous Recovery @Mark Winters @@ -160,7 +160,7 @@ ScryfallCode=UMA 146 R Seismic Assault @Adam Paquette 147 R Seize the Day @Greg Staples 148 C Soul's Fire @Wayne Reynolds -149 C Sparkspitter @Dan Scott +149 C Sparkspitter @Dan Murayama Scott 150 R Squee, Goblin Nabob @Greg Staples 151 C Thermo-Alchemist @Raymond Swanland 152 R Through the Breach @Randy Vargas @@ -236,7 +236,7 @@ ScryfallCode=UMA 222 C Shielding Plax @Brian Hagan 223 U Slippery Bogle @Jesper Ejsing 224 C Turn to Mist @Greg Staples -225 C Fire // Ice @Dan Scott +225 C Fire // Ice @Dan Murayama Scott 226 C Cathodion @Izzy 227 R Engineered Explosives @Lars Grant-West 228 U Heap Doll @John Avon @@ -263,7 +263,7 @@ ScryfallCode=UMA 249 R Raging Ravine @Todd Lockwood 250 U Rogue's Passage @Christine Choi 251 R Stirring Wildwood @Eric Deschamps -252 C Terramorphic Expanse @Dan Scott +252 C Terramorphic Expanse @Dan Murayama Scott 253 R Thespian's Stage @John Avon 254 R Urborg, Tomb of Yawgmoth @Jung Park diff --git a/forge-gui/res/editions/Vintage Masters.txt b/forge-gui/res/editions/Vintage Masters.txt index 0a7cbec4ea4..3d3211b6eab 100644 --- a/forge-gui/res/editions/Vintage Masters.txt +++ b/forge-gui/res/editions/Vintage Masters.txt @@ -80,7 +80,7 @@ ScryfallCode=VMA 68 R Flusterstorm @Erica Yang 69 R Force of Will @Matt Stewart 70 C Frantic Search @Jeff Miracola -71 R Future Sight @Dan Scott +71 R Future Sight @Dan Murayama Scott 72 U Gush @Kev Walker 73 U High Tide @Eric Deschamps 74 M Jace, the Mind Sculptor @Jason Chan @@ -236,7 +236,7 @@ ScryfallCode=VMA 224 U Penumbra Wurm @Daarken 225 C Provoke @Terese Nielsen 226 R Realm Seekers @Mike Sass -227 R Regrowth @Dan Scott +227 R Regrowth @Dan Murayama Scott 228 U Roar of the Wurm @Kev Walker 229 R Rofellos, Llanowar Emissary @Michael Sutfin 230 R Saproling Burst @Carl Critchlow diff --git a/forge-gui/res/editions/War of the Spark.txt b/forge-gui/res/editions/War of the Spark.txt index 462bd178ef3..98d64a05dad 100644 --- a/forge-gui/res/editions/War of the Spark.txt +++ b/forge-gui/res/editions/War of the Spark.txt @@ -56,7 +56,7 @@ ScryfallCode=WAR 37 U The Wanderer @Wesley Burt 37★ U The Wanderer @Norikatsu Miyoshi 38 C Wanderer's Strike @Sara Winters -39 C War Screecher @Dan Scott +39 C War Screecher @Dan Murayama Scott 40 C Ashiok's Skulker @Livia Prima 41 U Augur of Bolas @Alex Konstad 42 C Aven Eternal @Johan Grenier @@ -272,7 +272,7 @@ ScryfallCode=WAR 229 U Dovin, Hand of Control @Kieran Yanner 229★ U Dovin, Hand of Control @Nablange 230 U Huatli, the Sun's Heart @Lius Lasahido -230★ U Huatli, the Sun's Heart @Masuda Mikio +230★ U Huatli, the Sun's Heart @Mikio Masuda 231 U Kaya, Bane of the Dead @Magali Villeneuve 231★ U Kaya, Bane of the Dead @Mid 232 U Kiora, Behemoth Beckoner @Jaime Jones diff --git a/forge-gui/res/editions/Warhammer 40,000 Commander.txt b/forge-gui/res/editions/Warhammer 40,000 Commander.txt index 95bd1c18a2d..38fc0e5038a 100644 --- a/forge-gui/res/editions/Warhammer 40,000 Commander.txt +++ b/forge-gui/res/editions/Warhammer 40,000 Commander.txt @@ -273,7 +273,7 @@ ScryfallCode=40K 265 U Ash Barrens @Sergei Leoluch Panin 266 U Barren Moor @Rafater 267 C Cave of Temptation @Teodora Dumitriu -268 R Choked Estuary @LiXin Yin +268 R Choked Estuary @Lixin Yin 269 R Cinder Glade @Sergio Cosmai 270 C Command Tower @Logan Feliciano 271 C Command Tower @Games Workshop @@ -287,7 +287,7 @@ ScryfallCode=40K 279 R Foreboding Ruins @Josu Solano 280 C Forgotten Cave @Andrey Nyarl 281 U Frontier Bivouac @Álvaro Calvo Escudero -282 R Game Trail @LiXin Yin +282 R Game Trail @Lixin Yin 283 U Memorial to Glory @Games Workshop 284 U Molten Slagheap @Anthony Devine 285 U Myriad Landscape @Adrián Rodríguez Pérez @@ -305,7 +305,7 @@ ScryfallCode=40K 297 R Temple of Abandon @Logan Feliciano 298 R Temple of Epiphany @Álvaro Calvo Escudero 299 R Temple of Mystery @Eliz Roxs -300 U Temple of the False God @Josu Hernaiz +300 U Temple of the False God @Josu Solano 301 C Terramorphic Expanse @Kekai Kotaki 302 C Thornwood Falls @Josu Hernaiz 303 C Tranquil Cove @Eliz Roxs @@ -314,7 +314,7 @@ ScryfallCode=40K 306 L Plains @Zhillustrator 307 L Island @Marina Ortega Lorente 308 L Island @Calder Moore -309 L Island @LiXin Yin +309 L Island @Lixin Yin 310 L Swamp @JB Casacop 311 L Swamp @Johan Grenier 312 L Swamp @Calder Moore diff --git a/forge-gui/res/editions/Wilds of Eldraine Commander.txt b/forge-gui/res/editions/Wilds of Eldraine Commander.txt index b86991d5c03..d36455b104a 100644 --- a/forge-gui/res/editions/Wilds of Eldraine Commander.txt +++ b/forge-gui/res/editions/Wilds of Eldraine Commander.txt @@ -77,7 +77,7 @@ ScryfallCode=WOC 69 R Kor Spiritdancer @Nils Hamm 70 R Mantle of the Ancients @Lucas Graciano 71 M Realm-Cloaked Giant @Adam Paquette -72 R Retether @Dan Scott +72 R Retether @Dan Murayama Scott 73 U Sage's Reverie @Jason Rainville 74 R Shalai, Voice of Plenty @Victor Adame Minguez 75 U Spectral Steel @Johannes Voss @@ -106,7 +106,7 @@ ScryfallCode=WOC 98 C Keep Watch @Fred Rahmqvist 99 R Midnight Clock @Alexander Forssberg 100 U Nightveil Sprite @Uriah Voth -101 C Opt @Dan Scott +101 C Opt @Dan Murayama Scott 102 R Perplexing Test @Fariba Khamseh 103 U Quickling @Clint Cearley 104 U Reality Shift @Howard Lyon @@ -150,10 +150,10 @@ ScryfallCode=WOC 142 R Oona, Queen of the Fae @Adam Rex 143 U Pollenbright Wings @Brian Valeza 144 U Siona, Captain of the Pyleas @Chris Rallis -145 C Arcane Signet @Dan Scott +145 C Arcane Signet @Dan Murayama Scott 146 U Dimir Signet @Raoul Vitale 147 U Fellwar Stone @John Avon -148 C Mind Stone @Adam Rex +148 U Mind Stone @Adam Rex 149 U Sol Ring @Mike Bierek 150 U Talisman of Dominance @Mike Dringenberg 151 C Wayfarer's Bauble @Darrell Riche diff --git a/forge-gui/res/editions/Wilds of Eldraine Enchanting Tales.txt b/forge-gui/res/editions/Wilds of Eldraine Enchanting Tales.txt index a8dac9cca0d..e13dd5765b6 100644 --- a/forge-gui/res/editions/Wilds of Eldraine Enchanting Tales.txt +++ b/forge-gui/res/editions/Wilds of Eldraine Enchanting Tales.txt @@ -65,7 +65,7 @@ ScryfallCode=WOT 57 R Nature's Will @Matteo Bassini 58 M Parallel Lives @Lander Strijbol 59 R Primal Vigor @Maël Ollivier-Henry -60 R Prismatic Omen @Qianhao Ma +60 R Prismatic Omen @Qianjiao Ma 61 U Season of Growth @Maël Ollivier-Henry 62 R Unnatural Growth @Francoyovich 63 U Utopia Sprawl @Sylvain Sarrailh diff --git a/forge-gui/res/editions/Wilds of Eldraine.txt b/forge-gui/res/editions/Wilds of Eldraine.txt index 8ff016c8742..f02428937b3 100644 --- a/forge-gui/res/editions/Wilds of Eldraine.txt +++ b/forge-gui/res/editions/Wilds of Eldraine.txt @@ -21,7 +21,7 @@ ScryfallCode=WOE 9 U Cursed Courtier @Tuan Duong Chu 10 U Discerning Financier @Wayne Reynolds 11 U Dutiful Griffin @Ilse Gort -12 U Eerie Interference @Chris Rahn +12 U Eerie Interference @Néstor Ossandón Leal 13 R Expel the Interlopers @Andreas Zafiratos 14 C Frostbridge Guard @Paul Scott Canavan 15 U Gallant Pie-Wielder @Matt Forsyth @@ -48,7 +48,7 @@ ScryfallCode=WOE 36 C Tuinvale Guide @Anastasia Ovchinnikova 37 C Unassuming Sage @Michele Giorgi 38 M Virtue of Loyalty @Piotr Dura -39 R Werefox Bodyguard @Nestor Ossandon Leal +39 R Werefox Bodyguard @Néstor Ossandón Leal 40 C Aquatic Alchemist @Uriah Voth 41 U Archive Dragon @Tyler Walpole 42 M Asinine Antics @Brent Hollowell @@ -184,7 +184,7 @@ ScryfallCode=WOE 172 R Gruff Triplets @Fajareka Setiawan 173 C Hamlet Glutton @Edgar Sánchez Hidalgo 174 C Hollow Scavenger @Michele Giorgi -175 U Howling Galefang @Nestor Ossandon Leal +175 U Howling Galefang @Néstor Ossandón Leal 176 R The Huntsman's Redemption @Magali Villeneuve 177 C Leaping Ambush @Vincent Christiaens 178 U Night of the Sweets' Revenge @Leonardo Santanna @@ -238,7 +238,7 @@ ScryfallCode=WOE 226 U Frolicking Familiar @Brian Valeza 227 U Gingerbread Hunter @Milivoj Ćeran 228 R Heartflame Duelist @Justyna Dura -229 U Imodane's Recruiter @Nestor Ossandon Leal +229 U Imodane's Recruiter @Néstor Ossandón Leal 230 M Kellan, the Fae-Blooded @Anna Steinbauer 231 R Mosswood Dreadknight @Ryan Pancoast 232 U Picnic Ruiner @Edgar Sánchez Hidalgo @@ -346,7 +346,7 @@ ScryfallCode=WOE 326 R Regal Bunnicorn @Ilse Gort 327 R Spellbook Vendor @Scott Murphy 328 R A Tale for the Ages @Julie Dillon -329 R Werefox Bodyguard @Nestor Ossandon Leal +329 R Werefox Bodyguard @Néstor Ossandón Leal 330 M Asinine Antics @Brent Hollowell 331 R Extraordinary Journey @Volkan Baǵa 332 R Farsight Ritual @Randy Gallegos diff --git a/forge-gui/res/editions/Wizards Play Network 2023.txt b/forge-gui/res/editions/Wizards Play Network 2023.txt index 8d2f17dbb04..762d4348f32 100644 --- a/forge-gui/res/editions/Wizards Play Network 2023.txt +++ b/forge-gui/res/editions/Wizards Play Network 2023.txt @@ -11,7 +11,7 @@ ScryfallCode=PW23 3 R Beast Within @Dave Allsop 4 R Drown in the Loch @John Stanko 5 R Syr Konrad, the Grim @Anna Steinbauer -6 R Cultivate @Nestor Ossandon Leal +6 R Cultivate @Néstor Ossandón Leal 7 R Ice Out @Takuma Ebisu 8 R Pyroblast @Takuma Ebisu 9 R Rampant Growth @Lorenzo Lanfranconi diff --git a/forge-gui/res/editions/Worldwake.txt b/forge-gui/res/editions/Worldwake.txt index 68a0042302c..d82dd5f605d 100644 --- a/forge-gui/res/editions/Worldwake.txt +++ b/forge-gui/res/editions/Worldwake.txt @@ -59,7 +59,7 @@ ScryfallCode=WWK 46 C Wind Zendikon @Vincent Proce 47 M Abyssal Persecutor @Chippy 48 R Agadeem Occultist @Vance Kovacs -49 R Anowon, the Ruin Sage @Dan Scott +49 R Anowon, the Ruin Sage @Dan Murayama Scott 50 U Bloodhusk Ritualist @Daarken 51 C Bojuka Brigand @Johann Bodin 52 C Brink of Disaster @Alex Horley-Orlandelli @@ -138,7 +138,7 @@ ScryfallCode=WWK 125 C Hedron Rover @Jason Felix 126 C Kitesail @Cyril Van Der Haegen 127 R Lodestone Golem @Chris Rahn -128 C Pilgrim's Eye @Dan Scott +128 C Pilgrim's Eye @Dan Murayama Scott 129 U Razor Boomerang @Franz Vohwinkel 130 R Seer's Sundial @Franz Vohwinkel 131 C Walking Atlas @Rob Alexander diff --git a/forge-gui/res/editions/Year of the Tiger 2022.txt b/forge-gui/res/editions/Year of the Tiger 2022.txt index 3142e22eef4..c5638fae15b 100644 --- a/forge-gui/res/editions/Year of the Tiger 2022.txt +++ b/forge-gui/res/editions/Year of the Tiger 2022.txt @@ -6,8 +6,8 @@ Type=Promo ScryfallCode=PL22 [cards] -1 R Temur Sabertooth @tswck -2 R Jedit Ojanen @ +1 R Temur Sabertooth @TSWCK +2 R Jedit Ojanen @TCC 3 M Snapdax, Apex of the Hunt @Walleystation 4 M Yuriko, the Tiger's Shadow @Walleystation -5 R Herald's Horn @tswck +5 R Herald's Horn @TSWCK diff --git a/forge-gui/res/editions/Zendikar Rising Commander.txt b/forge-gui/res/editions/Zendikar Rising Commander.txt index f19f79451cc..aafdcace141 100644 --- a/forge-gui/res/editions/Zendikar Rising Commander.txt +++ b/forge-gui/res/editions/Zendikar Rising Commander.txt @@ -73,9 +73,9 @@ ScryfallCode=ZNC 65 U Evolution Sage @Simon Dominic 66 C Far Wanderings @Darrell Riche 67 C Fertilid @Nicholas Gregory -68 U Harmonize @Dan Scott +68 U Harmonize @Dan Murayama Scott 69 C Harrow @Izzy -70 U Inspiring Call @Dan Scott +70 U Inspiring Call @Dan Murayama Scott 71 U Keeper of Fables @Alex Konstad 72 C Khalni Heart Expedition @Jason Chan 73 C Kodama's Reach @John Avon @@ -111,15 +111,15 @@ ScryfallCode=ZNC 103 R Sygg, River Cutthroat @Jeremy Enecio 104 U Sylvan Reclamation @Seb McKinnon 105 U Treacherous Terrain @Titus Lunter -106 C Arcane Signet @Dan Scott +106 C Arcane Signet @Dan Murayama Scott 107 R Blackblade Reforged @Chris Rahn 108 R Bonehoard @Chippy 109 C Commander's Sphere @Ryan Alexander Lee 110 U Dimir Keyrune @Daniel Ljunggren 111 C Dimir Locket @Zezhou Chen -112 U Dimir Signet @Raoul Vitale +112 C Dimir Signet @Raoul Vitale 113 U Heirloom Blade @Carmen Sinek -114 C Mind Stone @Adam Rex +114 U Mind Stone @Adam Rex 115 R Obelisk of Urd @John Severin Brassell 116 U Sandstone Oracle @Izzy 117 C Scaretiller @Jakub Kasper @@ -127,7 +127,7 @@ ScryfallCode=ZNC 119 R Seer's Sundial @Franz Vohwinkel 120 U Sol Ring @Mike Bierek 121 U Blighted Woodland @Jason Felix -122 C Boros Garrison @John Avon +122 U Boros Garrison @John Avon 123 C Boros Guildgate @Noah Bradley 124 C Command Tower @Ryan Yee 125 U Cryptic Caves @Sung Choi @@ -145,9 +145,9 @@ ScryfallCode=ZNC 137 R Needle Spires @Jonas De Ro 138 U Rogue's Passage @Christine Choi 139 C Selesnya Guildgate @Howard Lyon -140 C Selesnya Sanctuary @John Avon +140 U Selesnya Sanctuary @John Avon 141 U Submerged Boneyard @Cliff Childs -142 C Terramorphic Expanse @Dan Scott +142 C Terramorphic Expanse @Dan Murayama Scott [tokens] w_1_1_bird_flying diff --git a/forge-gui/res/editions/Zendikar Rising.txt b/forge-gui/res/editions/Zendikar Rising.txt index 2a50155150c..3f2c5e882b9 100644 --- a/forge-gui/res/editions/Zendikar Rising.txt +++ b/forge-gui/res/editions/Zendikar Rising.txt @@ -56,7 +56,7 @@ ScryfallCode=ZNR 40 U Skyclave Cleric @Johannes Voss 41 R Squad Commander @Ekaterina Burmak 42 C Smite the Monstrous @Izzy -43 C Tazeem Raptor @Dan Scott +43 C Tazeem Raptor @Dan Murayama Scott 44 M Tazri, Beacon of Unity @Chris Rahn 45 C Anticognition @Igor Kieryluk 46 U Beyeen Veil @YW Tang @@ -177,7 +177,7 @@ ScryfallCode=ZNR 161 M Shatterskull Smashing @Adam Paquette 162 C Sizzling Barrage @Johann Bodin 163 U Skyclave Geopede @Filip Burburan -164 C Sneaking Guide @Dan Scott +164 C Sneaking Guide @Dan Murayama Scott 165 U Song-Mad Treachery @Zoltan Boros 166 U Spikefield Hazard @Tomasz Jedruszek 167 C Spitfire Lagac @Antonio José Manzanedo @@ -217,7 +217,7 @@ ScryfallCode=ZNR 201 U Roiling Regrowth @Jonas De Ro 202 C Scale the Heights @Cristi Balanescu 203 R Scute Swarm @Alex Konstad -204 U Skyclave Pick-Axe @Dan Scott +204 U Skyclave Pick-Axe @Dan Murayama Scott 205 U Springmantle Cleric @Cristi Balanescu 206 C Strength of Solidarity @Svetlin Velinov 207 R Swarm Shambler @Nicholas Gregory diff --git a/forge-gui/res/editions/Zendikar.txt b/forge-gui/res/editions/Zendikar.txt index 5c46bd35cc8..4c2868e6702 100644 --- a/forge-gui/res/editions/Zendikar.txt +++ b/forge-gui/res/editions/Zendikar.txt @@ -32,8 +32,8 @@ ScryfallCode=ZEN 19 U Kor Duelist @Izzy 20 C Kor Hookmaster @Wayne Reynolds 21 C Kor Outfitter @Kieran Yanner -22 C Kor Sanctifiers @Dan Scott -23 C Kor Skyfisher @Dan Scott +22 C Kor Sanctifiers @Dan Murayama Scott +23 C Kor Skyfisher @Dan Murayama Scott 24 U Landbind Ritual @Steve Prescott 25 R Luminarch Ascension @Michael Komarck 26 C Makindi Shieldmate @Howard Lyon @@ -82,7 +82,7 @@ ScryfallCode=ZEN 69 R Sphinx of Lost Truths @Shelly Wan 70 C Spreading Seas @Jung Park 71 U Summoner's Bane @Cyril Van Der Haegen -72 C Tempest Owl @Dan Scott +72 C Tempest Owl @Dan Murayama Scott 73 C Trapfinder's Trick @Philip Straub 74 U Trapmaker's Snare @Daarken 75 C Umara Raptor @Sam Wood @@ -120,7 +120,7 @@ ScryfallCode=ZEN 107 M Ob Nixilis, the Fallen @Jason Felix 108 U Quest for the Gravelord @Chris Rahn 109 U Ravenous Trap @Cyril Van Der Haegen -110 R Sadistic Sacrament @Dan Scott +110 R Sadistic Sacrament @Dan Murayama Scott 111 M Sorin Markov @Michael Komarck 112 C Soul Stair Expedition @Anthony Francisco 113 C Surrakar Marauder @Kev Walker @@ -140,7 +140,7 @@ ScryfallCode=ZEN 127 U Goblin Ruinblaster @Matt Cavotta 128 C Goblin Shortcutter @Jesper Ejsing 129 C Goblin War Paint @Austin Hsu -130 U Hellfire Mongrel @Dan Scott +130 U Hellfire Mongrel @Dan Murayama Scott 131 R Hellkite Charger @Jaime Jones 132 C Highland Berserker @Chris Rahn 133 U Inferno Trap @Philip Straub diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 4d02b28a191..74042508522 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -3434,4 +3434,6 @@ lblShowNoSell=No-Sell Anzeigen lblShowAll=Alle Anzeigen lblHideCollection=Sammlung Ausblenden lblShowCollection=Sammlung Anzeigen -lblCracked=Geknackt! \ No newline at end of file +lblCracked=Geknackt! +lblTake=Nehmen +lblRefund=Erstattung \ No newline at end of file diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 80863cca86b..5f2ead89cf4 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -3167,4 +3167,6 @@ lblShowNoSell=Show No-Sell lblShowAll=Show All lblHideCollection=Hide Collection lblShowCollection=Show Collection -lblCracked=Cracked! \ No newline at end of file +lblCracked=Cracked! +lblTake=Take +lblRefund=Refund \ No newline at end of file diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 36ffbc1b600..258f1a5f6b8 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -3448,4 +3448,6 @@ lblShowNoSell=Mostrar No Vender lblShowAll=Mostrar Todo lblHideCollection=Ocultar Colección lblShowCollection=Mostrar Colección -lblCracked=¡Agrietado! \ No newline at end of file +lblCracked=¡Agrietado! +lblTake=Llevar +lblRefund=Reembolso \ No newline at end of file diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index 1941f39fa0e..76669bb1446 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -3442,4 +3442,6 @@ lblShowNoSell=Afficher Non-Vente lblShowAll=Afficher Tout lblHideCollection=Masquer la Collection lblShowCollection=Afficher la Collection -lblCracked=Fissuré! \ No newline at end of file +lblCracked=Fissuré! +lblTake=Prendre +lblRefund=Remboursement \ No newline at end of file diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index f44607dbc64..9d08f89df5b 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -3441,3 +3441,5 @@ lblShowAll=Mostra Tutto lblHideCollection=Nascondi Collezione lblShowCollection=Mostra Collezione lblCracked=Incrinato! +lblTake=Prendere +lblRefund=Rimborso \ No newline at end of file diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index e08a27e1a8a..11fb5ebdee6 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -3436,4 +3436,6 @@ lblShowNoSell=ノーセールを表示 lblShowAll=すべて表示 lblHideCollection=コレクションを非表示にする lblShowCollection=ショーコレクション -lblCracked=ひび割れた! \ No newline at end of file +lblCracked=ひび割れた! +lblTake=取る +lblRefund=返金 \ No newline at end of file diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 3ff8bc9b44c..6e28dd5b91f 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -3526,4 +3526,6 @@ lblShowNoSell=Mostrar Não-Venda lblShowAll=Mostrar Tudo lblHideCollection=Ocultar Coleção lblShowCollection=Mostrar Coleção -lblCracked=Rachado! \ No newline at end of file +lblCracked=Rachado! +lblTake=Pegar +lblRefund=Reembolso \ No newline at end of file diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index b77274cf232..9b65d372bce 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -3427,4 +3427,6 @@ lblShowNoSell=显示不卖 lblShowAll=显示全部 lblHideCollection=隐藏收藏 lblShowCollection=展会系列 -lblCracked=破裂了! \ No newline at end of file +lblCracked=破裂了! +lblTake=拿 +lblRefund=退款 \ No newline at end of file diff --git a/forge-gui/res/tokenscripts/b_1_1_rat_noblock.txt b/forge-gui/res/tokenscripts/b_1_1_rat_noblock.txt index e6468d3eecc..7e8ee2e87cd 100644 --- a/forge-gui/res/tokenscripts/b_1_1_rat_noblock.txt +++ b/forge-gui/res/tokenscripts/b_1_1_rat_noblock.txt @@ -3,5 +3,5 @@ ManaCost:no cost Types:Creature Rat Colors:black PT:1/1 -S:Mode$ CantBlockBy | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block +S:Mode$ CantBlockBy | ValidBlocker$ Creature.Self | Description$ CARDNAME can't block. Oracle:This creature can't block. diff --git a/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt b/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt index fb9b5950fd0..89061f2dfed 100644 --- a/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt +++ b/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt @@ -4,5 +4,5 @@ Types:Creature Bat Colors:black PT:1/2 K:Flying -A:AB$ ChangeZone | Cost$ 1 B Sac<1/CARDNAME> | ChangeType$ Card.namedSengir Nosferatu | ChangeNum$ 1 | Origin$ Exile | Destination$ Battlefield | Hidden$ True | SpellDescription$ Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control +A:AB$ ChangeZone | Cost$ 1 B Sac<1/CARDNAME> | ChangeType$ Card.namedSengir Nosferatu | ChangeNum$ 1 | Origin$ Exile | Destination$ Battlefield | Hidden$ True | SpellDescription$ Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control. Oracle:Flying\n{1}{B}, Sacrifice this creature: Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control. diff --git a/forge-gui/res/tokenscripts/b_2_2_e_horror.txt b/forge-gui/res/tokenscripts/b_2_2_e_horror.txt index 21f026e4f10..d6ac838c6cb 100644 --- a/forge-gui/res/tokenscripts/b_2_2_e_horror.txt +++ b/forge-gui/res/tokenscripts/b_2_2_e_horror.txt @@ -1,6 +1,6 @@ -Name:Horror Token -ManaCost:no cost -PT:2/2 -Colors:black -Types:Enchantment Creature Horror -Oracle: \ No newline at end of file +Name:Horror Token +ManaCost:no cost +PT:2/2 +Colors:black +Types:Enchantment Creature Horror +Oracle: diff --git a/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt b/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt index da2080a8906..edc3748e46a 100644 --- a/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt +++ b/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt @@ -6,4 +6,4 @@ PT:2/2 K:Flanking K:Protection from white K:Haste -Oracle:Flanking\nProtection from white\nHaste +Oracle:Flanking, haste\nProtection from white diff --git a/forge-gui/res/tokenscripts/bg_1_1_insect_flying.txt b/forge-gui/res/tokenscripts/bg_1_1_insect_flying.txt index 95213da1d13..0b24fa0e404 100644 --- a/forge-gui/res/tokenscripts/bg_1_1_insect_flying.txt +++ b/forge-gui/res/tokenscripts/bg_1_1_insect_flying.txt @@ -1,7 +1,7 @@ -Name:Insect Token -ManaCost:no cost -Types:Creature Insect -Colors:black,green -PT:1/1 -K:Flying -Oracle:Flying \ No newline at end of file +Name:Insect Token +ManaCost:no cost +Types:Creature Insect +Colors:black,green +PT:1/1 +K:Flying +Oracle:Flying diff --git a/forge-gui/res/tokenscripts/c_x_x_shapeshifter_changeling_deathtouch.txt b/forge-gui/res/tokenscripts/c_x_x_shapeshifter_changeling_deathtouch.txt index 4d99d39912b..9eb2515d5c4 100644 --- a/forge-gui/res/tokenscripts/c_x_x_shapeshifter_changeling_deathtouch.txt +++ b/forge-gui/res/tokenscripts/c_x_x_shapeshifter_changeling_deathtouch.txt @@ -1,7 +1,7 @@ -Name:Shapeshifter Token -ManaCost:no cost -Types:Creature Shapeshifter -PT:*/* -K:Changeling -K:Deathtouch -Oracle:Changeling, deathtouch \ No newline at end of file +Name:Shapeshifter Token +ManaCost:no cost +Types:Creature Shapeshifter +PT:*/* +K:Changeling +K:Deathtouch +Oracle:Changeling, deathtouch diff --git a/forge-gui/res/tokenscripts/incubator_dark_confidant.txt b/forge-gui/res/tokenscripts/incubator_dark_confidant.txt index 267e52003ea..c212fda7e36 100644 --- a/forge-gui/res/tokenscripts/incubator_dark_confidant.txt +++ b/forge-gui/res/tokenscripts/incubator_dark_confidant.txt @@ -1,4 +1,4 @@ -Name:Incubator Dark Confidant Token +Name:Incubator Dark Confidant ManaCost:no cost Types:Artifact Incubator A:AB$ SetState | Cost$ 2 | Mode$ Transform | SpellDescription$ Transform this artifact. diff --git a/forge-gui/res/tokenscripts/primo_the_invisible.txt b/forge-gui/res/tokenscripts/primo_the_indivisible.txt similarity index 75% rename from forge-gui/res/tokenscripts/primo_the_invisible.txt rename to forge-gui/res/tokenscripts/primo_the_indivisible.txt index 52f4b310f61..4189e6ef591 100644 --- a/forge-gui/res/tokenscripts/primo_the_invisible.txt +++ b/forge-gui/res/tokenscripts/primo_the_indivisible.txt @@ -1,4 +1,4 @@ -Name:Primo, the Invisible +Name:Primo, the Indivisible ManaCost:no cost Colors:green, blue Types:Legendary Creature Fractal diff --git a/forge-gui/res/tokenscripts/r_1_1_elemental_ping.txt b/forge-gui/res/tokenscripts/r_1_1_elemental_ping.txt index 6b6abc2c421..b04d2e8834a 100644 --- a/forge-gui/res/tokenscripts/r_1_1_elemental_ping.txt +++ b/forge-gui/res/tokenscripts/r_1_1_elemental_ping.txt @@ -3,6 +3,6 @@ ManaCost:no cost Types:Creature Elemental Colors:red PT:1/1 -T:Mode$ Taps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever this creature becomes tapped, it deals 1 damage to target player +T:Mode$ Taps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever this creature becomes tapped, it deals 1 damage to target player. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Player | NumDmg$ 1 -Oracle:Whenever this creature becomes tapped, it deals 1 damage to target player +Oracle:Whenever this creature becomes tapped, it deals 1 damage to target player. diff --git a/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt b/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt index 54f466f259b..17e48ecc248 100644 --- a/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt +++ b/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt @@ -5,4 +5,4 @@ Colors:red PT:*/1 K:Trample K:Haste -Oracle:Trample, Haste +Oracle:Trample, haste diff --git a/forge-gui/res/tokenscripts/role_questing.txt b/forge-gui/res/tokenscripts/role_questing.txt index 00a61e14eb6..7ae5ea2e31a 100644 --- a/forge-gui/res/tokenscripts/role_questing.txt +++ b/forge-gui/res/tokenscripts/role_questing.txt @@ -9,4 +9,4 @@ SVar:StaticNoFog:Mode$ CantPreventDamage | IsCombat$ True | ValidSource$ Creatur SVar:TrigChomp:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ MoreDamage | TriggerDescription$ Whenever this creature deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls. SVar:MoreDamage:DB$ DealDamage | ValidTgts$ Planeswalker.ControlledBy TriggeredTarget | TgtPrompt$ Select target planeswalker that player controls | NumDmg$ X SVar:X:TriggerCount$DamageAmount -Oracle:Enchant Creature\nEnchanted creature has vigilance, deathtouch, and haste, and has "This creature can't be blocked by creatures with power 2 or less.", "Combat damage that would be dealt by creatures you control can't be prevented.", and "Whenever this creature deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls." \ No newline at end of file +Oracle:Enchant Creature\nEnchanted creature has vigilance, deathtouch, and haste, and has "This creature can't be blocked by creatures with power 2 or less.", "Combat damage that would be dealt by creatures you control can't be prevented.", and "Whenever this creature deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls." diff --git a/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt b/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt index 7cb90fda618..e500abe264a 100644 --- a/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt +++ b/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt @@ -5,4 +5,4 @@ Colors:blue PT:3/3 K:Defender K:Flying -Oracle:Defender, Flying +Oracle:Defender, flying diff --git a/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt b/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt index 725c7b55f28..ecce6c64826 100644 --- a/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/u_x_x_spirit_flying.txt @@ -1,7 +1,7 @@ -Name:Spirit Token -ManaCost:no cost -Colors:blue -Types:Creature Spirit -PT:*/* -K:Flying -Oracle:Flying \ No newline at end of file +Name:Spirit Token +ManaCost:no cost +Colors:blue +Types:Creature Spirit +PT:*/* +K:Flying +Oracle:Flying diff --git a/forge-gui/res/tokenscripts/w_1_1_a_toy.txt b/forge-gui/res/tokenscripts/w_1_1_a_toy.txt new file mode 100644 index 00000000000..54e76aca8da --- /dev/null +++ b/forge-gui/res/tokenscripts/w_1_1_a_toy.txt @@ -0,0 +1,6 @@ +Name:Toy Token +ManaCost:no cost +Types:Artifact Creature Toy +Colors:white +PT:1/1 +Oracle: diff --git a/forge-gui/res/tokenscripts/w_1_1_e_glimmer.txt b/forge-gui/res/tokenscripts/w_1_1_e_glimmer.txt index cc01c1e26f6..733c34d8fbf 100644 --- a/forge-gui/res/tokenscripts/w_1_1_e_glimmer.txt +++ b/forge-gui/res/tokenscripts/w_1_1_e_glimmer.txt @@ -1,6 +1,6 @@ -Name:Glimmer Token -ManaCost:no cost -PT:1/1 -Colors:white -Types:Enchantment Creature Glimmer -Oracle: \ No newline at end of file +Name:Glimmer Token +ManaCost:no cost +PT:1/1 +Colors:white +Types:Enchantment Creature Glimmer +Oracle: diff --git a/forge-gui/res/tokenscripts/w_2_1_insect_flying.txt b/forge-gui/res/tokenscripts/w_2_1_insect_flying.txt index 0418f295ef8..9d950459034 100644 --- a/forge-gui/res/tokenscripts/w_2_1_insect_flying.txt +++ b/forge-gui/res/tokenscripts/w_2_1_insect_flying.txt @@ -1,7 +1,7 @@ -Name:Insect Token -ManaCost:no cost -PT:2/1 -Colors:white -Types:Creature Insect -K:Flying -Oracle:Flying \ No newline at end of file +Name:Insect Token +ManaCost:no cost +PT:2/1 +Colors:white +Types:Creature Insect +K:Flying +Oracle:Flying diff --git a/forge-gui/res/tokenscripts/wasteland_survival_guide.txt b/forge-gui/res/tokenscripts/wasteland_survival_guide.txt index 9f9436e03b1..ef68b84cc53 100644 --- a/forge-gui/res/tokenscripts/wasteland_survival_guide.txt +++ b/forge-gui/res/tokenscripts/wasteland_survival_guide.txt @@ -1,6 +1,6 @@ Name:Wasteland Survival Guide ManaCost:no cost -Types:Token Artifact Equipment +Types:Artifact Equipment S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | Description$ Equipped creature gets +1/+1 for each quest counter among permanents you control. SVar:X:Count$Valid Card.Permanent+YouCtrl$CardCounters.QUEST K:Equip:1 diff --git a/forge-gui/res/tokenscripts/yellow_hat.txt b/forge-gui/res/tokenscripts/yellow_hat.txt index 62b4a1d55ac..34d424c5f6f 100644 --- a/forge-gui/res/tokenscripts/yellow_hat.txt +++ b/forge-gui/res/tokenscripts/yellow_hat.txt @@ -2,5 +2,5 @@ Name:Yellow Hat ManaCost:no cost Types:Legendary Artifact Equipment K:Equip:2 -S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 4 | AddToughness$ 4 | AddKeyword$ Lifelink | Description$ Equiped creature gets +4/+4 and gains lifelink. -Oracle:Equiped creature gets +4/+4 and gains lifelink.\nEquip {2} +S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 4 | AddToughness$ 4 | AddKeyword$ Lifelink | Description$ Equipped creature gets +4/+4 and gains lifelink. +Oracle:Equipped creature gets +4/+4 and gains lifelink.\nEquip {2} diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java index 70cf6b65ed4..253c1d3992c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputPayManaOfCostPayment.java @@ -83,7 +83,7 @@ public class InputPayManaOfCostPayment extends InputPayMana { msg.append(messagePrefix).append("\n"); } if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DETAILED_SPELLDESC_IN_PROMPT)) { - if (saPaidFor.isSpell()) { + if (saPaidFor.isSpell()) { msg.append(saPaidFor.getStackDescription().replace("(Targeting ERROR)", "")).append("\n\n"); } else { msg.append(saPaidFor.getHostCard()).append(" - ").append(saPaidFor.toString()).append("\n\n"); diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java index 3b5b2634048..e1b5cf960ef 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectCardsForConvokeOrImprovise.java @@ -43,11 +43,11 @@ public final class InputSelectCardsForConvokeOrImprovise extends InputSelectMany @Override protected String getMessage() { - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new StringBuilder(); if ( FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DETAILED_SPELLDESC_IN_PROMPT) && - sa != null ) { - sb.append(sa.getStackDescription()).append("\n"); - } + sa != null ) { + sb.append(sa.getStackDescription()).append("\n"); + } sb.append(TextUtil.concatNoSpace("Choose ", cardType, " to tap for ", description, ".\nRemaining mana cost is ", remainingCost.toString())); return sb.toString(); } diff --git a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java index 00c492a09e5..b6a9c790e73 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/input/InputSelectManyBase.java @@ -76,13 +76,19 @@ public abstract class InputSelectManyBase extends InputSyn @Override public final void showMessage() { if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DETAILED_SPELLDESC_IN_PROMPT) && - card != null) { + card != null) { final StringBuilder sb = new StringBuilder(); sb.append(card.toString()); - if ( (sa != null) && (!sa.toString().isEmpty()) ) { // some spell abilities have no useful string value - sb.append(" - ").append(sa.toString()); + if (sa != null) { + if (sa.isSpell() && sa.getHostCard().isPermanent() && !sa.hasParam("SpellDescription") && !sa.getPayCosts().isOnlyManaCost()) { + sb.append(" - ").append(sa.getPayCosts().toString()); + } else if (!sa.toString().isEmpty()) { // some spell abilities have no useful string value + sb.append("\n - ").append(sa.toString()); + } else { + sb.append("\n"); + } } - sb.append("\n\n").append(getMessage()); + sb.append("\n").append(getMessage()); showMessage(sb.toString(), card); } else { if (card != null) { diff --git a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java index de19cd99d70..c24b0b178f5 100644 --- a/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java +++ b/forge-gui/src/main/java/forge/gui/card/CardScriptParser.java @@ -458,9 +458,8 @@ public final class CardScriptParser { "sharesPermanentTypeWith", "canProduceSameManaTypeWith", "SecondSpellCastThisTurn", "ThisTurnCast", "withFlashback", "tapped", "untapped", "faceDown", "faceUp", "hasLevelUp", "DrawnThisTurn", - "firstTurnControlled", "notFirstTurnControlled", - "startedTheTurnUntapped", "attackedOrBlockedSinceYourLastUpkeep", - "blockedOrBeenBlockedSinceYourLastUpkeep", + "firstTurnControlled", "startedTheTurnUntapped", + "attackedOrBlockedSinceYourLastUpkeep", "blockedOrBeenBlockedSinceYourLastUpkeep", "dealtDamageToYouThisTurn", "dealtDamageToOppThisTurn", "controllerWasDealtCombatDamageByThisTurn", "controllerWasDealtDamageByThisTurn", "wasDealtDamageThisTurn", diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index caa275f99a5..bbad8fa0a50 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -17,6 +17,7 @@ import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.card.*; +import forge.game.card.CardView.CardStateView; import forge.game.card.token.TokenInfo; import forge.game.combat.Combat; import forge.game.combat.CombatUtil; @@ -724,6 +725,15 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont // create a mapping between a spell's view and the spell itself Map spellViewCache = SpellAbilityView.getMap(spells); + if(sa.hasParam("ShowCurrentCard")) + { + Card current = Iterables.getFirst(AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam("ShowCurrentCard"), sa), null); + if(current != null) { + String promptCurrent = localizer.getMessage("lblCurrentCard") + ": " + current; + title = title + "\n" + promptCurrent; + } + } + //override generic List chosen = getGui().getChoices(title, num, num, Lists.newArrayList(spellViewCache.keySet())); @@ -1092,11 +1102,14 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont GameEntityViewMap gameCacheMove = GameEntityView.getMap(cards); List choices = gameCacheMove.getTrackableKeys(); + boolean topOfDeck = destinationZone.isDeck() + && (source == null + || !source.hasParam("LibraryPosition") + || AbilityUtils.calculateAmount(source.getHostCard(), source.getParam("LibraryPosition"), source) >= 0); + switch (destinationZone) { case Library: - boolean bottomOfLibrary = (source != null && source.hasParam("LibraryPosition") ? - AbilityUtils.calculateAmount(source.getHostCard(), source.getParam("LibraryPosition"), source) : 0) < 0; - choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoLibrary"), localizer.getMessage(bottomOfLibrary ? "lblClosestToBottom" : "lblClosestToTop"), choices, null); + choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoLibrary"), localizer.getMessage(topOfDeck ? "lblClosestToTop" : "lblClosestToBottom"), choices, null); break; case Battlefield: choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutOntoBattlefield"), localizer.getMessage("lblPutFirst"), choices, null); @@ -1108,13 +1121,13 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoExile"), localizer.getMessage("lblPutFirst"), choices, null); break; case PlanarDeck: - choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoPlanarDeck"), localizer.getMessage("lblClosestToTop"), choices, null); + choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoPlanarDeck"), localizer.getMessage(topOfDeck ? "lblClosestToTop" : "lblClosestToBottom"), choices, null); break; case SchemeDeck: - choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoSchemeDeck"), localizer.getMessage("lblClosestToTop"), choices, null); + choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoSchemeDeck"), localizer.getMessage(topOfDeck ? "lblClosestToTop" : "lblClosestToBottom"), choices, null); break; case AttractionDeck: - choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoAttractionDeck"), localizer.getMessage("lblClosestToTop"), choices, null); + choices = getGui().order(localizer.getMessage("lblChooseOrderCardsPutIntoAttractionDeck"), localizer.getMessage(topOfDeck ? "lblClosestToTop" : "lblClosestToBottom"), choices, null); case Stack: choices = getGui().order(localizer.getMessage("lblChooseOrderCopiesCast"), localizer.getMessage("lblPutFirst"), choices, null); break; @@ -1127,6 +1140,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont return cards; } endTempShowCards(); + if(topOfDeck) + Collections.reverse(choices); CardCollection result = new CardCollection(); gameCacheMove.addToList(choices, result); return result; @@ -1811,6 +1826,11 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont return StaticData.instance().getCommonCards().getFaceByName(cardFaceView.getOracleName()); } + @Override + public ICardFace chooseSingleCardFace(SpellAbility sa, List faces, String message) { + return getGui().one(message, faces); + } + @Override public CounterType chooseCounterType(final List options, final SpellAbility sa, final String prompt, Map params) { @@ -1820,6 +1840,16 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont return getGui().one(prompt, options); } + @Override + public CardState chooseSingleCardState(SpellAbility sa, List states, String message, Map params) { + if (states.size() <= 1) { + return Iterables.getFirst(states, null); + } + Map cache = CardView.getStateMap(states); + CardStateView chosen = getGui().one(message, Lists.newArrayList(cache.keySet())); + return cache.get(chosen); + } + @Override public String chooseKeywordForPump(final List options, final SpellAbility sa, final String prompt, final Card tgtCard) { if (options.size() <= 1) { @@ -3198,7 +3228,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont @Override public String chooseCardName(SpellAbility sa, List faces, String message) { - ICardFace face = getGui().one(message, faces); + ICardFace face = chooseSingleCardFace(sa, faces, message); return face == null ? "" : face.getName(); }