diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 02f4d0fe1a0..4424b60a1bb 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -108,9 +108,6 @@ public class ComputerUtil { if (chooseTargets != null) { chooseTargets.run(); } - if (sa.isBestow()) { - sa.getHostCard().animateBestow(); - } final Cost cost = sa.getPayCosts(); // TODO: update mana color conversion for Daxos of Meletis diff --git a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java index 7168f4c911e..443fb1eacfa 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java @@ -1,6 +1,9 @@ package forge.ai.ability; import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; + import forge.ai.*; import forge.card.CardStateName; import forge.card.CardTypeView; @@ -14,11 +17,13 @@ import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.Spell; import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityPredicates; import forge.game.spellability.SpellPermanent; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; import forge.util.MyRandom; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -55,6 +60,21 @@ public class PlayAi extends SpellAbilityAi { } } + if (sa.hasParam("ValidSA")) { + final String valid[] = {sa.getParam("ValidSA")}; + final Iterator itr = cards.iterator(); + while (itr.hasNext()) { + final Card c = itr.next(); + final List validSA = Lists.newArrayList(Iterables.filter(AbilityUtils.getBasicSpellsFromPlayEffect(c, ai), SpellAbilityPredicates.isValid(valid, ai , c, sa))); + if (validSA.size() == 0) { + itr.remove(); + } + } + if (cards.isEmpty()) { + return false; + } + } + if (game.getRules().hasAppliedVariant(GameType.MoJhoSto) && source.getName().equals("Jhoira of the Ghitu Avatar")) { // Additional logic for MoJhoSto: // Do not activate Jhoira too early, usually there are few good targets diff --git a/forge-core/src/main/java/forge/card/CardRulesPredicates.java b/forge-core/src/main/java/forge/card/CardRulesPredicates.java index 4133e4e5bbc..e32e87b7070 100644 --- a/forge-core/src/main/java/forge/card/CardRulesPredicates.java +++ b/forge-core/src/main/java/forge/card/CardRulesPredicates.java @@ -8,6 +8,7 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; +import forge.util.CardTranslation; import forge.util.ComparableOp; import forge.util.PredicateString; @@ -352,16 +353,16 @@ public final class CardRulesPredicates { case NAME: boolean otherName = false; if (card.getOtherPart() != null) { - otherName = op(card.getOtherPart().getName(), this.operand); + otherName = (op(CardTranslation.getTranslatedName(card.getOtherPart().getName()), this.operand) || op(card.getOtherPart().getName(), this.operand)); } - return otherName || op(card.getName(), this.operand); + return otherName || (op(CardTranslation.getTranslatedName(card.getName()), this.operand) || op(card.getName(), this.operand)); case SUBTYPE: shouldContain = (this.getOperator() == StringOp.CONTAINS) || (this.getOperator() == StringOp.EQUALS); return shouldContain == card.getType().hasSubtype(this.operand); case ORACLE_TEXT: - return op(card.getOracleText(), operand); + return (op(CardTranslation.getTranslatedOracle(card.getName()), operand) || op(card.getOracleText(), this.operand)); case JOINED_TYPE: - return op(card.getType().toString(), operand); + return (op(CardTranslation.getTranslatedType(card.getName(), card.getType().toString()), operand) || op(card.getType().toString(), operand)); case COST: final String cost = card.getManaCost().toString(); return op(cost, operand); diff --git a/forge-core/src/main/java/forge/item/PaperCard.java b/forge-core/src/main/java/forge/item/PaperCard.java index 4200b240e4d..58fb032c898 100644 --- a/forge-core/src/main/java/forge/item/PaperCard.java +++ b/forge-core/src/main/java/forge/item/PaperCard.java @@ -28,6 +28,7 @@ import forge.StaticData; import forge.card.CardDb; import forge.card.CardRarity; import forge.card.CardRules; +import forge.util.CardTranslation; import forge.util.Localizer; import forge.util.TextUtil; @@ -187,7 +188,7 @@ public final class PaperCard implements Comparable, InventoryItemFro */ @Override public String toString() { - return name; + return CardTranslation.getTranslatedName(name); // cannot still decide, if this "name|set" format is needed anymore // return String.format("%s|%s", name, cardSet); } diff --git a/forge-game/src/main/java/forge/game/ForgeScript.java b/forge-game/src/main/java/forge/game/ForgeScript.java index bf35e289bad..0565c8981e5 100644 --- a/forge-game/src/main/java/forge/game/ForgeScript.java +++ b/forge-game/src/main/java/forge/game/ForgeScript.java @@ -177,6 +177,12 @@ public class ForgeScript { return sa.getActivatingPlayer().equals(sourceController); } else if (property.equals("OppCtrl")) { return sa.getActivatingPlayer().isOpponentOf(sourceController); + } else if (property.startsWith("cmc")) { + int y = sa.getPayCosts().getTotalMana().getCMC(); + int x = AbilityUtils.calculateAmount(spellAbility.getHostCard(), property.substring(5), spellAbility); + if (!Expressions.compare(y, property, x)) { + return false; + } } else if (sa.getHostCard() != null) { return sa.getHostCard().hasProperty(property, sourceController, source, spellAbility); } diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 5642ab65684..0d87238ce1f 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -106,6 +106,14 @@ public class GameAction { } private Card changeZoneWrapped(final Zone zoneFrom, Zone zoneTo, final Card c, Integer position, SpellAbility cause, Map params) { + // 111.11. A copy of a permanent spell becomes a token as it resolves. + // The token has the characteristics of the spell that became that token. + // The token is not “created” for the purposes of any replacement effects or triggered abilities that refer to creating a token. + if (c.isCopiedSpell() && zoneTo.is(ZoneType.Battlefield) && c.isPermanent() && cause != null && cause.isSpell() && c.equals(cause.getHostCard())) { + c.setCopiedSpell(false); + c.setToken(true); + } + if (c.isCopiedSpell() || (c.isImmutable() && zoneTo.is(ZoneType.Exile))) { // Remove Effect from command immediately, this is essential when some replacement // effects happen during the resolving of a spellability ("the next time ..." effect) @@ -637,8 +645,11 @@ public class GameAction { } public final Card moveToStack(final Card c, SpellAbility cause, Map params) { - final Zone stack = game.getStackZone(); - return moveTo(stack, c, cause, params); + Card result = moveTo(game.getStackZone(), c, cause, params); + if (cause != null && cause.isSpell() && result.equals(cause.getHostCard())) { + result.setSplitStateToPlayAbility(cause); + } + return result; } public final Card moveToGraveyard(final Card c, SpellAbility cause) { 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 2ba46e30b99..1571774c31a 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -3,7 +3,10 @@ package forge.game.ability; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; + +import forge.card.CardStateName; import forge.card.CardType; import forge.card.ColorSet; import forge.card.MagicColor; @@ -1820,7 +1823,11 @@ public class AbilityUtils { public static final List getBasicSpellsFromPlayEffect(final Card tgtCard, final Player controller) { List sas = new ArrayList<>(); - for (SpellAbility s : tgtCard.getBasicSpells()) { + List list = Lists.newArrayList(tgtCard.getBasicSpells()); + if (tgtCard.isModal()) { + list.addAll(Lists.newArrayList(tgtCard.getBasicSpells(tgtCard.getState(CardStateName.Modal)))); + } + for (SpellAbility s : list) { final Spell newSA = (Spell) s.copy(); newSA.setActivatingPlayer(controller); SpellAbilityRestriction res = new SpellAbilityRestriction(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 0156e9775c7..2e7ee9eb139 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -10,6 +10,7 @@ import forge.game.card.Card; import forge.game.card.CardCollection; import forge.game.card.CardCollectionView; import forge.game.card.CardLists; +import forge.game.card.CardZoneTable; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; @@ -25,27 +26,27 @@ public class AttachEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card host = sa.getHostCard(); + final Game game = host.getGame(); + if (host.isAura() && sa.isSpell()) { - final Player ap = sa.getActivatingPlayer(); + CardZoneTable table = new CardZoneTable(); + host.setController(sa.getActivatingPlayer(), 0); + + ZoneType previousZone = host.getZone().getZoneType(); + // The Spell_Permanent (Auras) version of this AF needs to // move the card into play before Attaching - - host.setController(ap, 0); - - // 111.11. A copy of a permanent spell becomes a token as it resolves. - // The token has the characteristics of the spell that became that token. - // The token is not “created” for the purposes of any replacement effects or triggered abilities that refer to creating a token. - if (host.isCopiedSpell()) { - host.setCopiedSpell(false); - host.setToken(true); - } - - final Card c = ap.getGame().getAction().moveToPlay(host, ap, sa); + final Card c = game.getAction().moveToPlay(host, sa); sa.setHostCard(c); + + ZoneType newZone = c.getZone().getZoneType(); + if (newZone != previousZone) { + table.put(previousZone, newZone, c); + } + table.triggerChangesZoneAll(game); } final Card source = sa.getHostCard(); - final Game game = source.getGame(); CardCollection attachments; final List targets = getDefinedOrTargeted(sa, "Defined"); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PermanentEffect.java index 36437ae9dfb..b306ae59de4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PermanentEffect.java @@ -2,10 +2,12 @@ package forge.game.ability.effects; import com.google.common.collect.Lists; +import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; -import forge.game.player.Player; +import forge.game.card.CardZoneTable; import forge.game.spellability.SpellAbility; +import forge.game.zone.ZoneType; public class PermanentEffect extends SpellAbilityEffect { @@ -18,25 +20,26 @@ public class PermanentEffect extends SpellAbilityEffect { */ @Override public void resolve(SpellAbility sa) { - Player p = sa.getActivatingPlayer(); - sa.getHostCard().setController(p, 0); final Card host = sa.getHostCard(); + final Game game = host.getGame(); + CardZoneTable table = new CardZoneTable(); + ZoneType previousZone = host.getZone().getZoneType(); - // 111.11. A copy of a permanent spell becomes a token as it resolves. - // The token has the characteristics of the spell that became that token. - // The token is not “created” for the purposes of any replacement effects or triggered abilities that refer to creating a token. - if (host.isCopiedSpell()) { - host.setCopiedSpell(false); - host.setToken(true); - } + host.setController(sa.getActivatingPlayer(), 0); - final Card c = p.getGame().getAction().moveToPlay(host, p, sa); + final Card c = game.getAction().moveToPlay(host, sa); sa.setHostCard(c); // some extra for Dashing - if (sa.isDash()) { + if (sa.isDash() && c.isInPlay()) { c.setSVar("EndOfTurnLeavePlay", "Dash"); registerDelayedTrigger(sa, "Hand", Lists.newArrayList(c)); } + + ZoneType newZone = c.getZone().getZoneType(); + if (newZone != previousZone) { + table.put(previousZone, newZone, c); + } + table.triggerChangesZoneAll(game); } } 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 1bceee39de1..17490640e78 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 @@ -1,6 +1,7 @@ package forge.game.ability.effects; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import org.apache.commons.lang3.StringUtils; @@ -28,6 +29,7 @@ import forge.game.replacement.ReplacementHandler; import forge.game.replacement.ReplacementLayer; import forge.game.spellability.AlternativeCost; import forge.game.spellability.SpellAbility; +import forge.game.spellability.SpellAbilityPredicates; import forge.game.trigger.TriggerType; import forge.game.zone.Zone; import forge.game.zone.ZoneType; @@ -82,7 +84,7 @@ public class PlayEffect extends SpellAbilityEffect { tgtCards = new CardCollection( AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("Valid"), sa) ); - if ( sa.hasParam("ShowCards") ) { + if (sa.hasParam("ShowCards")) { showCards = new CardCollection(AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("ShowCards"), sa)); } } @@ -102,7 +104,7 @@ public class PlayEffect extends SpellAbilityEffect { final CardCollection choice = new CardCollection(); final String num = sa.hasParam("RandomNum") ? sa.getParam("RandomNum") : "1"; int ncopied = AbilityUtils.calculateAmount(source, num, sa); - while(ncopied > 0) { + while (ncopied > 0) { final PaperCard cp = Aggregates.random(copysource); final Card possibleCard = Card.fromPaperCard(cp, sa.getActivatingPlayer()); // Need to temporarily set the Owner so the Game is set @@ -145,6 +147,21 @@ public class PlayEffect extends SpellAbilityEffect { return; } + if (sa.hasParam("ValidSA")) { + final String valid[] = {sa.getParam("ValidSA")}; + final Iterator itr = tgtCards.iterator(); + while (itr.hasNext()) { + final Card c = itr.next(); + final List validSA = Lists.newArrayList(Iterables.filter(AbilityUtils.getBasicSpellsFromPlayEffect(c, controller), SpellAbilityPredicates.isValid(valid, controller , c, sa))); + if (validSA.size() == 0) { + itr.remove(); + } + } + if (tgtCards.isEmpty()) { + return; + } + } + if (sa.hasParam("Amount") && sa.getParam("Amount").equals("All")) { amount = tgtCards.size(); } @@ -214,7 +231,12 @@ public class PlayEffect extends SpellAbilityEffect { } // get basic spells (no flashback, etc.) - final List sas = AbilityUtils.getBasicSpellsFromPlayEffect(tgtCard, controller); + List sas = AbilityUtils.getBasicSpellsFromPlayEffect(tgtCard, controller); + if (sa.hasParam("ValidSA")) { + final String valid[] = {sa.getParam("ValidSA")}; + sas = Lists.newArrayList(Iterables.filter(sas, SpellAbilityPredicates.isValid(valid, controller , source, sa))); + } + if (sas.isEmpty()) { continue; } @@ -233,6 +255,10 @@ public class PlayEffect extends SpellAbilityEffect { // For Illusionary Mask effect tgtSA = CardFactoryUtil.abilityMorphDown(tgtCard); } + // in case player canceled from choice dialog + if (tgtSA == null) { + continue; + } final boolean noManaCost = sa.hasParam("WithoutManaCost"); if (noManaCost) { diff --git a/forge-game/src/main/java/forge/game/card/CardFaceView.java b/forge-game/src/main/java/forge/game/card/CardFaceView.java index 89bc857b003..435bde9c43a 100644 --- a/forge-game/src/main/java/forge/game/card/CardFaceView.java +++ b/forge-game/src/main/java/forge/game/card/CardFaceView.java @@ -3,24 +3,40 @@ package forge.game.card; import java.io.Serializable; public class CardFaceView implements Serializable, Comparable { - private String name; + /** + * + */ + private static final long serialVersionUID = 1874016432028306386L; + private String displayName; + private String oracleName; - public CardFaceView(String faceName) { - this.name = faceName; + public CardFaceView(String displayName) { + this(displayName, displayName); } - public String getName() { return name;} + public CardFaceView(String displayFaceName, String oracleFaceName ) { + this.displayName = displayFaceName; + this.oracleName = oracleFaceName; + } + + public String getName() { return displayName;} public void setName(String name) { - this.name = name; + this.displayName = name; + } + + public String getOracleName() { return oracleName; } + + public void setOracleName(String name) { + this.oracleName = name; } public String toString() { - return name; + return displayName; } @Override public int compareTo(CardFaceView o) { - return this.getName().compareTo(o.getName()); + return this.getOracleName().compareTo(o.getOracleName()); } } \ No newline at end of file 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 2da6fca758d..369eaab2527 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -651,24 +651,28 @@ public class CardProperty { if ((property.endsWith("Source") || property.equals("DamagedBy")) && !card.getReceivedDamageFromThisTurn().containsKey(source)) { return false; - } else if (property.endsWith("Remembered")) { - boolean matched = false; - for (final Object obj : source.getRemembered()) { - if (!(obj instanceof Card)) { - continue; + } else { + String prop = property.substring("DamagedBy".length()); + + boolean found = false; + for (Card d : card.getReceivedDamageFromThisTurn().keySet()) { + if (d.isValid(prop, sourceController, source, spellAbility)) { + found = true; + break; } - matched |= card.getReceivedDamageFromThisTurn().containsKey(obj); } - if (!matched) - return false; - } else if (property.endsWith("Equipped")) { - final Card equipee = source.getEquipping(); - if (equipee == null || !card.getReceivedDamageFromThisTurn().containsKey(equipee)) - return false; - } else if (property.endsWith("Enchanted")) { - final Card equipee = source.getEnchantingCard(); - if (equipee == null || !card.getReceivedDamageFromThisTurn().containsKey(equipee)) + + if (!found) { + for (Card d : AbilityUtils.getDefinedCards(source, prop, spellAbility)) { + if (card.getReceivedDamageFromThisTurn().containsKey(d)) { + found = true; + break; + } + } + } + if (!found) { return false; + } } } else if (property.startsWith("Damaged")) { if (!card.getDealtDamageToThisTurn().containsKey(source)) { @@ -1035,17 +1039,21 @@ public class CardProperty { } } return false; - } else if (property.startsWith("ThisTurnEntered")) { - final String restrictions = property.split("ThisTurnEntered_")[1]; - final String[] res = restrictions.split("_"); - final ZoneType destination = ZoneType.smartValueOf(res[0]); - ZoneType origin = null; - if (res.length > 1 && res[1].equals("from")) { - origin = ZoneType.smartValueOf(res[2]); + } else if (property.equals("ThisTurnEntered")) { + // only check if it entered the Zone this turn + if (card.getTurnInZone() != game.getPhaseHandler().getTurn()) { + return false; } - List cards = CardUtil.getThisTurnEntered(destination, - origin, "Card", source); - if (!cards.contains(card)) { + } else if (property.startsWith("ThisTurnEnteredFrom")) { + final String restrictions = property.split("ThisTurnEnteredFrom_")[1]; + final String[] res = restrictions.split("_"); + final ZoneType origin = ZoneType.smartValueOf(res[0]); + + if (card.getTurnInZone() != game.getPhaseHandler().getTurn()) { + return false; + } + + if (!card.getZone().isCardAddedThisTurn(card, origin)) { return false; } } else if (property.equals("DiscardedThisTurn")) { 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 e0fc65032c7..f5718151576 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -25,6 +25,7 @@ import forge.util.Lang; import forge.util.Localizer; import forge.util.TextUtil; import forge.util.collect.FCollectionView; +import forge.util.CardTranslation; import org.apache.commons.lang3.StringUtils; import java.util.EnumSet; @@ -933,7 +934,7 @@ public class CardView extends GameEntityView { } } } - return (zone + ' ' + name + " (" + getId() + ")").trim(); + return (zone + ' ' + CardTranslation.getTranslatedName(name) + " (" + getId() + ")").trim(); } public class CardStateView extends TrackableObject { diff --git a/forge-game/src/main/java/forge/game/zone/Zone.java b/forge-game/src/main/java/forge/game/zone/Zone.java index 2a55326ac04..e2632849705 100644 --- a/forge-game/src/main/java/forge/game/zone/Zone.java +++ b/forge-game/src/main/java/forge/game/zone/Zone.java @@ -211,6 +211,13 @@ public class Zone implements java.io.Serializable, Iterable { return getCardsAdded(cardsAddedLastTurn, origin); } + public final boolean isCardAddedThisTurn(final Card card, final ZoneType origin) { + if (!cardsAddedThisTurn.containsKey(origin)) { + return false; + } + return cardsAddedThisTurn.get(origin).contains(card); + } + private static List getCardsAdded(final MapOfLists cardsAdded, final ZoneType origin) { if (origin != null) { final Collection cards = cardsAdded.get(origin); diff --git a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java index ad393561839..0e202b6693a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java +++ b/forge-gui-desktop/src/main/java/forge/gui/GuiChoose.java @@ -167,7 +167,7 @@ public class GuiChoose { if (sel instanceof ICardFace) { faceName = ((ICardFace) sel).getName(); } else { - faceName = ((CardFaceView) sel).getName(); + faceName = ((CardFaceView) sel).getOracleName(); } PaperCard paper = FModel.getMagicDb().getCommonCards().getUniqueByName(faceName); if (paper == null) { diff --git a/forge-gui/release-files/ANNOUNCEMENTS.txt b/forge-gui/release-files/ANNOUNCEMENTS.txt index f35e40a8b52..6f06ca8c09f 100644 --- a/forge-gui/release-files/ANNOUNCEMENTS.txt +++ b/forge-gui/release-files/ANNOUNCEMENTS.txt @@ -1,6 +1,5 @@ #Add one announcement per line -Keyboard shortcut change: to help improve accessibility, the arrow key shortcuts to move between deck editor tables now require control or Command, depending on which platform you're on. -Jumpstart sealed! -Double Masters (including double pick) -Lots of art updates and fixes -No update on Mutate yet. Trust us, you'll know when it's here. \ No newline at end of file +Sorry for the long wait between releases. Pandemic + Technology issues caused some issues we couldn't hurdle. +Get in the discord if you aren't yet. +Lots of new cards including Kaldheim. +No update on Mutate yet. Trust us, you'll know when it's here. diff --git a/forge-gui/res/cardsfolder/upcoming/absorb_identity.txt b/forge-gui/res/cardsfolder/a/absorb_identity.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/absorb_identity.txt rename to forge-gui/res/cardsfolder/a/absorb_identity.txt diff --git a/forge-gui/res/cardsfolder/a/aegar_the_freezing_flame.txt b/forge-gui/res/cardsfolder/a/aegar_the_freezing_flame.txt new file mode 100644 index 00000000000..cc8965d715b --- /dev/null +++ b/forge-gui/res/cardsfolder/a/aegar_the_freezing_flame.txt @@ -0,0 +1,8 @@ +Name:Aegar, the Freezing Flame +ManaCost:1 U R +Types:Legendary Creature Giant Wizard +PT:3/3 +T:Mode$ ExcessDamage | ValidTarget$ Creature.OppCtrl+DamagedByGiant.YouCtrl,Creature.OppCtrl+DamagedByWizard.YouCtrl,Creature.OppCtrl+DamagedBySpell.YouCtrl,Planeswalker.OppCtrl+DamagedByGiant.YouCtrl,Planeswalker.OppCtrl+DamagedByWizard.YouCtrl,Planeswalker.OppCtrl+DamagedBySpell.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever a creature or planeswalker an opponent controls is dealt excess damage, if a Giant, Wizard, or spell you controlled dealt damage to it this turn, draw a card. +SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ 1 +Oracle:Whenever a creature or planeswalker an opponent controls is dealt excess damage, if a Giant, Wizard, or spell you controlled dealt damage to it this turn, draw a card. + diff --git a/forge-gui/res/cardsfolder/upcoming/alpine_meadow.txt b/forge-gui/res/cardsfolder/a/alpine_meadow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/alpine_meadow.txt rename to forge-gui/res/cardsfolder/a/alpine_meadow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/alrund_god_of_the_cosmos_hakka_whispering_raven.txt b/forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/alrund_god_of_the_cosmos_hakka_whispering_raven.txt rename to forge-gui/res/cardsfolder/a/alrund_god_of_the_cosmos_hakka_whispering_raven.txt diff --git a/forge-gui/res/cardsfolder/upcoming/alrunds_epiphany.txt b/forge-gui/res/cardsfolder/a/alrunds_epiphany.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/alrunds_epiphany.txt rename to forge-gui/res/cardsfolder/a/alrunds_epiphany.txt diff --git a/forge-gui/res/cardsfolder/upcoming/arachnoform.txt b/forge-gui/res/cardsfolder/a/arachnoform.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/arachnoform.txt rename to forge-gui/res/cardsfolder/a/arachnoform.txt diff --git a/forge-gui/res/cardsfolder/upcoming/arctic_treeline.txt b/forge-gui/res/cardsfolder/a/arctic_treeline.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/arctic_treeline.txt rename to forge-gui/res/cardsfolder/a/arctic_treeline.txt diff --git a/forge-gui/res/cardsfolder/upcoming/armed_and_armored.txt b/forge-gui/res/cardsfolder/a/armed_and_armored.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/armed_and_armored.txt rename to forge-gui/res/cardsfolder/a/armed_and_armored.txt diff --git a/forge-gui/res/cardsfolder/upcoming/arni_brokenbrow.txt b/forge-gui/res/cardsfolder/a/arni_brokenbrow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/arni_brokenbrow.txt rename to forge-gui/res/cardsfolder/a/arni_brokenbrow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/arni_slays_the_troll.txt b/forge-gui/res/cardsfolder/a/arni_slays_the_troll.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/arni_slays_the_troll.txt rename to forge-gui/res/cardsfolder/a/arni_slays_the_troll.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ascendant_spirit.txt b/forge-gui/res/cardsfolder/a/ascendant_spirit.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ascendant_spirit.txt rename to forge-gui/res/cardsfolder/a/ascendant_spirit.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ascent_of_the_worthy.txt b/forge-gui/res/cardsfolder/a/ascent_of_the_worthy.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ascent_of_the_worthy.txt rename to forge-gui/res/cardsfolder/a/ascent_of_the_worthy.txt diff --git a/forge-gui/res/cardsfolder/upcoming/augury_raven.txt b/forge-gui/res/cardsfolder/a/augury_raven.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/augury_raven.txt rename to forge-gui/res/cardsfolder/a/augury_raven.txt diff --git a/forge-gui/res/cardsfolder/upcoming/avalanche_caller.txt b/forge-gui/res/cardsfolder/a/avalanche_caller.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/avalanche_caller.txt rename to forge-gui/res/cardsfolder/a/avalanche_caller.txt diff --git a/forge-gui/res/cardsfolder/upcoming/axgard_armory.txt b/forge-gui/res/cardsfolder/a/axgard_armory.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/axgard_armory.txt rename to forge-gui/res/cardsfolder/a/axgard_armory.txt diff --git a/forge-gui/res/cardsfolder/upcoming/axgard_braggart.txt b/forge-gui/res/cardsfolder/a/axgard_braggart.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/axgard_braggart.txt rename to forge-gui/res/cardsfolder/a/axgard_braggart.txt diff --git a/forge-gui/res/cardsfolder/upcoming/axgard_cavalry.txt b/forge-gui/res/cardsfolder/a/axgard_cavalry.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/axgard_cavalry.txt rename to forge-gui/res/cardsfolder/a/axgard_cavalry.txt diff --git a/forge-gui/res/cardsfolder/b/bag_of_holding.txt b/forge-gui/res/cardsfolder/b/bag_of_holding.txt index e0b7a0acf30..449061389f9 100644 --- a/forge-gui/res/cardsfolder/b/bag_of_holding.txt +++ b/forge-gui/res/cardsfolder/b/bag_of_holding.txt @@ -2,7 +2,7 @@ Name:Bag of Holding ManaCost:1 Types:Artifact T:Mode$ Discarded | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ Whenever you discard a card, exile that card from your graveyard. -SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredCardLKICopy | Origin$ Graveyard | Destination$ Exile +SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Exile A:AB$ Draw | Cost$ 2 T | NumCards$ 1 | SpellDescription$ Draw a card, then discard a card. | SubAbility$ DBDiscard SVar:DBDiscard:DB$Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/b/barals_expertise.txt b/forge-gui/res/cardsfolder/b/barals_expertise.txt index 558dc4e6ea5..5edfaaf6aba 100644 --- a/forge-gui/res/cardsfolder/b/barals_expertise.txt +++ b/forge-gui/res/cardsfolder/b/barals_expertise.txt @@ -1,7 +1,7 @@ Name:Baral's Expertise ManaCost:3 U U Types:Sorcery -A:SP$ ChangeZone | Cost$ 3 U U | TargetMin$ 0 | TargetMax$ 3 | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBPlay | SpellDescription$ Return up to three target artifacts and/or creatures to their owners' hands. You may cast a card with converted mana cost 4 or less from your hand without paying its mana cost. -SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn+cmcLE4 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True +A:SP$ ChangeZone | Cost$ 3 U U | TargetMin$ 0 | TargetMax$ 3 | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBPlay | SpellDescription$ Return up to three target artifacts and/or creatures to their owners' hands. You may cast a spell with converted mana cost 4 or less from your hand without paying its mana cost. +SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLE4 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/barals_expertise.jpg -Oracle:Return up to three target artifacts and/or creatures to their owners' hands.\nYou may cast a card with converted mana cost 4 or less from your hand without paying its mana cost. \ No newline at end of file +Oracle:Return up to three target artifacts and/or creatures to their owners' hands.\nYou may cast a spell with converted mana cost 4 or less from your hand without paying its mana cost. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/upcoming/barkchannel_pathway_tidechannel_pathway.txt b/forge-gui/res/cardsfolder/b/barkchannel_pathway_tidechannel_pathway.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/barkchannel_pathway_tidechannel_pathway.txt rename to forge-gui/res/cardsfolder/b/barkchannel_pathway_tidechannel_pathway.txt diff --git a/forge-gui/res/cardsfolder/upcoming/basalt_ravager.txt b/forge-gui/res/cardsfolder/b/basalt_ravager.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/basalt_ravager.txt rename to forge-gui/res/cardsfolder/b/basalt_ravager.txt diff --git a/forge-gui/res/cardsfolder/upcoming/battershield_warrior.txt b/forge-gui/res/cardsfolder/b/battershield_warrior.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/battershield_warrior.txt rename to forge-gui/res/cardsfolder/b/battershield_warrior.txt diff --git a/forge-gui/res/cardsfolder/upcoming/battle_for_bretagard.txt b/forge-gui/res/cardsfolder/b/battle_for_bretagard.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/battle_for_bretagard.txt rename to forge-gui/res/cardsfolder/b/battle_for_bretagard.txt diff --git a/forge-gui/res/cardsfolder/upcoming/battle_mammoth.txt b/forge-gui/res/cardsfolder/b/battle_mammoth.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/battle_mammoth.txt rename to forge-gui/res/cardsfolder/b/battle_mammoth.txt diff --git a/forge-gui/res/cardsfolder/upcoming/battle_of_frost_and_fire.txt b/forge-gui/res/cardsfolder/b/battle_of_frost_and_fire.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/battle_of_frost_and_fire.txt rename to forge-gui/res/cardsfolder/b/battle_of_frost_and_fire.txt diff --git a/forge-gui/res/cardsfolder/upcoming/battlefield_raptor.txt b/forge-gui/res/cardsfolder/b/battlefield_raptor.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/battlefield_raptor.txt rename to forge-gui/res/cardsfolder/b/battlefield_raptor.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bearded_axe.txt b/forge-gui/res/cardsfolder/b/bearded_axe.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bearded_axe.txt rename to forge-gui/res/cardsfolder/b/bearded_axe.txt diff --git a/forge-gui/res/cardsfolder/upcoming/behold_the_multiverse.txt b/forge-gui/res/cardsfolder/b/behold_the_multiverse.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/behold_the_multiverse.txt rename to forge-gui/res/cardsfolder/b/behold_the_multiverse.txt diff --git a/forge-gui/res/cardsfolder/upcoming/berg_strider.txt b/forge-gui/res/cardsfolder/b/berg_strider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/berg_strider.txt rename to forge-gui/res/cardsfolder/b/berg_strider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/beskir_shieldmate.txt b/forge-gui/res/cardsfolder/b/beskir_shieldmate.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/beskir_shieldmate.txt rename to forge-gui/res/cardsfolder/b/beskir_shieldmate.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bind_the_monster.txt b/forge-gui/res/cardsfolder/b/bind_the_monster.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bind_the_monster.txt rename to forge-gui/res/cardsfolder/b/bind_the_monster.txt diff --git a/forge-gui/res/cardsfolder/upcoming/binding_of_the_old_gods.txt b/forge-gui/res/cardsfolder/b/binding_of_the_old_gods.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/binding_of_the_old_gods.txt rename to forge-gui/res/cardsfolder/b/binding_of_the_old_gods.txt diff --git a/forge-gui/res/cardsfolder/upcoming/birgi_god_of_storytelling_harnfel_horn_of_bounty.txt b/forge-gui/res/cardsfolder/b/birgi_god_of_storytelling_harnfel_horn_of_bounty.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/birgi_god_of_storytelling_harnfel_horn_of_bounty.txt rename to forge-gui/res/cardsfolder/b/birgi_god_of_storytelling_harnfel_horn_of_bounty.txt diff --git a/forge-gui/res/cardsfolder/upcoming/blessing_of_frost.txt b/forge-gui/res/cardsfolder/b/blessing_of_frost.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/blessing_of_frost.txt rename to forge-gui/res/cardsfolder/b/blessing_of_frost.txt diff --git a/forge-gui/res/cardsfolder/upcoming/blightstep_pathway_searstep_pathway.txt b/forge-gui/res/cardsfolder/b/blightstep_pathway_searstep_pathway.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/blightstep_pathway_searstep_pathway.txt rename to forge-gui/res/cardsfolder/b/blightstep_pathway_searstep_pathway.txt diff --git a/forge-gui/res/cardsfolder/upcoming/blizzard_brawl.txt b/forge-gui/res/cardsfolder/b/blizzard_brawl.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/blizzard_brawl.txt rename to forge-gui/res/cardsfolder/b/blizzard_brawl.txt diff --git a/forge-gui/res/cardsfolder/upcoming/blood_on_the_snow.txt b/forge-gui/res/cardsfolder/b/blood_on_the_snow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/blood_on_the_snow.txt rename to forge-gui/res/cardsfolder/b/blood_on_the_snow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bloodline_pretender.txt b/forge-gui/res/cardsfolder/b/bloodline_pretender.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bloodline_pretender.txt rename to forge-gui/res/cardsfolder/b/bloodline_pretender.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bloodsky_berserker.txt b/forge-gui/res/cardsfolder/b/bloodsky_berserker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bloodsky_berserker.txt rename to forge-gui/res/cardsfolder/b/bloodsky_berserker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/boreal_outrider.txt b/forge-gui/res/cardsfolder/b/boreal_outrider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/boreal_outrider.txt rename to forge-gui/res/cardsfolder/b/boreal_outrider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bound_in_gold.txt b/forge-gui/res/cardsfolder/b/bound_in_gold.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bound_in_gold.txt rename to forge-gui/res/cardsfolder/b/bound_in_gold.txt diff --git a/forge-gui/res/cardsfolder/upcoming/breakneck_berserker.txt b/forge-gui/res/cardsfolder/b/breakneck_berserker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/breakneck_berserker.txt rename to forge-gui/res/cardsfolder/b/breakneck_berserker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/bretagard_stronghold.txt b/forge-gui/res/cardsfolder/b/bretagard_stronghold.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/bretagard_stronghold.txt rename to forge-gui/res/cardsfolder/b/bretagard_stronghold.txt diff --git a/forge-gui/res/cardsfolder/upcoming/brinebarrow_intruder.txt b/forge-gui/res/cardsfolder/b/brinebarrow_intruder.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/brinebarrow_intruder.txt rename to forge-gui/res/cardsfolder/b/brinebarrow_intruder.txt diff --git a/forge-gui/res/cardsfolder/b/brought_back.txt b/forge-gui/res/cardsfolder/b/brought_back.txt index 885991837ec..cd8acfe2573 100644 --- a/forge-gui/res/cardsfolder/b/brought_back.txt +++ b/forge-gui/res/cardsfolder/b/brought_back.txt @@ -1,5 +1,5 @@ Name:Brought Back ManaCost:W W Types:Instant -A:SP$ ChangeZone | Cost$ W W | ValidTgts$ Permanent.YouOwn+ThisTurnEntered_Graveyard_from_Battlefield | TgtPrompt$ Select up to two target permanent cards in your graveyard that were put there from the battlefield this turn | TargetMin$ 0 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SpellDescription$ Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. +A:SP$ ChangeZone | Cost$ W W | ValidTgts$ Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | TgtPrompt$ Select up to two target permanent cards in your graveyard that were put there from the battlefield this turn | TargetMin$ 0 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SpellDescription$ Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. Oracle:Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/upcoming/burning_rune_demon.txt b/forge-gui/res/cardsfolder/b/burning_rune_demon.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/burning_rune_demon.txt rename to forge-gui/res/cardsfolder/b/burning_rune_demon.txt diff --git a/forge-gui/res/cardsfolder/upcoming/calamity_bearer.txt b/forge-gui/res/cardsfolder/c/calamity_bearer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/calamity_bearer.txt rename to forge-gui/res/cardsfolder/c/calamity_bearer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/canopy_tactician.txt b/forge-gui/res/cardsfolder/c/canopy_tactician.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/canopy_tactician.txt rename to forge-gui/res/cardsfolder/c/canopy_tactician.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cinderheart_giant.txt b/forge-gui/res/cardsfolder/c/cinderheart_giant.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cinderheart_giant.txt rename to forge-gui/res/cardsfolder/c/cinderheart_giant.txt diff --git a/forge-gui/res/cardsfolder/upcoming/clarion_spirit.txt b/forge-gui/res/cardsfolder/c/clarion_spirit.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/clarion_spirit.txt rename to forge-gui/res/cardsfolder/c/clarion_spirit.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cleaving_reaper.txt b/forge-gui/res/cardsfolder/c/cleaving_reaper.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cleaving_reaper.txt rename to forge-gui/res/cardsfolder/c/cleaving_reaper.txt diff --git a/forge-gui/res/cardsfolder/upcoming/codespell_cleric.txt b/forge-gui/res/cardsfolder/c/codespell_cleric.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/codespell_cleric.txt rename to forge-gui/res/cardsfolder/c/codespell_cleric.txt diff --git a/forge-gui/res/cardsfolder/upcoming/colossal_plow.txt b/forge-gui/res/cardsfolder/c/colossal_plow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/colossal_plow.txt rename to forge-gui/res/cardsfolder/c/colossal_plow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cosima_god_of_the_voyage_the_omenkeel.txt b/forge-gui/res/cardsfolder/c/cosima_god_of_the_voyage_the_omenkeel.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cosima_god_of_the_voyage_the_omenkeel.txt rename to forge-gui/res/cardsfolder/c/cosima_god_of_the_voyage_the_omenkeel.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cosmic_intervention.txt b/forge-gui/res/cardsfolder/c/cosmic_intervention.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cosmic_intervention.txt rename to forge-gui/res/cardsfolder/c/cosmic_intervention.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cosmos_charger.txt b/forge-gui/res/cardsfolder/c/cosmos_charger.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cosmos_charger.txt rename to forge-gui/res/cardsfolder/c/cosmos_charger.txt diff --git a/forge-gui/res/cardsfolder/upcoming/cosmos_elixir.txt b/forge-gui/res/cardsfolder/c/cosmos_elixir.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cosmos_elixir.txt rename to forge-gui/res/cardsfolder/c/cosmos_elixir.txt diff --git a/forge-gui/res/cardsfolder/c/coveted_prize.txt b/forge-gui/res/cardsfolder/c/coveted_prize.txt index f4c05ff38ea..2ce756671cf 100755 --- a/forge-gui/res/cardsfolder/c/coveted_prize.txt +++ b/forge-gui/res/cardsfolder/c/coveted_prize.txt @@ -4,7 +4,7 @@ Types:Sorcery S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone$ All | References$ X | Description$ This spell costs {1} less to cast for each creature in your party. SVar:X:Count$Party A:SP$ ChangeZone | Cost$ 4 B | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | SubAbility$ DBPlay | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card, put it into your hand, then shuffle your library. If you have a full party, you may cast a spell with converted mana cost 4 or less from your hand without paying its mana cost. -SVar:DBPlay:DB$ Play | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ4 | References$ X | Optional$ True | Valid$ Card.nonLand+YouOwn+cmcLE4 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | StackDescription$ None +SVar:DBPlay:DB$ Play | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ4 | References$ X | Optional$ True | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLE4 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | StackDescription$ None DeckHas:Ability$Party DeckHints:Type$Cleric|Rogue|Warrior|Wizard Oracle:This spell costs {1} less to cast for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.)\nSearch your library for a card, put it into your hand, then shuffle your library. If you have a full party, you may cast a spell with converted mana cost 4 or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/craven_hulk.txt b/forge-gui/res/cardsfolder/c/craven_hulk.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/craven_hulk.txt rename to forge-gui/res/cardsfolder/c/craven_hulk.txt diff --git a/forge-gui/res/cardsfolder/upcoming/crippling_fear.txt b/forge-gui/res/cardsfolder/c/crippling_fear.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/crippling_fear.txt rename to forge-gui/res/cardsfolder/c/crippling_fear.txt diff --git a/forge-gui/res/cardsfolder/upcoming/crown_of_skemfar.txt b/forge-gui/res/cardsfolder/c/crown_of_skemfar.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/crown_of_skemfar.txt rename to forge-gui/res/cardsfolder/c/crown_of_skemfar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/crush_the_weak.txt b/forge-gui/res/cardsfolder/c/crush_the_weak.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/crush_the_weak.txt rename to forge-gui/res/cardsfolder/c/crush_the_weak.txt diff --git a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt index c3753c455ec..fe232a3a0d2 100644 --- a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt +++ b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt @@ -2,5 +2,5 @@ Name:Cry of the Carnarium ManaCost:1 B B Types:Sorcery A:SP$ PumpAll | Cost$ 1 B B | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | ReplaceDyingValid$ Creature | SubAbility$ ExileSomeCreatures | SpellDescription$ All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. -SVar:ExileSomeCreatures:DB$ ChangeZone | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken | Origin$ Graveyard | Destination$ Exile | SpellDescription$ Exile all creature cards in all graveyards that were put there from the battlefield this turn. +SVar:ExileSomeCreatures:DB$ ChangeZone | Defined$ ValidGraveyard Creature.nonToken+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Exile | SpellDescription$ Exile all creature cards in all graveyards that were put there from the battlefield this turn. Oracle:All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. diff --git a/forge-gui/res/cardsfolder/upcoming/cyclone_summoner.txt b/forge-gui/res/cardsfolder/c/cyclone_summoner.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/cyclone_summoner.txt rename to forge-gui/res/cardsfolder/c/cyclone_summoner.txt diff --git a/forge-gui/res/cardsfolder/upcoming/darkbore_pathway_slitherbore_pathway.txt b/forge-gui/res/cardsfolder/d/darkbore_pathway_slitherbore_pathway.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/darkbore_pathway_slitherbore_pathway.txt rename to forge-gui/res/cardsfolder/d/darkbore_pathway_slitherbore_pathway.txt diff --git a/forge-gui/res/cardsfolder/upcoming/deathknell_berserker.txt b/forge-gui/res/cardsfolder/d/deathknell_berserker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/deathknell_berserker.txt rename to forge-gui/res/cardsfolder/d/deathknell_berserker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/demon_bolt.txt b/forge-gui/res/cardsfolder/d/demon_bolt.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/demon_bolt.txt rename to forge-gui/res/cardsfolder/d/demon_bolt.txt diff --git a/forge-gui/res/cardsfolder/upcoming/demonic_gifts.txt b/forge-gui/res/cardsfolder/d/demonic_gifts.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/demonic_gifts.txt rename to forge-gui/res/cardsfolder/d/demonic_gifts.txt diff --git a/forge-gui/res/cardsfolder/upcoming/depart_the_realm.txt b/forge-gui/res/cardsfolder/d/depart_the_realm.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/depart_the_realm.txt rename to forge-gui/res/cardsfolder/d/depart_the_realm.txt diff --git a/forge-gui/res/cardsfolder/upcoming/divine_gambit.txt b/forge-gui/res/cardsfolder/d/divine_gambit.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/divine_gambit.txt rename to forge-gui/res/cardsfolder/d/divine_gambit.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dogged_pursuit.txt b/forge-gui/res/cardsfolder/d/dogged_pursuit.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dogged_pursuit.txt rename to forge-gui/res/cardsfolder/d/dogged_pursuit.txt diff --git a/forge-gui/res/cardsfolder/upcoming/doomskar.txt b/forge-gui/res/cardsfolder/d/doomskar.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/doomskar.txt rename to forge-gui/res/cardsfolder/d/doomskar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/doomskar_oracle.txt b/forge-gui/res/cardsfolder/d/doomskar_oracle.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/doomskar_oracle.txt rename to forge-gui/res/cardsfolder/d/doomskar_oracle.txt diff --git a/forge-gui/res/cardsfolder/upcoming/doomskar_titan.txt b/forge-gui/res/cardsfolder/d/doomskar_titan.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/doomskar_titan.txt rename to forge-gui/res/cardsfolder/d/doomskar_titan.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dragonkin_berserker.txt b/forge-gui/res/cardsfolder/d/dragonkin_berserker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dragonkin_berserker.txt rename to forge-gui/res/cardsfolder/d/dragonkin_berserker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/draugr_necromancer.txt b/forge-gui/res/cardsfolder/d/draugr_necromancer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/draugr_necromancer.txt rename to forge-gui/res/cardsfolder/d/draugr_necromancer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/draugr_recruiter.txt b/forge-gui/res/cardsfolder/d/draugr_recruiter.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/draugr_recruiter.txt rename to forge-gui/res/cardsfolder/d/draugr_recruiter.txt diff --git a/forge-gui/res/cardsfolder/upcoming/draugr_thought-thief.txt b/forge-gui/res/cardsfolder/d/draugr_thought-thief.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/draugr_thought-thief.txt rename to forge-gui/res/cardsfolder/d/draugr_thought-thief.txt diff --git a/forge-gui/res/cardsfolder/upcoming/draugrs_helm.txt b/forge-gui/res/cardsfolder/d/draugrs_helm.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/draugrs_helm.txt rename to forge-gui/res/cardsfolder/d/draugrs_helm.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dread_rider.txt b/forge-gui/res/cardsfolder/d/dread_rider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dread_rider.txt rename to forge-gui/res/cardsfolder/d/dread_rider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dream_devourer.txt b/forge-gui/res/cardsfolder/d/dream_devourer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dream_devourer.txt rename to forge-gui/res/cardsfolder/d/dream_devourer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dual_strike.txt b/forge-gui/res/cardsfolder/d/dual_strike.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dual_strike.txt rename to forge-gui/res/cardsfolder/d/dual_strike.txt diff --git a/forge-gui/res/cardsfolder/upcoming/duskwielder.txt b/forge-gui/res/cardsfolder/d/duskwielder.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/duskwielder.txt rename to forge-gui/res/cardsfolder/d/duskwielder.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dwarven_hammer.txt b/forge-gui/res/cardsfolder/d/dwarven_hammer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dwarven_hammer.txt rename to forge-gui/res/cardsfolder/d/dwarven_hammer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/dwarven_reinforcements.txt b/forge-gui/res/cardsfolder/d/dwarven_reinforcements.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/dwarven_reinforcements.txt rename to forge-gui/res/cardsfolder/d/dwarven_reinforcements.txt diff --git a/forge-gui/res/cardsfolder/upcoming/egon_god_of_death_throne_of_death.txt b/forge-gui/res/cardsfolder/e/egon_god_of_death_throne_of_death.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/egon_god_of_death_throne_of_death.txt rename to forge-gui/res/cardsfolder/e/egon_god_of_death_throne_of_death.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elderfang_disciple.txt b/forge-gui/res/cardsfolder/e/elderfang_disciple.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elderfang_disciple.txt rename to forge-gui/res/cardsfolder/e/elderfang_disciple.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elderfang_ritualist.txt b/forge-gui/res/cardsfolder/e/elderfang_ritualist.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elderfang_ritualist.txt rename to forge-gui/res/cardsfolder/e/elderfang_ritualist.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elderfang_venom.txt b/forge-gui/res/cardsfolder/e/elderfang_venom.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elderfang_venom.txt rename to forge-gui/res/cardsfolder/e/elderfang_venom.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elderleaf_mentor.txt b/forge-gui/res/cardsfolder/e/elderleaf_mentor.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elderleaf_mentor.txt rename to forge-gui/res/cardsfolder/e/elderleaf_mentor.txt diff --git a/forge-gui/res/cardsfolder/e/electrodominance.txt b/forge-gui/res/cardsfolder/e/electrodominance.txt index 9d272b3eea8..2da42bca1b5 100644 --- a/forge-gui/res/cardsfolder/e/electrodominance.txt +++ b/forge-gui/res/cardsfolder/e/electrodominance.txt @@ -1,7 +1,7 @@ Name:Electrodominance ManaCost:X R R Types:Instant -A:SP$ DealDamage | Cost$ X R R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | References$ X | SubAbility$ DBPlay | SpellDescription$ CARDNAME deals X damage to any target. You may cast a card with converted mana cost X or less from your hand without paying its mana cost. -SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn+cmcLEX | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True | References$ X +A:SP$ DealDamage | Cost$ X R R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | References$ X | SubAbility$ DBPlay | SpellDescription$ CARDNAME deals X damage to any target. You may cast a spell with converted mana cost X or less from your hand without paying its mana cost. +SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLEX | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True | References$ X SVar:X:Count$xPaid -Oracle:Electrodominance deals X damage to any target. You may cast a card with converted mana cost X or less from your hand without paying its mana cost. +Oracle:Electrodominance deals X damage to any target. You may cast a spell with converted mana cost X or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/elven_ambush.txt b/forge-gui/res/cardsfolder/e/elven_ambush.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elven_ambush.txt rename to forge-gui/res/cardsfolder/e/elven_ambush.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elven_bow.txt b/forge-gui/res/cardsfolder/e/elven_bow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elven_bow.txt rename to forge-gui/res/cardsfolder/e/elven_bow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/elvish_warmaster.txt b/forge-gui/res/cardsfolder/e/elvish_warmaster.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/elvish_warmaster.txt rename to forge-gui/res/cardsfolder/e/elvish_warmaster.txt diff --git a/forge-gui/res/cardsfolder/upcoming/eradicator_valkyrie.txt b/forge-gui/res/cardsfolder/e/eradicator_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/eradicator_valkyrie.txt rename to forge-gui/res/cardsfolder/e/eradicator_valkyrie.txt diff --git a/forge-gui/res/cardsfolder/upcoming/esika_god_of_the_tree_the_prismatic_bridge.txt b/forge-gui/res/cardsfolder/e/esika_god_of_the_tree_the_prismatic_bridge.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/esika_god_of_the_tree_the_prismatic_bridge.txt rename to forge-gui/res/cardsfolder/e/esika_god_of_the_tree_the_prismatic_bridge.txt diff --git a/forge-gui/res/cardsfolder/upcoming/esikas_charriot.txt b/forge-gui/res/cardsfolder/e/esikas_charriot.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/esikas_charriot.txt rename to forge-gui/res/cardsfolder/e/esikas_charriot.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ethereal_valkyrie.txt b/forge-gui/res/cardsfolder/e/ethereal_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ethereal_valkyrie.txt rename to forge-gui/res/cardsfolder/e/ethereal_valkyrie.txt diff --git a/forge-gui/res/cardsfolder/upcoming/faceless_haven.txt b/forge-gui/res/cardsfolder/f/faceless_haven.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/faceless_haven.txt rename to forge-gui/res/cardsfolder/f/faceless_haven.txt diff --git a/forge-gui/res/cardsfolder/f/faiths_reward.txt b/forge-gui/res/cardsfolder/f/faiths_reward.txt index a5138be1544..0cb62397ef6 100644 --- a/forge-gui/res/cardsfolder/f/faiths_reward.txt +++ b/forge-gui/res/cardsfolder/f/faiths_reward.txt @@ -1,6 +1,5 @@ Name:Faith's Reward ManaCost:3 W Types:Instant -A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Permanent.YouOwn | SpellDescription$ Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/faiths_reward.jpg +A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. Oracle:Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/fall_of_the_impostor.txt b/forge-gui/res/cardsfolder/f/fall_of_the_impostor.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/fall_of_the_impostor.txt rename to forge-gui/res/cardsfolder/f/fall_of_the_impostor.txt diff --git a/forge-gui/res/cardsfolder/upcoming/fearless_liberator.txt b/forge-gui/res/cardsfolder/f/fearless_liberator.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/fearless_liberator.txt rename to forge-gui/res/cardsfolder/f/fearless_liberator.txt diff --git a/forge-gui/res/cardsfolder/upcoming/fearless_pup.txt b/forge-gui/res/cardsfolder/f/fearless_pup.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/fearless_pup.txt rename to forge-gui/res/cardsfolder/f/fearless_pup.txt diff --git a/forge-gui/res/cardsfolder/upcoming/feed_the_serpent.txt b/forge-gui/res/cardsfolder/f/feed_the_serpent.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/feed_the_serpent.txt rename to forge-gui/res/cardsfolder/f/feed_the_serpent.txt diff --git a/forge-gui/res/cardsfolder/f/fell_shepherd.txt b/forge-gui/res/cardsfolder/f/fell_shepherd.txt index 13d81b6ad4b..f708baba763 100644 --- a/forge-gui/res/cardsfolder/f/fell_shepherd.txt +++ b/forge-gui/res/cardsfolder/f/fell_shepherd.txt @@ -3,7 +3,6 @@ ManaCost:5 B B Types:Creature Avatar PT:8/6 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigReturn | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may return all creature cards put into your graveyard from the battlefield this turn to your hand. -SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.YouOwn+Creature +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield A:AB$ Pump | Cost$ B Sac<1/Creature.Other/another creature> | ValidTgts$ Creature | NumAtt$ -2 | NumDef$ -2 | SpellDescription$ Target creature gets -2/-2 until end of turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/fell_shepherd.jpg Oracle:Whenever Fell Shepherd deals combat damage to a player, you may return to your hand all creature cards that were put into your graveyard from the battlefield this turn.\n{B}, Sacrifice another creature: Target creature gets -2/-2 until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/fire_giants_fury.txt b/forge-gui/res/cardsfolder/f/fire_giants_fury.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/fire_giants_fury.txt rename to forge-gui/res/cardsfolder/f/fire_giants_fury.txt diff --git a/forge-gui/res/cardsfolder/upcoming/firja_judge_of_valor.txt b/forge-gui/res/cardsfolder/f/firja_judge_of_valor.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/firja_judge_of_valor.txt rename to forge-gui/res/cardsfolder/f/firja_judge_of_valor.txt diff --git a/forge-gui/res/cardsfolder/upcoming/firjas_retribution.txt b/forge-gui/res/cardsfolder/f/firjas_retribution.txt similarity index 89% rename from forge-gui/res/cardsfolder/upcoming/firjas_retribution.txt rename to forge-gui/res/cardsfolder/f/firjas_retribution.txt index 4094b98ab59..df9dcbddd2a 100644 --- a/forge-gui/res/cardsfolder/upcoming/firjas_retribution.txt +++ b/forge-gui/res/cardsfolder/f/firjas_retribution.txt @@ -2,7 +2,7 @@ Name:Firja's Retribution ManaCost:1 W W B Types:Enchantment Saga K:Saga:3:TrigAngel,DBAnimateAll,TrigPump -SVar:TrigAngel:DB$ Token | TokenAmount$ 1 | TokenScript$ w_4_4_angel_flying_vigilance | TokenOwner$ You | SpellDescription$ Create a 4/4 white Angel creature token with flying and vigilance. +SVar:TrigAngel:DB$ Token | TokenAmount$ 1 | TokenScript$ w_4_4_angel_warrior_flying_vigilance | TokenOwner$ You | SpellDescription$ Create a 4/4 white Angel creature token with flying and vigilance. SVar:DBAnimateAll:DB$ AnimateAll | ValidCards$ Angel.YouCtrl | Abilities$ TapDestroy | SpellDescription$ Until the end of turn, Angels you control gain "{T}: Destroy target creature with power less than this creature." SVar:TapDestroy:AB$ Destroy | Cost$ T | ValidTgts$ Creature.powerLTX | References$ X | TgtPrompt$ Select target creature with power less than this creature | SpellDescription$ Destroy target creature with power less than this creature. SVar:X:Count$CardPower diff --git a/forge-gui/res/cardsfolder/upcoming/forging_the_tyrite_sword.txt b/forge-gui/res/cardsfolder/f/forging_the_tyrite_sword.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/forging_the_tyrite_sword.txt rename to forge-gui/res/cardsfolder/f/forging_the_tyrite_sword.txt diff --git a/forge-gui/res/cardsfolder/upcoming/frenzied_raider.txt b/forge-gui/res/cardsfolder/f/frenzied_raider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/frenzied_raider.txt rename to forge-gui/res/cardsfolder/f/frenzied_raider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/frost_augur.txt b/forge-gui/res/cardsfolder/f/frost_augur.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/frost_augur.txt rename to forge-gui/res/cardsfolder/f/frost_augur.txt diff --git a/forge-gui/res/cardsfolder/upcoming/frost_bite.txt b/forge-gui/res/cardsfolder/f/frost_bite.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/frost_bite.txt rename to forge-gui/res/cardsfolder/f/frost_bite.txt diff --git a/forge-gui/res/cardsfolder/upcoming/frostpeak_yeti.txt b/forge-gui/res/cardsfolder/f/frostpeak_yeti.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/frostpeak_yeti.txt rename to forge-gui/res/cardsfolder/f/frostpeak_yeti.txt diff --git a/forge-gui/res/cardsfolder/upcoming/frostpyre_arcanist.txt b/forge-gui/res/cardsfolder/f/frostpyre_arcanist.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/frostpyre_arcanist.txt rename to forge-gui/res/cardsfolder/f/frostpyre_arcanist.txt diff --git a/forge-gui/res/cardsfolder/upcoming/funeral_longboat.txt b/forge-gui/res/cardsfolder/f/funeral_longboat.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/funeral_longboat.txt rename to forge-gui/res/cardsfolder/f/funeral_longboat.txt diff --git a/forge-gui/res/cardsfolder/upcoming/fynn_the_fangbearer.txt b/forge-gui/res/cardsfolder/f/fynn_the_fangbearer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/fynn_the_fangbearer.txt rename to forge-gui/res/cardsfolder/f/fynn_the_fangbearer.txt diff --git a/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt b/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt index a6110f52eae..2cdf9796d19 100644 --- a/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt +++ b/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt @@ -4,7 +4,6 @@ Types:Legendary Creature Human Warrior PT:3/3 K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return to your hand all creature cards in your graveyard that were put there from anywhere this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_Card.Creature+YouOwn+nonToken +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+nonToken+ThisTurnEntered S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddKeyword$ Haste | Description$ Other creatures you control have haste. -SVar:Picture:http://www.wizards.com/global/images/magic/general/garna_the_bloodflame.jpg Oracle:Flash\nWhen Garna, the Bloodflame enters the battlefield, return to your hand all creature cards in your graveyard that were put there from anywhere this turn.\nOther creatures you control have haste. diff --git a/forge-gui/res/cardsfolder/upcoming/gates_of_istfell.txt b/forge-gui/res/cardsfolder/g/gates_of_istfell.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gates_of_istfell.txt rename to forge-gui/res/cardsfolder/g/gates_of_istfell.txt diff --git a/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt b/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt index cf7d0a7b04b..9f017a9d46d 100644 --- a/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt +++ b/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt @@ -5,5 +5,5 @@ PT:3/3 K:First Strike T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, exile it and return to the battlefield all artifact and creature cards in your graveyard that were put there from the battlefield this turn. SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBReturn -SVar:DBReturn:DB$ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Artifact+YouOwn,Card.Creature+YouOwn +SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Artifact,Creature.YouOwn+ThisTurnEnteredFrom_Battlefield Oracle:First strike\nWhen Gerrard, Weatherlight Hero dies, exile it and return to the battlefield all artifact and creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt b/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt index 298a1b07fb8..8719b744599 100755 --- a/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt +++ b/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Pirate Spirit PT:2/3 K:CantBeBlockedBy Creature.toughnessGE3 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, choose up to one target card in any graveyard that has been discarded or put there from a library this turn. Put that card into its owner's hand. -SVar:TrigChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.DiscardedThisTurn,Card.ThisTurnEntered_Graveyard_from_Library | TgtPrompt$ Choose up to one target card in any graveyard that has been discarded or put there from a library this turn +SVar:TrigChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.DiscardedThisTurn,Card.ThisTurnEnteredFrom_Library | TgtPrompt$ Choose up to one target card in any graveyard that has been discarded or put there from a library this turn K:Partner DeckHas:Ability$Graveyard DeckHints:Ability$Mill diff --git a/forge-gui/res/cardsfolder/upcoming/giant_ox.txt b/forge-gui/res/cardsfolder/g/giant_ox.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/giant_ox.txt rename to forge-gui/res/cardsfolder/g/giant_ox.txt diff --git a/forge-gui/res/cardsfolder/upcoming/giants_amulet.txt b/forge-gui/res/cardsfolder/g/giants_amulet.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/giants_amulet.txt rename to forge-gui/res/cardsfolder/g/giants_amulet.txt diff --git a/forge-gui/res/cardsfolder/upcoming/giants_grasp.txt b/forge-gui/res/cardsfolder/g/giants_grasp.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/giants_grasp.txt rename to forge-gui/res/cardsfolder/g/giants_grasp.txt diff --git a/forge-gui/res/cardsfolder/upcoming/gilded_assault_cart.txt b/forge-gui/res/cardsfolder/g/gilded_assault_cart.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gilded_assault_cart.txt rename to forge-gui/res/cardsfolder/g/gilded_assault_cart.txt diff --git a/forge-gui/res/cardsfolder/upcoming/glacial_floodplain.txt b/forge-gui/res/cardsfolder/g/glacial_floodplain.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/glacial_floodplain.txt rename to forge-gui/res/cardsfolder/g/glacial_floodplain.txt diff --git a/forge-gui/res/cardsfolder/upcoming/gladewalker_ritualist.txt b/forge-gui/res/cardsfolder/g/gladewalker_ritualist.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gladewalker_ritualist.txt rename to forge-gui/res/cardsfolder/g/gladewalker_ritualist.txt diff --git a/forge-gui/res/cardsfolder/g/gleancrawler.txt b/forge-gui/res/cardsfolder/g/gleancrawler.txt index 51f0a0c8332..be0ec8e1e2e 100644 --- a/forge-gui/res/cardsfolder/g/gleancrawler.txt +++ b/forge-gui/res/cardsfolder/g/gleancrawler.txt @@ -3,7 +3,6 @@ ManaCost:3 BG BG BG Types:Creature Insect Horror PT:6/6 K:Trample -T:Mode$Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Creature+YouCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/gleancrawler.jpg +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouCtrl+ThisTurnEnteredFrom_Battlefield Oracle:Trample\nAt the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/glimpse_the_cosmos.txt b/forge-gui/res/cardsfolder/g/glimpse_the_cosmos.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/glimpse_the_cosmos.txt rename to forge-gui/res/cardsfolder/g/glimpse_the_cosmos.txt diff --git a/forge-gui/res/cardsfolder/upcoming/glittering_frost.txt b/forge-gui/res/cardsfolder/g/glittering_frost.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/glittering_frost.txt rename to forge-gui/res/cardsfolder/g/glittering_frost.txt diff --git a/forge-gui/res/cardsfolder/upcoming/glorious_protector.txt b/forge-gui/res/cardsfolder/g/glorious_protector.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/glorious_protector.txt rename to forge-gui/res/cardsfolder/g/glorious_protector.txt diff --git a/forge-gui/res/cardsfolder/upcoming/gnottvold_recluse.txt b/forge-gui/res/cardsfolder/g/gnottvold_recluse.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gnottvold_recluse.txt rename to forge-gui/res/cardsfolder/g/gnottvold_recluse.txt diff --git a/forge-gui/res/cardsfolder/upcoming/gnottvold_slumbermound.txt b/forge-gui/res/cardsfolder/g/gnottvold_slumbermound.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gnottvold_slumbermound.txt rename to forge-gui/res/cardsfolder/g/gnottvold_slumbermound.txt diff --git a/forge-gui/res/cardsfolder/upcoming/gods_hall_guardian.txt b/forge-gui/res/cardsfolder/g/gods_hall_guardian.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/gods_hall_guardian.txt rename to forge-gui/res/cardsfolder/g/gods_hall_guardian.txt diff --git a/forge-gui/res/cardsfolder/upcoming/goldmaw_champion.txt b/forge-gui/res/cardsfolder/g/goldmaw_champion.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/goldmaw_champion.txt rename to forge-gui/res/cardsfolder/g/goldmaw_champion.txt diff --git a/forge-gui/res/cardsfolder/upcoming/goldspan_dragon.txt b/forge-gui/res/cardsfolder/g/goldspan_dragon.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/goldspan_dragon.txt rename to forge-gui/res/cardsfolder/g/goldspan_dragon.txt diff --git a/forge-gui/res/cardsfolder/upcoming/goldvein_pick.txt b/forge-gui/res/cardsfolder/g/goldvein_pick.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/goldvein_pick.txt rename to forge-gui/res/cardsfolder/g/goldvein_pick.txt diff --git a/forge-gui/res/cardsfolder/upcoming/graven_lore.txt b/forge-gui/res/cardsfolder/g/graven_lore.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/graven_lore.txt rename to forge-gui/res/cardsfolder/g/graven_lore.txt diff --git a/forge-gui/res/cardsfolder/upcoming/great_hall_of_starnheim.txt b/forge-gui/res/cardsfolder/g/great_hall_of_starnheim.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/great_hall_of_starnheim.txt rename to forge-gui/res/cardsfolder/g/great_hall_of_starnheim.txt diff --git a/forge-gui/res/cardsfolder/upcoming/grim_draugr.txt b/forge-gui/res/cardsfolder/g/grim_draugr.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/grim_draugr.txt rename to forge-gui/res/cardsfolder/g/grim_draugr.txt diff --git a/forge-gui/res/cardsfolder/g/grim_return.txt b/forge-gui/res/cardsfolder/g/grim_return.txt index d294b601570..d71ec166ac3 100644 --- a/forge-gui/res/cardsfolder/g/grim_return.txt +++ b/forge-gui/res/cardsfolder/g/grim_return.txt @@ -1,6 +1,5 @@ Name:Grim Return ManaCost:2 B Types:Instant -A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Card.Creature+ThisTurnEntered_Graveyard_from_Battlefield | TgtPrompt$ Select target creature card in a graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. -SVar:Picture:http://www.wizards.com/global/images/magic/general/grim_return.jpg +A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Card.Creature+ThisTurnEnteredFrom_Battlefield | TgtPrompt$ Select target creature card in a graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. Oracle:Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/upcoming/grizzled_outrider.txt b/forge-gui/res/cardsfolder/g/grizzled_outrider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/grizzled_outrider.txt rename to forge-gui/res/cardsfolder/g/grizzled_outrider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/guardian-gladewalker.txt b/forge-gui/res/cardsfolder/g/guardian-gladewalker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/guardian-gladewalker.txt rename to forge-gui/res/cardsfolder/g/guardian-gladewalker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/hagi_mob.txt b/forge-gui/res/cardsfolder/h/hagi_mob.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/hagi_mob.txt rename to forge-gui/res/cardsfolder/h/hagi_mob.txt diff --git a/forge-gui/res/cardsfolder/upcoming/hailstorm_valkyrie.txt b/forge-gui/res/cardsfolder/h/hailstorm_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/hailstorm_valkyrie.txt rename to forge-gui/res/cardsfolder/h/hailstorm_valkyrie.txt diff --git a/forge-gui/res/cardsfolder/upcoming/halvar_god_of_battle_sword_of_the_realms.txt b/forge-gui/res/cardsfolder/h/halvar_god_of_battle_sword_of_the_realms.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/halvar_god_of_battle_sword_of_the_realms.txt rename to forge-gui/res/cardsfolder/h/halvar_god_of_battle_sword_of_the_realms.txt diff --git a/forge-gui/res/cardsfolder/upcoming/harald_king_of_skemfar.txt b/forge-gui/res/cardsfolder/h/harald_king_of_skemfar.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/harald_king_of_skemfar.txt rename to forge-gui/res/cardsfolder/h/harald_king_of_skemfar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/harald_unites_the_elves.txt b/forge-gui/res/cardsfolder/h/harald_unites_the_elves.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/harald_unites_the_elves.txt rename to forge-gui/res/cardsfolder/h/harald_unites_the_elves.txt diff --git a/forge-gui/res/cardsfolder/upcoming/haunting_voyage.txt b/forge-gui/res/cardsfolder/h/haunting_voyage.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/haunting_voyage.txt rename to forge-gui/res/cardsfolder/h/haunting_voyage.txt diff --git a/forge-gui/res/cardsfolder/upcoming/hengegate_pathway_mistgate_pathway.txt b/forge-gui/res/cardsfolder/h/hengegate_pathway_mistgate_pathway.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/hengegate_pathway_mistgate_pathway.txt rename to forge-gui/res/cardsfolder/h/hengegate_pathway_mistgate_pathway.txt diff --git a/forge-gui/res/cardsfolder/upcoming/highland_forest.txt b/forge-gui/res/cardsfolder/h/highland_forest.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/highland_forest.txt rename to forge-gui/res/cardsfolder/h/highland_forest.txt diff --git a/forge-gui/res/cardsfolder/upcoming/horizon_seeker.txt b/forge-gui/res/cardsfolder/h/horizon_seeker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/horizon_seeker.txt rename to forge-gui/res/cardsfolder/h/horizon_seeker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ice_tunnel.txt b/forge-gui/res/cardsfolder/i/ice_tunnel.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ice_tunnel.txt rename to forge-gui/res/cardsfolder/i/ice_tunnel.txt diff --git a/forge-gui/res/cardsfolder/upcoming/icebind_pillar.txt b/forge-gui/res/cardsfolder/i/icebind_pillar.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/icebind_pillar.txt rename to forge-gui/res/cardsfolder/i/icebind_pillar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/icebreaker_kraken.txt b/forge-gui/res/cardsfolder/i/icebreaker_kraken.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/icebreaker_kraken.txt rename to forge-gui/res/cardsfolder/i/icebreaker_kraken.txt diff --git a/forge-gui/res/cardsfolder/upcoming/icehide_troll.txt b/forge-gui/res/cardsfolder/i/icehide_troll.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/icehide_troll.txt rename to forge-gui/res/cardsfolder/i/icehide_troll.txt diff --git a/forge-gui/res/cardsfolder/upcoming/immersturm_predator.txt b/forge-gui/res/cardsfolder/i/immersturm_predator.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/immersturm_predator.txt rename to forge-gui/res/cardsfolder/i/immersturm_predator.txt diff --git a/forge-gui/res/cardsfolder/upcoming/immersturm_raider.txt b/forge-gui/res/cardsfolder/i/immersturm_raider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/immersturm_raider.txt rename to forge-gui/res/cardsfolder/i/immersturm_raider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/immersturm_skullcairn.txt b/forge-gui/res/cardsfolder/i/immersturm_skullcairn.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/immersturm_skullcairn.txt rename to forge-gui/res/cardsfolder/i/immersturm_skullcairn.txt diff --git a/forge-gui/res/cardsfolder/upcoming/in_search_of_greatness.txt b/forge-gui/res/cardsfolder/i/in_search_of_greatness.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/in_search_of_greatness.txt rename to forge-gui/res/cardsfolder/i/in_search_of_greatness.txt diff --git a/forge-gui/res/cardsfolder/upcoming/infernal_pet.txt b/forge-gui/res/cardsfolder/i/infernal_pet.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/infernal_pet.txt rename to forge-gui/res/cardsfolder/i/infernal_pet.txt diff --git a/forge-gui/res/cardsfolder/upcoming/inga_rune_eyes.txt b/forge-gui/res/cardsfolder/i/inga_rune_eyes.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/inga_rune_eyes.txt rename to forge-gui/res/cardsfolder/i/inga_rune_eyes.txt diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_the_giants.txt b/forge-gui/res/cardsfolder/i/invasion_of_the_giants.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/invasion_of_the_giants.txt rename to forge-gui/res/cardsfolder/i/invasion_of_the_giants.txt diff --git a/forge-gui/res/cardsfolder/upcoming/iron_verdict.txt b/forge-gui/res/cardsfolder/i/iron_verdict.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/iron_verdict.txt rename to forge-gui/res/cardsfolder/i/iron_verdict.txt diff --git a/forge-gui/res/cardsfolder/upcoming/jarl_of_the_forsaken.txt b/forge-gui/res/cardsfolder/j/jarl_of_the_forsaken.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/jarl_of_the_forsaken.txt rename to forge-gui/res/cardsfolder/j/jarl_of_the_forsaken.txt diff --git a/forge-gui/res/cardsfolder/upcoming/jaspera_sentinel.txt b/forge-gui/res/cardsfolder/j/jaspera_sentinel.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/jaspera_sentinel.txt rename to forge-gui/res/cardsfolder/j/jaspera_sentinel.txt diff --git a/forge-gui/res/cardsfolder/upcoming/jorn_god_of_winter_kaldring_the_rimestaff.txt b/forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/jorn_god_of_winter_kaldring_the_rimestaff.txt rename to forge-gui/res/cardsfolder/j/jorn_god_of_winter_kaldring_the_rimestaff.txt diff --git a/forge-gui/res/cardsfolder/upcoming/kardur_doomscourge.txt b/forge-gui/res/cardsfolder/k/kardur_doomscourge.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/kardur_doomscourge.txt rename to forge-gui/res/cardsfolder/k/kardur_doomscourge.txt diff --git a/forge-gui/res/cardsfolder/upcoming/kardurs_vicious_return.txt b/forge-gui/res/cardsfolder/k/kardurs_vicious_return.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/kardurs_vicious_return.txt rename to forge-gui/res/cardsfolder/k/kardurs_vicious_return.txt diff --git a/forge-gui/res/cardsfolder/upcoming/karfell_harbinger.txt b/forge-gui/res/cardsfolder/k/karfell_harbinger.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/karfell_harbinger.txt rename to forge-gui/res/cardsfolder/k/karfell_harbinger.txt diff --git a/forge-gui/res/cardsfolder/upcoming/karfell_kennel_master.txt b/forge-gui/res/cardsfolder/k/karfell_kennel_master.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/karfell_kennel_master.txt rename to forge-gui/res/cardsfolder/k/karfell_kennel_master.txt diff --git a/forge-gui/res/cardsfolder/k/kari_zevs_expertise.txt b/forge-gui/res/cardsfolder/k/kari_zevs_expertise.txt index 9c8ad5fa108..e267485ae52 100644 --- a/forge-gui/res/cardsfolder/k/kari_zevs_expertise.txt +++ b/forge-gui/res/cardsfolder/k/kari_zevs_expertise.txt @@ -1,7 +1,7 @@ Name:Kari Zev's Expertise ManaCost:1 R R Types:Sorcery -A:SP$ GainControl | Cost$ 1 R R | ValidTgts$ Creature,Vehicle | TgtPrompt$ Select target creature or vehicle | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SubAbility$ DBCast | SpellDescription$ Gain control of target creature or Vehicle until end of turn. Untap it. It gains haste until end of turn. You may cast a card with converted mana cost 2 or less from your hand without paying its mana cost. -SVar:DBCast:DB$ Play | ValidZone$ Hand | Valid$ Card.YouOwn+nonLand+cmcLE2 | Controller$ You | WithoutManaCost$ True | Optional$ True | Amount$ 1 +A:SP$ GainControl | Cost$ 1 R R | ValidTgts$ Creature,Vehicle | TgtPrompt$ Select target creature or vehicle | LoseControl$ EOT | Untap$ True | AddKWs$ Haste | SubAbility$ DBCast | SpellDescription$ Gain control of target creature or Vehicle until end of turn. Untap it. It gains haste until end of turn. You may cast a spell with converted mana cost 2 or less from your hand without paying its mana cost. +SVar:DBCast:DB$ Play | ValidZone$ Hand | Valid$ Card.YouOwn+nonLand | ValidSA$ Spell.cmcLE2 | Controller$ You | WithoutManaCost$ True | Optional$ True | Amount$ 1 SVar:Picture:http://www.wizards.com/global/images/magic/general/kari_zevs_expertise.jpg -Oracle:Gain control of target creature or Vehicle until end of turn. Untap it. It gains haste until end of turn.\nYou may cast a card with converted mana cost 2 or less from your hand without paying its mana cost. +Oracle:Gain control of target creature or Vehicle until end of turn. Untap it. It gains haste until end of turn.\nYou may cast a spell with converted mana cost 2 or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/kaya_the_inexorable.txt b/forge-gui/res/cardsfolder/k/kaya_the_inexorable.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/kaya_the_inexorable.txt rename to forge-gui/res/cardsfolder/k/kaya_the_inexorable.txt diff --git a/forge-gui/res/cardsfolder/upcoming/kayas_onslaught.txt b/forge-gui/res/cardsfolder/k/kayas_onslaught.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/kayas_onslaught.txt rename to forge-gui/res/cardsfolder/k/kayas_onslaught.txt diff --git a/forge-gui/res/cardsfolder/upcoming/king_haralds_revenge.txt b/forge-gui/res/cardsfolder/k/king_haralds_revenge.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/king_haralds_revenge.txt rename to forge-gui/res/cardsfolder/k/king_haralds_revenge.txt diff --git a/forge-gui/res/cardsfolder/upcoming/king_narfis_betrayal.txt b/forge-gui/res/cardsfolder/k/king_narfis_betrayal.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/king_narfis_betrayal.txt rename to forge-gui/res/cardsfolder/k/king_narfis_betrayal.txt diff --git a/forge-gui/res/cardsfolder/upcoming/koll_the_forgemaster.txt b/forge-gui/res/cardsfolder/k/koll_the_forgemaster.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/koll_the_forgemaster.txt rename to forge-gui/res/cardsfolder/k/koll_the_forgemaster.txt diff --git a/forge-gui/res/cardsfolder/upcoming/kolvori_god_of_kinship_the_ringhart_crest.txt b/forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/kolvori_god_of_kinship_the_ringhart_crest.txt rename to forge-gui/res/cardsfolder/k/kolvori_god_of_kinship_the_ringhart_crest.txt diff --git a/forge-gui/res/cardsfolder/upcoming/koma_cosmos_serpent.txt b/forge-gui/res/cardsfolder/k/koma_cosmos_serpent.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/koma_cosmos_serpent.txt rename to forge-gui/res/cardsfolder/k/koma_cosmos_serpent.txt diff --git a/forge-gui/res/cardsfolder/upcoming/komas_faithful.txt b/forge-gui/res/cardsfolder/k/komas_faithful.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/komas_faithful.txt rename to forge-gui/res/cardsfolder/k/komas_faithful.txt diff --git a/forge-gui/res/cardsfolder/k/krovikan_vampire.txt b/forge-gui/res/cardsfolder/k/krovikan_vampire.txt index de9fd12c992..3b683d2723a 100644 --- a/forge-gui/res/cardsfolder/k/krovikan_vampire.txt +++ b/forge-gui/res/cardsfolder/k/krovikan_vampire.txt @@ -9,7 +9,7 @@ SVar:LoseTrack:DB$ Pump | ForgetObjects$ TriggeredCard T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True T:Mode$ TurnBegin | Execute$ DBCleanup | Static$ True T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | IsPresent$ Card.Self | Execute$ TrigChange | TriggerDescription$ At the beginning of each end step, if a creature dealt damage by CARDNAME this turn died, put that card onto the battlefield under your control. Sacrifice it when you lose control of CARDNAME. -SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEntered_Graveyard_from_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay +SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay SVar:TrigDelay:DB$ DelayedTrigger | Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | RememberObjects$ Remembered | Execute$ TrigSac | Secondary$ True | SubAbility$ DBCleanup | SpellDescription$ Sacrifice it when you lose control of CARDNAME. SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/l/lavaball_trap.txt b/forge-gui/res/cardsfolder/l/lavaball_trap.txt index fe68ee7f3f5..ae85148cc83 100644 --- a/forge-gui/res/cardsfolder/l/lavaball_trap.txt +++ b/forge-gui/res/cardsfolder/l/lavaball_trap.txt @@ -4,5 +4,5 @@ Types:Instant Trap SVar:AltCost:Cost$ 3 R R | CheckSVar$ LandsEntered | SVarCompare$ GE2 | References$ LandsEntered | Description$ If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 6 R R | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select two target lands | SubAbility$ DBDamageAll | SpellDescription$ Destroy two target lands. CARDNAME deals 4 damage to each creature. SVar:DBDamageAll:DB$ DamageAll | ValidCards$ Creature | NumDmg$ 4 | ValidDescription$ each creature. -SVar:LandsEntered:PlayerCountOpponents$HighestValid Card.ThisTurnEntered_Battlefield_Land.YouCtrl +SVar:LandsEntered:PlayerCountOpponents$HighestValid Land.YouCtrl+ThisTurnEntered Oracle:If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost.\nDestroy two target lands. Lavaball Trap deals 4 damage to each creature. diff --git a/forge-gui/res/cardsfolder/upcoming/littjara_glade_warden.txt b/forge-gui/res/cardsfolder/l/littjara_glade_warden.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/littjara_glade_warden.txt rename to forge-gui/res/cardsfolder/l/littjara_glade_warden.txt diff --git a/forge-gui/res/cardsfolder/upcoming/littjara_kinseekers.txt b/forge-gui/res/cardsfolder/l/littjara_kinseekers.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/littjara_kinseekers.txt rename to forge-gui/res/cardsfolder/l/littjara_kinseekers.txt diff --git a/forge-gui/res/cardsfolder/upcoming/littjara_mirrorlake.txt b/forge-gui/res/cardsfolder/l/littjara_mirrorlake.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/littjara_mirrorlake.txt rename to forge-gui/res/cardsfolder/l/littjara_mirrorlake.txt diff --git a/forge-gui/res/cardsfolder/upcoming/magda_brazen_outlaw.txt b/forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/magda_brazen_outlaw.txt rename to forge-gui/res/cardsfolder/m/magda_brazen_outlaw.txt diff --git a/forge-gui/res/cardsfolder/m/magus_of_the_mind.txt b/forge-gui/res/cardsfolder/m/magus_of_the_mind.txt index 9954c0791cc..19d358c2d68 100644 --- a/forge-gui/res/cardsfolder/m/magus_of_the_mind.txt +++ b/forge-gui/res/cardsfolder/m/magus_of_the_mind.txt @@ -4,7 +4,7 @@ Types:Creature Human Wizard PT:4/5 A:AB$ Shuffle | Cost$ U T Sac<1/CARDNAME> | SubAbility$ DBExile | SpellDescription$ Shuffle your library, then exile the top X cards, where X is one plus the number of spells cast this turn. Until end of turn, you may play cards exiled this way without paying their mana costs. SVar:DBExile:DB$ Dig | Defined$ You | DestinationZone$ Exile | DigNum$ X | ChangeNum$ All | References$ X | RememberChanged$ True | SubAbility$ DBEffect -SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ Play | References$ Play | SubAbility$ DBCleanup +SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | StaticAbilities$ Play | References$ Play | SubAbility$ DBCleanup | ForgetOnMoved$ Exile SVar:Play:Mode$ Continuous | MayPlay$ True | MayPlayWithoutManaCost$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play remembered card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$ThisTurnCast_Card/Plus.1 diff --git a/forge-gui/res/cardsfolder/upcoming/maja_bretagard_protector.txt b/forge-gui/res/cardsfolder/m/maja_bretagard_protector.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/maja_bretagard_protector.txt rename to forge-gui/res/cardsfolder/m/maja_bretagard_protector.txt diff --git a/forge-gui/res/cardsfolder/upcoming/mammoth_growth.txt b/forge-gui/res/cardsfolder/m/mammoth_growth.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/mammoth_growth.txt rename to forge-gui/res/cardsfolder/m/mammoth_growth.txt diff --git a/forge-gui/res/cardsfolder/upcoming/masked_vandal.txt b/forge-gui/res/cardsfolder/m/masked_vandal.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/masked_vandal.txt rename to forge-gui/res/cardsfolder/m/masked_vandal.txt diff --git a/forge-gui/res/cardsfolder/upcoming/maskwood_nexus.txt b/forge-gui/res/cardsfolder/m/maskwood_nexus.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/maskwood_nexus.txt rename to forge-gui/res/cardsfolder/m/maskwood_nexus.txt diff --git a/forge-gui/res/cardsfolder/upcoming/master_skald.txt b/forge-gui/res/cardsfolder/m/master_skald.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/master_skald.txt rename to forge-gui/res/cardsfolder/m/master_skald.txt diff --git a/forge-gui/res/cardsfolder/upcoming/mists_of_littjara.txt b/forge-gui/res/cardsfolder/m/mists_of_littjara.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/mists_of_littjara.txt rename to forge-gui/res/cardsfolder/m/mists_of_littjara.txt diff --git a/forge-gui/res/cardsfolder/upcoming/mistwalker.txt b/forge-gui/res/cardsfolder/m/mistwalker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/mistwalker.txt rename to forge-gui/res/cardsfolder/m/mistwalker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/moritte_of_the_frost.txt b/forge-gui/res/cardsfolder/m/moritte_of_the_frost.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/moritte_of_the_frost.txt rename to forge-gui/res/cardsfolder/m/moritte_of_the_frost.txt diff --git a/forge-gui/res/cardsfolder/upcoming/mystic_reflection.txt b/forge-gui/res/cardsfolder/m/mystic_reflection.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/mystic_reflection.txt rename to forge-gui/res/cardsfolder/m/mystic_reflection.txt diff --git a/forge-gui/res/cardsfolder/upcoming/narfi_betrayer_king.txt b/forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/narfi_betrayer_king.txt rename to forge-gui/res/cardsfolder/n/narfi_betrayer_king.txt diff --git a/forge-gui/res/cardsfolder/upcoming/niko_aris.txt b/forge-gui/res/cardsfolder/n/niko_aris.txt similarity index 64% rename from forge-gui/res/cardsfolder/upcoming/niko_aris.txt rename to forge-gui/res/cardsfolder/n/niko_aris.txt index 7bcac88fedd..a267f66d1ae 100644 --- a/forge-gui/res/cardsfolder/upcoming/niko_aris.txt +++ b/forge-gui/res/cardsfolder/n/niko_aris.txt @@ -5,9 +5,9 @@ Loyalty:3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create X Shard tokens. (They're enchantments with "{2}, Sacrifice this enchantment: Scry 1, then draw a card.") SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ shard | TokenOwner$ You SVar:X:Count$xPaid -A:AB$ Pump | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Triggers$ Trig | sVars$ Eff | KW$ HIDDEN Unblockable | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. -SVar:Trig:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Card.Self | Execute$ Eff | TriggerDescription$ Whenever this creature deals damage to an opponent, return it to its owner's hand. -SVar:Eff:DB$ ChangeZone | ValidTgts$ Creature | TargetsWithDefinedController$ TriggeredTarget | TgtPrompt$ Select target creature that player controls. | Origin$ Battlefield | Destination$ Hand +A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Name$ Niko Aris Effect | Planeswalker$ True | Triggers$ Trig | SVars$ Eff | KW$ HIDDEN Unblockable | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberObjects$ Targeted | SpellDescription$ Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. +SVar:Trig:Mode$ DamageDealtOnce | ValidSource$ Creature.IsRemembered | Execute$ Eff | TriggerDescription$ Whenever this creature deals damage this turn, return it to its owner's hand. +SVar:Eff:DB$ ChangeZone | ValidTgts$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Hand A:AB$ DealDamage | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.tapped | NumDmg$ Y | References$ Y | TgtPrompt$ Select target tapped creature | SpellDescription$ CARDNAME deals 2 damage to target tapped creature for each card you've drawn this turn. SVar:Y:Count$YouDrewThisTurn/Twice A:AB$ Token | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ shard | TokenOwner$ You | SpellDescription$ Create a Shard token. diff --git a/forge-gui/res/cardsfolder/upcoming/niko_defies_destiny.txt b/forge-gui/res/cardsfolder/n/niko_defies_destiny.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/niko_defies_destiny.txt rename to forge-gui/res/cardsfolder/n/niko_defies_destiny.txt diff --git a/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt b/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt index 3099d16ca76..9fc2dae7efe 100644 --- a/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt +++ b/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt @@ -1,6 +1,5 @@ Name:No Rest for the Wicked ManaCost:1 B Types:Enchantment -A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Creature+YouCtrl | SpellDescription$ Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/no_rest_for_the_wicked.jpg +A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. Oracle:Sacrifice No Rest for the Wicked: Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/old_growth_troll.txt b/forge-gui/res/cardsfolder/o/old_growth_troll.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/old_growth_troll.txt rename to forge-gui/res/cardsfolder/o/old_growth_troll.txt diff --git a/forge-gui/res/cardsfolder/upcoming/open_the_omenpaths.txt b/forge-gui/res/cardsfolder/o/open_the_omenpaths.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/open_the_omenpaths.txt rename to forge-gui/res/cardsfolder/o/open_the_omenpaths.txt diff --git a/forge-gui/res/cardsfolder/upcoming/orvar_the_all_form.txt b/forge-gui/res/cardsfolder/o/orvar_the_all_form.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/orvar_the_all_form.txt rename to forge-gui/res/cardsfolder/o/orvar_the_all_form.txt diff --git a/forge-gui/res/cardsfolder/p/parallax_wave.txt b/forge-gui/res/cardsfolder/p/parallax_wave.txt index afe19bab11e..eb087bdc4b1 100644 --- a/forge-gui/res/cardsfolder/p/parallax_wave.txt +++ b/forge-gui/res/cardsfolder/p/parallax_wave.txt @@ -2,10 +2,10 @@ Name:Parallax Wave ManaCost:2 W W Types:Enchantment K:Fading:5 -A:AB$ ChangeZone | Cost$ SubCounter<1/FADE> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | SpellDescription$ Exile target creature. +A:AB$ ChangeZone | Cost$ SubCounter<1/FADE> | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | Imprint$ True | SpellDescription$ Exile target creature. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, each player returns to the battlefield all cards they own exiled with CARDNAME. -SVar:TrigReturn:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered+ExiledWithSource | Origin$ Exile | Destination$ Battlefield | SubAbility$ DBCleanup -SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True +SVar:TrigReturn:DB$ ChangeZone | Defined$ Imprinted | Origin$ Exile | Destination$ Battlefield | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True SVar:PlayMain1:TRUE AI:RemoveDeck:All SVar:Picture:http://www.wizards.com/global/images/magic/general/parallax_wave.jpg diff --git a/forge-gui/res/cardsfolder/upcoming/path_to_the_world_tree.txt b/forge-gui/res/cardsfolder/p/path_to_the_world_tree.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/path_to_the_world_tree.txt rename to forge-gui/res/cardsfolder/p/path_to_the_world_tree.txt diff --git a/forge-gui/res/cardsfolder/upcoming/pilfering_hawk.txt b/forge-gui/res/cardsfolder/p/pilfering_hawk.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/pilfering_hawk.txt rename to forge-gui/res/cardsfolder/p/pilfering_hawk.txt diff --git a/forge-gui/res/cardsfolder/upcoming/poison_the_cup.txt b/forge-gui/res/cardsfolder/p/poison_the_cup.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/poison_the_cup.txt rename to forge-gui/res/cardsfolder/p/poison_the_cup.txt diff --git a/forge-gui/res/cardsfolder/upcoming/port_of_karfell.txt b/forge-gui/res/cardsfolder/p/port_of_karfell.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/port_of_karfell.txt rename to forge-gui/res/cardsfolder/p/port_of_karfell.txt diff --git a/forge-gui/res/cardsfolder/upcoming/priest_of_the_haunted_edge.txt b/forge-gui/res/cardsfolder/p/priest_of_the_haunted_edge.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/priest_of_the_haunted_edge.txt rename to forge-gui/res/cardsfolder/p/priest_of_the_haunted_edge.txt diff --git a/forge-gui/res/cardsfolder/upcoming/provoke_the_trolls.txt b/forge-gui/res/cardsfolder/p/provoke_the_trolls.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/provoke_the_trolls.txt rename to forge-gui/res/cardsfolder/p/provoke_the_trolls.txt diff --git a/forge-gui/res/cardsfolder/upcoming/pyre_of_heroes.txt b/forge-gui/res/cardsfolder/p/pyre_of_heroes.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/pyre_of_heroes.txt rename to forge-gui/res/cardsfolder/p/pyre_of_heroes.txt diff --git a/forge-gui/res/cardsfolder/upcoming/quakebringer.txt b/forge-gui/res/cardsfolder/q/quakebringer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/quakebringer.txt rename to forge-gui/res/cardsfolder/q/quakebringer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/raiders_karve.txt b/forge-gui/res/cardsfolder/r/raiders_karve.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/raiders_karve.txt rename to forge-gui/res/cardsfolder/r/raiders_karve.txt diff --git a/forge-gui/res/cardsfolder/upcoming/raise_the_draugr.txt b/forge-gui/res/cardsfolder/r/raise_the_draugr.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/raise_the_draugr.txt rename to forge-gui/res/cardsfolder/r/raise_the_draugr.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rally_the_ranks.txt b/forge-gui/res/cardsfolder/r/rally_the_ranks.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rally_the_ranks.txt rename to forge-gui/res/cardsfolder/r/rally_the_ranks.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rampage_of_the_valkyries.txt b/forge-gui/res/cardsfolder/r/rampage_of_the_valkyries.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rampage_of_the_valkyries.txt rename to forge-gui/res/cardsfolder/r/rampage_of_the_valkyries.txt diff --git a/forge-gui/res/cardsfolder/upcoming/raven_wings.txt b/forge-gui/res/cardsfolder/r/raven_wings.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/raven_wings.txt rename to forge-gui/res/cardsfolder/r/raven_wings.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ravenform.txt b/forge-gui/res/cardsfolder/r/ravenform.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ravenform.txt rename to forge-gui/res/cardsfolder/r/ravenform.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ravenous_lindwurm.txt b/forge-gui/res/cardsfolder/r/ravenous_lindwurm.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ravenous_lindwurm.txt rename to forge-gui/res/cardsfolder/r/ravenous_lindwurm.txt diff --git a/forge-gui/res/cardsfolder/upcoming/realmwalker.txt b/forge-gui/res/cardsfolder/r/realmwalker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/realmwalker.txt rename to forge-gui/res/cardsfolder/r/realmwalker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/reckless_crew.txt b/forge-gui/res/cardsfolder/r/reckless_crew.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/reckless_crew.txt rename to forge-gui/res/cardsfolder/r/reckless_crew.txt diff --git a/forge-gui/res/cardsfolder/upcoming/reflections_of_littjara.txt b/forge-gui/res/cardsfolder/r/reflections_of_littjara.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/reflections_of_littjara.txt rename to forge-gui/res/cardsfolder/r/reflections_of_littjara.txt diff --git a/forge-gui/res/cardsfolder/upcoming/reidane_god_of_the_worthy_valkmira_protectors_shield.txt b/forge-gui/res/cardsfolder/r/reidane_god_of_the_worthy_valkmira_protectors_shield.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/reidane_god_of_the_worthy_valkmira_protectors_shield.txt rename to forge-gui/res/cardsfolder/r/reidane_god_of_the_worthy_valkmira_protectors_shield.txt diff --git a/forge-gui/res/cardsfolder/upcoming/renegade_reaper.txt b/forge-gui/res/cardsfolder/r/renegade_reaper.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/renegade_reaper.txt rename to forge-gui/res/cardsfolder/r/renegade_reaper.txt diff --git a/forge-gui/res/cardsfolder/upcoming/replicating_ring.txt b/forge-gui/res/cardsfolder/r/replicating_ring.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/replicating_ring.txt rename to forge-gui/res/cardsfolder/r/replicating_ring.txt diff --git a/forge-gui/res/cardsfolder/upcoming/resplendent_marshal.txt b/forge-gui/res/cardsfolder/r/resplendent_marshal.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/resplendent_marshal.txt rename to forge-gui/res/cardsfolder/r/resplendent_marshal.txt diff --git a/forge-gui/res/cardsfolder/upcoming/return_upon_the_tide.txt b/forge-gui/res/cardsfolder/r/return_upon_the_tide.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/return_upon_the_tide.txt rename to forge-gui/res/cardsfolder/r/return_upon_the_tide.txt diff --git a/forge-gui/res/cardsfolder/upcoming/righteous_valkyrie.txt b/forge-gui/res/cardsfolder/r/righteous_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/righteous_valkyrie.txt rename to forge-gui/res/cardsfolder/r/righteous_valkyrie.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rimewood_falls.txt b/forge-gui/res/cardsfolder/r/rimewood_falls.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rimewood_falls.txt rename to forge-gui/res/cardsfolder/r/rimewood_falls.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rise_of_the_dread_marn.txt b/forge-gui/res/cardsfolder/r/rise_of_the_dread_marn.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rise_of_the_dread_marn.txt rename to forge-gui/res/cardsfolder/r/rise_of_the_dread_marn.txt diff --git a/forge-gui/res/cardsfolder/r/rishkars_expertise.txt b/forge-gui/res/cardsfolder/r/rishkars_expertise.txt index b9f2d53b08c..e0a1599eb5b 100644 --- a/forge-gui/res/cardsfolder/r/rishkars_expertise.txt +++ b/forge-gui/res/cardsfolder/r/rishkars_expertise.txt @@ -1,8 +1,8 @@ Name:Rishkar's Expertise ManaCost:4 G G Types:Sorcery -A:SP$ Draw | Cost$ 4 G G | NumCards$ X | References$ X | SubAbility$ DBPlay | SpellDescription$ Draw cards equal to the greatest power among creatures you control. You may cast a card with converted mana cost 5 or less from your hand without paying its mana cost. +A:SP$ Draw | Cost$ 4 G G | NumCards$ X | References$ X | SubAbility$ DBPlay | SpellDescription$ Draw cards equal to the greatest power among creatures you control. You may cast a spell with converted mana cost 5 or less from your hand without paying its mana cost. SVar:X:Count$GreatestPower_Creature.YouCtrl -SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn+cmcLE5 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True +SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLE5 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/rishkars_expertise.jpg -Oracle:Draw cards equal to the greatest power among creatures you control.\nYou may cast a card with converted mana cost 5 or less from your hand without paying its mana cost. +Oracle:Draw cards equal to the greatest power among creatures you control.\nYou may cast a spell with converted mana cost 5 or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/rootless_yew.txt b/forge-gui/res/cardsfolder/r/rootless_yew.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rootless_yew.txt rename to forge-gui/res/cardsfolder/r/rootless_yew.txt diff --git a/forge-gui/res/cardsfolder/upcoming/roots_of_wisdom.txt b/forge-gui/res/cardsfolder/r/roots_of_wisdom.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/roots_of_wisdom.txt rename to forge-gui/res/cardsfolder/r/roots_of_wisdom.txt diff --git a/forge-gui/res/cardsfolder/upcoming/run_ashore.txt b/forge-gui/res/cardsfolder/r/run_ashore.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/run_ashore.txt rename to forge-gui/res/cardsfolder/r/run_ashore.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rune_of_flight.txt b/forge-gui/res/cardsfolder/r/rune_of_flight.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rune_of_flight.txt rename to forge-gui/res/cardsfolder/r/rune_of_flight.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rune_of_might.txt b/forge-gui/res/cardsfolder/r/rune_of_might.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rune_of_might.txt rename to forge-gui/res/cardsfolder/r/rune_of_might.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rune_of_mortality.txt b/forge-gui/res/cardsfolder/r/rune_of_mortality.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rune_of_mortality.txt rename to forge-gui/res/cardsfolder/r/rune_of_mortality.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rune_of_speed.txt b/forge-gui/res/cardsfolder/r/rune_of_speed.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rune_of_speed.txt rename to forge-gui/res/cardsfolder/r/rune_of_speed.txt diff --git a/forge-gui/res/cardsfolder/upcoming/rune_of_sustenance.txt b/forge-gui/res/cardsfolder/r/rune_of_sustenance.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/rune_of_sustenance.txt rename to forge-gui/res/cardsfolder/r/rune_of_sustenance.txt diff --git a/forge-gui/res/cardsfolder/upcoming/runed_crown.txt b/forge-gui/res/cardsfolder/r/runed_crown.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/runed_crown.txt rename to forge-gui/res/cardsfolder/r/runed_crown.txt diff --git a/forge-gui/res/cardsfolder/upcoming/runeforge_champion.txt b/forge-gui/res/cardsfolder/r/runeforge_champion.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/runeforge_champion.txt rename to forge-gui/res/cardsfolder/r/runeforge_champion.txt diff --git a/forge-gui/res/cardsfolder/upcoming/ruthless_winnower.txt b/forge-gui/res/cardsfolder/r/ruthless_winnower.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/ruthless_winnower.txt rename to forge-gui/res/cardsfolder/r/ruthless_winnower.txt diff --git a/forge-gui/res/cardsfolder/upcoming/sage_of_the_beyond.txt b/forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sage_of_the_beyond.txt rename to forge-gui/res/cardsfolder/s/sage_of_the_beyond.txt diff --git a/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt b/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt index c571310cc54..580cc255061 100644 --- a/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt +++ b/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt @@ -2,6 +2,6 @@ Name:Salvager of Ruin ManaCost:3 Types:Artifact Creature Construct PT:2/1 -A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Permanent.YouOwn+ThisTurnEntered_Graveyard_from_Battlefield | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target permanent card in your graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. +A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target permanent card in your graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. AI:RemoveDeck:Random Oracle:Sacrifice Salvager of Ruin: Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. diff --git a/forge-gui/res/cardsfolder/upcoming/sarulf_realm_eater.txt b/forge-gui/res/cardsfolder/s/sarulf_realm_eater.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sarulf_realm_eater.txt rename to forge-gui/res/cardsfolder/s/sarulf_realm_eater.txt diff --git a/forge-gui/res/cardsfolder/upcoming/sarulfs_packmate.txt b/forge-gui/res/cardsfolder/s/sarulfs_packmate.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sarulfs_packmate.txt rename to forge-gui/res/cardsfolder/s/sarulfs_packmate.txt diff --git a/forge-gui/res/cardsfolder/upcoming/saw_it_coming.txt b/forge-gui/res/cardsfolder/s/saw_it_coming.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/saw_it_coming.txt rename to forge-gui/res/cardsfolder/s/saw_it_coming.txt diff --git a/forge-gui/res/cardsfolder/upcoming/scorn_effigy.txt b/forge-gui/res/cardsfolder/s/scorn_effigy.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/scorn_effigy.txt rename to forge-gui/res/cardsfolder/s/scorn_effigy.txt diff --git a/forge-gui/res/cardsfolder/upcoming/sculptor_of_winter.txt b/forge-gui/res/cardsfolder/s/sculptor_of_winter.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sculptor_of_winter.txt rename to forge-gui/res/cardsfolder/s/sculptor_of_winter.txt diff --git a/forge-gui/res/cardsfolder/upcoming/search_for_glory.txt b/forge-gui/res/cardsfolder/s/search_for_glory.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/search_for_glory.txt rename to forge-gui/res/cardsfolder/s/search_for_glory.txt diff --git a/forge-gui/res/cardsfolder/s/second_sunrise.txt b/forge-gui/res/cardsfolder/s/second_sunrise.txt index 0f01fc4d791..20a3a92b110 100644 --- a/forge-gui/res/cardsfolder/s/second_sunrise.txt +++ b/forge-gui/res/cardsfolder/s/second_sunrise.txt @@ -1,6 +1,5 @@ Name:Second Sunrise ManaCost:1 W W Types:Instant -A:SP$ChangeZone | Cost$ 1 W W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Artifact,Card.Creature,Card.Enchantment,Card.Land | SpellDescription$ Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/second_sunrise.jpg +A:SP$ChangeZone | Cost$ 1 W W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Artifact,Creature,Enchantment,Land.ThisTurnEnteredFrom_Battlefield | SpellDescription$ Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. Oracle:Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/seize_the_spoils.txt b/forge-gui/res/cardsfolder/s/seize_the_spoils.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/seize_the_spoils.txt rename to forge-gui/res/cardsfolder/s/seize_the_spoils.txt diff --git a/forge-gui/res/cardsfolder/upcoming/shackles_of_treachery.txt b/forge-gui/res/cardsfolder/s/shackles_of_treachery.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/shackles_of_treachery.txt rename to forge-gui/res/cardsfolder/s/shackles_of_treachery.txt diff --git a/forge-gui/res/cardsfolder/upcoming/shepherd_of_the_cosmos.txt b/forge-gui/res/cardsfolder/s/shepherd_of_the_cosmos.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/shepherd_of_the_cosmos.txt rename to forge-gui/res/cardsfolder/s/shepherd_of_the_cosmos.txt diff --git a/forge-gui/res/cardsfolder/upcoming/shimmerdrift_vale.txt b/forge-gui/res/cardsfolder/s/shimmerdrift_vale.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/shimmerdrift_vale.txt rename to forge-gui/res/cardsfolder/s/shimmerdrift_vale.txt diff --git a/forge-gui/res/cardsfolder/upcoming/showdown_of_the_skalds.txt b/forge-gui/res/cardsfolder/s/showdown_of_the_skalds.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/showdown_of_the_skalds.txt rename to forge-gui/res/cardsfolder/s/showdown_of_the_skalds.txt diff --git a/forge-gui/res/cardsfolder/upcoming/sigrid_god_favored.txt b/forge-gui/res/cardsfolder/s/sigrid_god_favored.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sigrid_god_favored.txt rename to forge-gui/res/cardsfolder/s/sigrid_god_favored.txt diff --git a/forge-gui/res/cardsfolder/upcoming/skemfar_avenger.txt b/forge-gui/res/cardsfolder/s/skemfar_avenger.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/skemfar_avenger.txt rename to forge-gui/res/cardsfolder/s/skemfar_avenger.txt diff --git a/forge-gui/res/cardsfolder/upcoming/skemfar_elderhall.txt b/forge-gui/res/cardsfolder/s/skemfar_elderhall.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/skemfar_elderhall.txt rename to forge-gui/res/cardsfolder/s/skemfar_elderhall.txt diff --git a/forge-gui/res/cardsfolder/upcoming/skemfar_shadowsage.txt b/forge-gui/res/cardsfolder/s/skemfar_shadowsage.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/skemfar_shadowsage.txt rename to forge-gui/res/cardsfolder/s/skemfar_shadowsage.txt diff --git a/forge-gui/res/cardsfolder/upcoming/skull_raid.txt b/forge-gui/res/cardsfolder/s/skull_raid.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/skull_raid.txt rename to forge-gui/res/cardsfolder/s/skull_raid.txt diff --git a/forge-gui/res/cardsfolder/upcoming/smashing_sucess.txt b/forge-gui/res/cardsfolder/s/smashing_sucess.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/smashing_sucess.txt rename to forge-gui/res/cardsfolder/s/smashing_sucess.txt diff --git a/forge-gui/res/cardsfolder/upcoming/snakeskin_veil.txt b/forge-gui/res/cardsfolder/s/snakeskin_veil.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/snakeskin_veil.txt rename to forge-gui/res/cardsfolder/s/snakeskin_veil.txt diff --git a/forge-gui/res/cardsfolder/upcoming/snowfield_sinkhole.txt b/forge-gui/res/cardsfolder/s/snowfield_sinkhole.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/snowfield_sinkhole.txt rename to forge-gui/res/cardsfolder/s/snowfield_sinkhole.txt diff --git a/forge-gui/res/cardsfolder/upcoming/spectral_deluge.txt b/forge-gui/res/cardsfolder/s/spectral_deluge.txt similarity index 83% rename from forge-gui/res/cardsfolder/upcoming/spectral_deluge.txt rename to forge-gui/res/cardsfolder/s/spectral_deluge.txt index ed997f3a545..6c9314c819b 100644 --- a/forge-gui/res/cardsfolder/upcoming/spectral_deluge.txt +++ b/forge-gui/res/cardsfolder/s/spectral_deluge.txt @@ -1,7 +1,7 @@ Name:Spectral Deluge -ManaCost:2 U U +ManaCost:4 U U Types:Sorcery -A:SP$ ChangeZoneAll | Cost$ 2 U U | ChangeType$ Creature.toughnessLEX+OppCtrl | Origin$ Battlefield | Destination$ Hand | References$ X | TriggerDescription$ Return each creature your opponents control with toughness X or less to its owner’s hand, where X is the number of Islands you control. +A:SP$ ChangeZoneAll | Cost$ 4 U U | ChangeType$ Creature.toughnessLEX+OppCtrl | Origin$ Battlefield | Destination$ Hand | References$ X | TriggerDescription$ Return each creature your opponents control with toughness X or less to its owner’s hand, where X is the number of Islands you control. SVar:X:Count$Valid Island.YouCtrl K:Foretell:1 U U -Oracle:Return each creature your opponents control with toughness X or less to its owner’s hand, where X is the number of Islands you control.\nForetell {1}{U}{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.) \ No newline at end of file +Oracle:Return each creature your opponents control with toughness X or less to its owner’s hand, where X is the number of Islands you control.\nForetell {1}{U}{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/upcoming/spectral_steel.txt b/forge-gui/res/cardsfolder/s/spectral_steel.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/spectral_steel.txt rename to forge-gui/res/cardsfolder/s/spectral_steel.txt diff --git a/forge-gui/res/cardsfolder/upcoming/spirit_of_the_aldergard.txt b/forge-gui/res/cardsfolder/s/spirit_of_the_aldergard.txt similarity index 95% rename from forge-gui/res/cardsfolder/upcoming/spirit_of_the_aldergard.txt rename to forge-gui/res/cardsfolder/s/spirit_of_the_aldergard.txt index f14b12d8577..8123194d9b3 100644 --- a/forge-gui/res/cardsfolder/upcoming/spirit_of_the_aldergard.txt +++ b/forge-gui/res/cardsfolder/s/spirit_of_the_aldergard.txt @@ -5,7 +5,7 @@ PT:0/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigChange | TriggerDescription$ When CARDNAME enters the battlefield, search your library for a snow land card, reveal it, put it into your hand, then shuffle your library. SVar:TrigChange:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Land.Snow | ChangeNum$ 1 | ShuffleNonMandatory$ True S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | Description$ CARDNAME gets +1/+0 for each other snow permanent you control. -SVar:X:Count$Valid Permanent.Snow+YouCtrl +SVar:X:Count$Valid Permanent.Snow+Other+YouCtrl SVar:BuffedBy:Permanent.Snow DeckNeeds:Type$Snow Oracle:When Spirit of the Aldergard enters the battlefield, search your library for a snow land card, reveal it, put it into your hand, then shuffle your library.\nSpirit of the Aldergard gets +1/+0 for each other snow permanent you control. diff --git a/forge-gui/res/cardsfolder/upcoming/squash.txt b/forge-gui/res/cardsfolder/s/squash.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/squash.txt rename to forge-gui/res/cardsfolder/s/squash.txt diff --git a/forge-gui/res/cardsfolder/s/srams_expertise.txt b/forge-gui/res/cardsfolder/s/srams_expertise.txt index 1e4e4043f37..e22dc46ee7e 100644 --- a/forge-gui/res/cardsfolder/s/srams_expertise.txt +++ b/forge-gui/res/cardsfolder/s/srams_expertise.txt @@ -1,7 +1,7 @@ Name:Sram's Expertise ManaCost:2 W W Types:Sorcery -A:SP$ Token | Cost$ 2 W W | TokenAmount$ 3 | TokenScript$ c_1_1_a_servo | TokenOwner$ You | LegacyImage$ c 1 1 a servo aer | SubAbility$ DBPlay | SpellDescription$ Create three 1/1 colorless Servo artifact creature tokens. You may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. -SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn+cmcLE3 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True +A:SP$ Token | Cost$ 2 W W | TokenAmount$ 3 | TokenScript$ c_1_1_a_servo | TokenOwner$ You | LegacyImage$ c 1 1 a servo aer | SubAbility$ DBPlay | SpellDescription$ Create three 1/1 colorless Servo artifact creature tokens. You may cast a spell with converted mana cost 3 or less from your hand without paying its mana cost. +SVar:DBPlay:DB$ Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLE3 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/srams_expertise.jpg -Oracle:Create three 1/1 colorless Servo artifact creature tokens.\nYou may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. +Oracle:Create three 1/1 colorless Servo artifact creature tokens.\nYou may cast a spell with converted mana cost 3 or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/stalwart_valkyrie.txt b/forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/stalwart_valkyrie.txt rename to forge-gui/res/cardsfolder/s/stalwart_valkyrie.txt diff --git a/forge-gui/res/cardsfolder/upcoming/starnheim_aspirant.txt b/forge-gui/res/cardsfolder/s/starnheim_aspirant.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/starnheim_aspirant.txt rename to forge-gui/res/cardsfolder/s/starnheim_aspirant.txt diff --git a/forge-gui/res/cardsfolder/upcoming/starnheim_courser.txt b/forge-gui/res/cardsfolder/s/starnheim_courser.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/starnheim_courser.txt rename to forge-gui/res/cardsfolder/s/starnheim_courser.txt diff --git a/forge-gui/res/cardsfolder/upcoming/starnheim_unleashed.txt b/forge-gui/res/cardsfolder/s/starnheim_unleashed.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/starnheim_unleashed.txt rename to forge-gui/res/cardsfolder/s/starnheim_unleashed.txt diff --git a/forge-gui/res/cardsfolder/upcoming/stoic_farmer.txt b/forge-gui/res/cardsfolder/s/stoic_farmer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/stoic_farmer.txt rename to forge-gui/res/cardsfolder/s/stoic_farmer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/story_seeker.txt b/forge-gui/res/cardsfolder/s/story_seeker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/story_seeker.txt rename to forge-gui/res/cardsfolder/s/story_seeker.txt diff --git a/forge-gui/res/cardsfolder/upcoming/struggle_for_skemfar.txt b/forge-gui/res/cardsfolder/s/struggle_for_skemfar.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/struggle_for_skemfar.txt rename to forge-gui/res/cardsfolder/s/struggle_for_skemfar.txt diff --git a/forge-gui/res/cardsfolder/upcoming/sulfurous_mire.txt b/forge-gui/res/cardsfolder/s/sulfurous_mire.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/sulfurous_mire.txt rename to forge-gui/res/cardsfolder/s/sulfurous_mire.txt diff --git a/forge-gui/res/cardsfolder/upcoming/surtland_elementalist.txt b/forge-gui/res/cardsfolder/s/surtland_elementalist.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/surtland_elementalist.txt rename to forge-gui/res/cardsfolder/s/surtland_elementalist.txt diff --git a/forge-gui/res/cardsfolder/upcoming/surtland_flinger.txt b/forge-gui/res/cardsfolder/s/surtland_flinger.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/surtland_flinger.txt rename to forge-gui/res/cardsfolder/s/surtland_flinger.txt diff --git a/forge-gui/res/cardsfolder/upcoming/surtland_frostpyre.txt b/forge-gui/res/cardsfolder/s/surtland_frostpyre.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/surtland_frostpyre.txt rename to forge-gui/res/cardsfolder/s/surtland_frostpyre.txt diff --git a/forge-gui/res/cardsfolder/upcoming/svella_ice_shaper.txt b/forge-gui/res/cardsfolder/s/svella_ice_shaper.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/svella_ice_shaper.txt rename to forge-gui/res/cardsfolder/s/svella_ice_shaper.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tales_of_the_ancestors.txt b/forge-gui/res/cardsfolder/t/tales_of_the_ancestors.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tales_of_the_ancestors.txt rename to forge-gui/res/cardsfolder/t/tales_of_the_ancestors.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tayam_luminous_enigma.txt b/forge-gui/res/cardsfolder/t/tayam_luminous_enigma.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tayam_luminous_enigma.txt rename to forge-gui/res/cardsfolder/t/tayam_luminous_enigma.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tergrid_god_of_fear_tergrids_lantern.txt b/forge-gui/res/cardsfolder/t/tergrid_god_of_fear_tergrids_lantern.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tergrid_god_of_fear_tergrids_lantern.txt rename to forge-gui/res/cardsfolder/t/tergrid_god_of_fear_tergrids_lantern.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tergrids_shadow.txt b/forge-gui/res/cardsfolder/t/tergrids_shadow.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tergrids_shadow.txt rename to forge-gui/res/cardsfolder/t/tergrids_shadow.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_bears_of_littjara.txt b/forge-gui/res/cardsfolder/t/the_bears_of_littjara.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/the_bears_of_littjara.txt rename to forge-gui/res/cardsfolder/t/the_bears_of_littjara.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_bloodsky_massacre.txt b/forge-gui/res/cardsfolder/t/the_bloodsky_massacre.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/the_bloodsky_massacre.txt rename to forge-gui/res/cardsfolder/t/the_bloodsky_massacre.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_ravens_warning.txt b/forge-gui/res/cardsfolder/t/the_ravens_warning.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/the_ravens_warning.txt rename to forge-gui/res/cardsfolder/t/the_ravens_warning.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_three_seasons.txt b/forge-gui/res/cardsfolder/t/the_three_seasons.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/the_three_seasons.txt rename to forge-gui/res/cardsfolder/t/the_three_seasons.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_trickster_gods_heist.txt b/forge-gui/res/cardsfolder/t/the_trickster_gods_heist.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/the_trickster_gods_heist.txt rename to forge-gui/res/cardsfolder/t/the_trickster_gods_heist.txt diff --git a/forge-gui/res/cardsfolder/upcoming/the_world_tree.txt b/forge-gui/res/cardsfolder/t/the_world_tree.txt similarity index 71% rename from forge-gui/res/cardsfolder/upcoming/the_world_tree.txt rename to forge-gui/res/cardsfolder/t/the_world_tree.txt index 776c5eec81d..11fe01cb1c0 100644 --- a/forge-gui/res/cardsfolder/upcoming/the_world_tree.txt +++ b/forge-gui/res/cardsfolder/t/the_world_tree.txt @@ -5,7 +5,7 @@ K:CARDNAME enters the battlefield tapped. A:AB$ Mana | Cost$ T | Produced$ G | SpellDescription$ Add {G}. S:Mode$ Continuous | Affected$ Land | AddAbility$ AnyMana | IsPresent$ Land.YouCtrl | PresentCompare$ GE6 | Description$ 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. -A:AB$ ChangeZone | Cost$ W W U U B B R R G G Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ God | ChangeNum$ XFetch | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of God cards, put them onto the battlefield, then shuffle your library. +A:AB$ ChangeZone | Cost$ W W U U B B R R G G T Sac<1/CARDNAME> | Origin$ Library | Destination$ Battlefield | ChangeType$ God | ChangeNum$ XFetch | StackDescription$ SpellDescription | References$ XFetch | SpellDescription$ Search your library for any number of God cards, put them onto the battlefield, then shuffle your library. SVar:XFetch:Count$TypeInYourLibrary.God DeckHints:Type$God Oracle:The World Tree enters the battlefield tapped.\n{T}:Add {G}.\nAs long as you control six or more lands, lands you control have "{T}:Add one mana of any color."\n{W}{W}{U}{U}{B}{B}{R}{R}{G}{G},{T}, Sacrifice The World Tree: Search your library for any number of God cards, put them onto the battlefield, then shuffle your library. diff --git a/forge-gui/res/cardsfolder/upcoming/thornmantle_striker.txt b/forge-gui/res/cardsfolder/t/thornmantle_striker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/thornmantle_striker.txt rename to forge-gui/res/cardsfolder/t/thornmantle_striker.txt diff --git a/forge-gui/res/cardsfolder/t/thrilling_encore.txt b/forge-gui/res/cardsfolder/t/thrilling_encore.txt index 80560927db9..d3d1b9ac9f2 100644 --- a/forge-gui/res/cardsfolder/t/thrilling_encore.txt +++ b/forge-gui/res/cardsfolder/t/thrilling_encore.txt @@ -1,5 +1,5 @@ Name:Thrilling Encore ManaCost:4 B Types:Instant -A:SP$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken | GainControl$ True | SpellDescription$ Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. +A:SP$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Creature.ThisTurnEnteredFrom_Battlefield | GainControl$ True | SpellDescription$ Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. Oracle:Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt b/forge-gui/res/cardsfolder/t/tibalts_trickery.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt rename to forge-gui/res/cardsfolder/t/tibalts_trickery.txt diff --git a/forge-gui/res/cardsfolder/upcoming/toralf_god_of_fury_toralfs_hammer.txt b/forge-gui/res/cardsfolder/t/toralf_god_of_fury_toralfs_hammer.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/toralf_god_of_fury_toralfs_hammer.txt rename to forge-gui/res/cardsfolder/t/toralf_god_of_fury_toralfs_hammer.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tormentors_helm.txt b/forge-gui/res/cardsfolder/t/tormentors_helm.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tormentors_helm.txt rename to forge-gui/res/cardsfolder/t/tormentors_helm.txt diff --git a/forge-gui/res/cardsfolder/upcoming/toski_bearer_of_secrets.txt b/forge-gui/res/cardsfolder/t/toski_bearer_of_secrets.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/toski_bearer_of_secrets.txt rename to forge-gui/res/cardsfolder/t/toski_bearer_of_secrets.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tundra_fumarole.txt b/forge-gui/res/cardsfolder/t/tundra_fumarole.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tundra_fumarole.txt rename to forge-gui/res/cardsfolder/t/tundra_fumarole.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tuskeri_firewalker.txt b/forge-gui/res/cardsfolder/t/tuskeri_firewalker.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tuskeri_firewalker.txt rename to forge-gui/res/cardsfolder/t/tuskeri_firewalker.txt diff --git a/forge-gui/res/cardsfolder/t/twilight_shepherd.txt b/forge-gui/res/cardsfolder/t/twilight_shepherd.txt index 25bed3fa4c0..a4db8b058ac 100644 --- a/forge-gui/res/cardsfolder/t/twilight_shepherd.txt +++ b/forge-gui/res/cardsfolder/t/twilight_shepherd.txt @@ -6,6 +6,5 @@ K:Flying K:Vigilance K:Persist T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return to your hand all cards in your graveyard that were put there from the battlefield this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.YouCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/twilight_shepherd.jpg +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Card.YouOwn+ThisTurnEnteredFrom_Battlefield Oracle:Flying, vigilance\nWhen Twilight Shepherd enters the battlefield, return to your hand all cards in your graveyard that were put there from the battlefield this turn.\nPersist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) diff --git a/forge-gui/res/cardsfolder/upcoming/tyrite_sanctum.txt b/forge-gui/res/cardsfolder/t/tyrite_sanctum.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tyrite_sanctum.txt rename to forge-gui/res/cardsfolder/t/tyrite_sanctum.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tyvar_kell.txt b/forge-gui/res/cardsfolder/t/tyvar_kell.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/tyvar_kell.txt rename to forge-gui/res/cardsfolder/t/tyvar_kell.txt diff --git a/forge-gui/res/cardsfolder/upcoming/undersea_invader.txt b/forge-gui/res/cardsfolder/u/undersea_invader.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/undersea_invader.txt rename to forge-gui/res/cardsfolder/u/undersea_invader.txt diff --git a/forge-gui/res/cardsfolder/upcoming/usher_of_the_fallen.txt b/forge-gui/res/cardsfolder/u/usher_of_the_fallen.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/usher_of_the_fallen.txt rename to forge-gui/res/cardsfolder/u/usher_of_the_fallen.txt diff --git a/forge-gui/res/cardsfolder/upcoming/strategic_planning.txt b/forge-gui/res/cardsfolder/upcoming/strategic_planning.txt deleted file mode 100644 index 994bef9b44e..00000000000 --- a/forge-gui/res/cardsfolder/upcoming/strategic_planning.txt +++ /dev/null @@ -1,6 +0,0 @@ -Name:Strategic Planning -ManaCost:1 U -Types:Sorcery -A:SP$ Dig | Cost$ 1 U | DigNum$ 3 | DestinationZone2$ Graveyard | SpellDescription$ Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. -AI:RemoveDeck:Random -Oracle:Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. diff --git a/forge-gui/res/cardsfolder/upcoming/valki_god_of_lies_tibalt_cosmic_impostor.txt b/forge-gui/res/cardsfolder/v/valki_god_of_lies_tibalt_cosmic_impostor.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/valki_god_of_lies_tibalt_cosmic_impostor.txt rename to forge-gui/res/cardsfolder/v/valki_god_of_lies_tibalt_cosmic_impostor.txt diff --git a/forge-gui/res/cardsfolder/upcoming/valkyrie_harbinger.txt b/forge-gui/res/cardsfolder/v/valkyrie_harbinger.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/valkyrie_harbinger.txt rename to forge-gui/res/cardsfolder/v/valkyrie_harbinger.txt diff --git a/forge-gui/res/cardsfolder/upcoming/valkyries_sword.txt b/forge-gui/res/cardsfolder/v/valkyries_sword.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/valkyries_sword.txt rename to forge-gui/res/cardsfolder/v/valkyries_sword.txt diff --git a/forge-gui/res/cardsfolder/upcoming/valor_of_the_worthy.txt b/forge-gui/res/cardsfolder/v/valor_of_the_worthy.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/valor_of_the_worthy.txt rename to forge-gui/res/cardsfolder/v/valor_of_the_worthy.txt diff --git a/forge-gui/res/cardsfolder/upcoming/varragoth_bloodsky_sire.txt b/forge-gui/res/cardsfolder/v/varragoth_bloodsky_sire.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/varragoth_bloodsky_sire.txt rename to forge-gui/res/cardsfolder/v/varragoth_bloodsky_sire.txt diff --git a/forge-gui/res/cardsfolder/upcoming/vault_robber.txt b/forge-gui/res/cardsfolder/v/vault_robber.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/vault_robber.txt rename to forge-gui/res/cardsfolder/v/vault_robber.txt diff --git a/forge-gui/res/cardsfolder/upcoming/vega_the_watcher.txt b/forge-gui/res/cardsfolder/v/vega_the_watcher.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/vega_the_watcher.txt rename to forge-gui/res/cardsfolder/v/vega_the_watcher.txt diff --git a/forge-gui/res/cardsfolder/upcoming/vengeful_reaper.txt b/forge-gui/res/cardsfolder/v/vengeful_reaper.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/vengeful_reaper.txt rename to forge-gui/res/cardsfolder/v/vengeful_reaper.txt diff --git a/forge-gui/res/cardsfolder/upcoming/volatile_fjord.txt b/forge-gui/res/cardsfolder/v/volatile_fjord.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/volatile_fjord.txt rename to forge-gui/res/cardsfolder/v/volatile_fjord.txt diff --git a/forge-gui/res/cardsfolder/upcoming/vorinclex_monstrous_raider.txt b/forge-gui/res/cardsfolder/v/vorinclex_monstrous_raider.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/vorinclex_monstrous_raider.txt rename to forge-gui/res/cardsfolder/v/vorinclex_monstrous_raider.txt diff --git a/forge-gui/res/cardsfolder/upcoming/waking_the_trolls.txt b/forge-gui/res/cardsfolder/w/waking_the_trolls.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/waking_the_trolls.txt rename to forge-gui/res/cardsfolder/w/waking_the_trolls.txt diff --git a/forge-gui/res/cardsfolder/upcoming/warchanter_skald.txt b/forge-gui/res/cardsfolder/w/warchanter_skald.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/warchanter_skald.txt rename to forge-gui/res/cardsfolder/w/warchanter_skald.txt diff --git a/forge-gui/res/cardsfolder/upcoming/warhorn_blast.txt b/forge-gui/res/cardsfolder/w/warhorn_blast.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/warhorn_blast.txt rename to forge-gui/res/cardsfolder/w/warhorn_blast.txt diff --git a/forge-gui/res/cardsfolder/upcoming/weathered_runestone.txt b/forge-gui/res/cardsfolder/w/weathered_runestone.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/weathered_runestone.txt rename to forge-gui/res/cardsfolder/w/weathered_runestone.txt diff --git a/forge-gui/res/cardsfolder/upcoming/weigh_down.txt b/forge-gui/res/cardsfolder/w/weigh_down.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/weigh_down.txt rename to forge-gui/res/cardsfolder/w/weigh_down.txt diff --git a/forge-gui/res/cardsfolder/upcoming/wings_of_the_cosmos.txt b/forge-gui/res/cardsfolder/w/wings_of_the_cosmos.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/wings_of_the_cosmos.txt rename to forge-gui/res/cardsfolder/w/wings_of_the_cosmos.txt diff --git a/forge-gui/res/cardsfolder/upcoming/withercrown.txt b/forge-gui/res/cardsfolder/w/withercrown.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/withercrown.txt rename to forge-gui/res/cardsfolder/w/withercrown.txt diff --git a/forge-gui/res/cardsfolder/upcoming/wolverine_riders.txt b/forge-gui/res/cardsfolder/w/wolverine_riders.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/wolverine_riders.txt rename to forge-gui/res/cardsfolder/w/wolverine_riders.txt diff --git a/forge-gui/res/cardsfolder/upcoming/woodland_chasm.txt b/forge-gui/res/cardsfolder/w/woodland_chasm.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/woodland_chasm.txt rename to forge-gui/res/cardsfolder/w/woodland_chasm.txt diff --git a/forge-gui/res/cardsfolder/y/yahennis_expertise.txt b/forge-gui/res/cardsfolder/y/yahennis_expertise.txt index 3e686e4d23f..a059feb3578 100644 --- a/forge-gui/res/cardsfolder/y/yahennis_expertise.txt +++ b/forge-gui/res/cardsfolder/y/yahennis_expertise.txt @@ -1,7 +1,7 @@ Name:Yahenni's Expertise ManaCost:2 B B Types:Sorcery -A:SP$ PumpAll | Cost$ 2 B B | ValidCards$ Creature | NumAtt$ -3 | NumDef$ -3 | IsCurse$ True | SubAbility$ DBPlay | SpellDescription$ All creatures get -3/-3 until end of turn. You may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. -SVar:DBPlay:DB$Play | Valid$ Card.nonLand+YouOwn+cmcLE3 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True +A:SP$ PumpAll | Cost$ 2 B B | ValidCards$ Creature | NumAtt$ -3 | NumDef$ -3 | IsCurse$ True | SubAbility$ DBPlay | SpellDescription$ All creatures get -3/-3 until end of turn. You may cast a spell with converted mana cost 3 or less from your hand without paying its mana cost. +SVar:DBPlay:DB$Play | Valid$ Card.nonLand+YouOwn | ValidSA$ Spell.cmcLE3 | ValidZone$ Hand | WithoutManaCost$ True | Amount$ 1 | Controller$ You | Optional$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/yahennis_expertise.jpg -Oracle:All creatures get -3/-3 until end of turn.\nYou may cast a card with converted mana cost 3 or less from your hand without paying its mana cost. +Oracle:All creatures get -3/-3 until end of turn.\nYou may cast a spell with converted mana cost 3 or less from your hand without paying its mana cost. diff --git a/forge-gui/res/cardsfolder/upcoming/youthful_valkyrie.txt b/forge-gui/res/cardsfolder/y/youthful_valkyrie.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/youthful_valkyrie.txt rename to forge-gui/res/cardsfolder/y/youthful_valkyrie.txt diff --git a/forge-gui/res/tokenscripts/shard.txt b/forge-gui/res/tokenscripts/shard.txt index be1c1e47990..14e9f257369 100644 --- a/forge-gui/res/tokenscripts/shard.txt +++ b/forge-gui/res/tokenscripts/shard.txt @@ -1,6 +1,6 @@ Name:Shard ManaCost:no cost Types:Enchantment -A:AB$ Scry | Cost$ Sac<2/CARDNAME> | CostDesc$ {2}, Sacrifice this enchantment: | ScryNum$ 1 | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Scry 1, then draw a card. +A:AB$ Scry | Cost$ 2 Sac<1/CARDNAME> | CostDesc$ {2}, Sacrifice this enchantment: | ScryNum$ 1 | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Scry 1, then draw a card. SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | StackDescription$ None Oracle:{2}, Sacrifice this enchantment: Scry 1, then draw a card. diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index c6372187989..866f8eb2a34 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -41,16 +41,30 @@ import forge.util.CardTranslation; public class AdvancedSearch { public enum FilterOption { NONE("lblNone", null, null, null), - CARD_NAME("lblName", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { + CARD_NAME("lblName", PaperCard.class, FilterOperator.STRINGS_OPS, new StringEvaluator() { @Override protected String getItemValue(PaperCard input) { - return input.getName(); + throw new RuntimeException("getItemValues should be called instead"); + } + @Override + protected Set getItemValues(PaperCard input) { + Set names = new HashSet<>(); + names.add(input.getName()); + names.add(CardTranslation.getTranslatedName(input.getName())); + return names; } }), - CARD_RULES_TEXT("lblRulesText", PaperCard.class, FilterOperator.STRING_OPS, new StringEvaluator() { + CARD_RULES_TEXT("lblRulesText", PaperCard.class, FilterOperator.STRINGS_OPS, new StringEvaluator() { @Override protected String getItemValue(PaperCard input) { - return input.getRules().getOracleText(); + throw new RuntimeException("getItemValues should be called instead"); + } + @Override + protected Set getItemValues(PaperCard input) { + Set names = new HashSet<>(); + names.add(input.getRules().getOracleText()); + names.add(CardTranslation.getTranslatedOracle(input.getName())); + return names; } }), CARD_KEYWORDS("lblKeywords", PaperCard.class, FilterOperator.COLLECTION_OPS, new CustomListEvaluator(Keyword.getAllKeywords()) { @@ -737,6 +751,18 @@ public class AdvancedSearch { } return false; } + @Override + public boolean apply(Set inputs, List values) { + if (inputs != null && !inputs.isEmpty() && !values.isEmpty()) { + for (String input : inputs) { + if (apply(input, values)) { + return true; + } + } + return false; + } + return false; + } }), STARTS_WITH("lblStartsWith", "%1$s starts with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { @Override @@ -746,6 +772,18 @@ public class AdvancedSearch { } return false; } + @Override + public boolean apply(Set inputs, List values) { + if (inputs != null && !inputs.isEmpty() && !values.isEmpty()) { + for (String input : inputs) { + if (apply(input, values)) { + return true; + } + } + return false; + } + return false; + } }), ENDS_WITH("lblEndsWith", "%1$s ends with '%2$s'", FilterValueCount.ONE, new OperatorEvaluator() { @Override @@ -755,6 +793,18 @@ public class AdvancedSearch { } return false; } + @Override + public boolean apply(Set inputs, List values) { + if (inputs != null && !inputs.isEmpty() && !values.isEmpty()) { + for (String input : inputs) { + if (apply(input, values)) { + return true; + } + } + return false; + } + return false; + } }), //Custom list operators @@ -915,6 +965,9 @@ public class AdvancedSearch { public static final FilterOperator[] STRING_OPS = new FilterOperator[] { CONTAINS, STARTS_WITH, ENDS_WITH }; + public static final FilterOperator[] STRINGS_OPS = new FilterOperator[] { + CONTAINS, STARTS_WITH, ENDS_WITH + }; public static final FilterOperator[] SINGLE_LIST_OPS = new FilterOperator[] { IS_ANY }; @@ -969,27 +1022,32 @@ public class AdvancedSearch { @SuppressWarnings("unchecked") public final Filter createFilter(FilterOption option, FilterOperator operator) { final List values = getValues(option, operator); - if (values == null || values.isEmpty()) { return null; } + if (values == null || values.isEmpty()) { + return null; + } String caption = getCaption(values, option, operator); - final OperatorEvaluator evaluator = (OperatorEvaluator)operator.evaluator; - Predicate predicate; - if (option.operatorOptions == FilterOperator.MULTI_LIST_OPS || option.operatorOptions == FilterOperator.COMBINATION_OPS || option.operatorOptions == FilterOperator.COLLECTION_OPS) { - predicate = new Predicate() { - @Override - public boolean apply(T input) { - return evaluator.apply(getItemValues(input), values); - } - }; - } - else { - predicate = new Predicate() { - @Override - public boolean apply(T input) { - return evaluator.apply(getItemValue(input), values); - } - }; + final OperatorEvaluator evaluator = (OperatorEvaluator) operator.evaluator; + Predicate predicate = new Predicate() { + @Override + public boolean apply(T input) { + return evaluator.apply(getItemValue(input), values); + } + }; + ; + final FilterOperator[][] manyValueOperators = { FilterOperator.MULTI_LIST_OPS, + FilterOperator.COMBINATION_OPS, FilterOperator.COLLECTION_OPS, FilterOperator.STRINGS_OPS }; + for (FilterOperator[] oper : manyValueOperators) { + if (option.operatorOptions == oper) { + predicate = new Predicate() { + @Override + public boolean apply(T input) { + return evaluator.apply(getItemValues(input), values); + } + }; + break; + } } return new Filter<>(option, operator, caption, predicate); } diff --git a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java index f70c243e995..228085c97a4 100644 --- a/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java +++ b/forge-gui/src/main/java/forge/itemmanager/ColumnDef.java @@ -58,13 +58,17 @@ public enum ColumnDef { new Function, Comparable>() { @Override public Comparable apply(final Entry from) { - return toSortableName(CardTranslation.getTranslatedName(from.getKey().getName())); + if (from.getKey() instanceof PaperCard) + return toSortableName(from.getKey().toString()); + return toSortableName(from.getKey().getName()); } }, new Function, Object>() { @Override public Object apply(final Entry from) { - return CardTranslation.getTranslatedName(from.getKey().getName()); + if (from.getKey() instanceof PaperCard) + return from.getKey().toString(); + return from.getKey().getName(); } }), diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 24f79e913dc..8ccb11d36b5 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1655,12 +1655,12 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont CardFaceView cardFaceView; List choices = new ArrayList<>(); for (ICardFace cardFace : cards) { - cardFaceView = new CardFaceView(cardFace.getName()); + cardFaceView = new CardFaceView(CardTranslation.getTranslatedName(cardFace.getName()), cardFace.getName()); choices.add(cardFaceView); } Collections.sort(choices); cardFaceView = getGui().one(message, choices); - return StaticData.instance().getCommonCards().getFaceByName(cardFaceView.getName()); + return StaticData.instance().getCommonCards().getFaceByName(cardFaceView.getOracleName()); } @Override @@ -2071,7 +2071,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont } public class DevModeCheats implements IDevModeCheats { - private ICardFace lastAdded; + private CardFaceView lastAdded; private ZoneType lastAddedZone; private Player lastAddedPlayer; private SpellAbility lastAddedSA; @@ -2504,15 +2504,21 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont final CardDb carddb = FModel.getMagicDb().getCommonCards(); final List faces = Lists.newArrayList(carddb.getAllFaces()); - Collections.sort(faces); + List choices = new ArrayList<>(); + CardFaceView cardFaceView; + for (ICardFace cardFace : faces) { + cardFaceView = new CardFaceView(CardTranslation.getTranslatedName(cardFace.getName()), cardFace.getName()); + choices.add(cardFaceView); + } + Collections.sort(choices); // use standard forge's list selection dialog - final ICardFace f = repeatLast ? lastAdded : getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), faces); + final CardFaceView f = repeatLast ? lastAdded : getGui().oneOrNone(localizer.getMessage("lblNameTheCard"), choices); if (f == null) { return; } - final PaperCard c = carddb.getUniqueByName(f.getName()); + final PaperCard c = carddb.getUniqueByName(f.getOracleName()); final Card forgeCard = Card.fromPaperCard(c, p); forgeCard.setTimestamp(getGame().getNextTimestamp());