Merge branch 'Card-Forge:master' into master

This commit is contained in:
Agetian
2023-04-27 20:55:34 +03:00
committed by GitHub
141 changed files with 3730 additions and 159 deletions

View File

@@ -722,6 +722,11 @@ public class AiAttackController {
return pwNearUlti != null ? pwNearUlti : ComputerUtilCard.getBestPlaneswalkerAI(pwDefending);
}
List<Card> battleDefending = c.getDefendingBattles();
if (!battleDefending.isEmpty()) {
// TODO filter for team ones
}
return prefDefender;
}

View File

@@ -2059,31 +2059,23 @@ public class ComputerUtilCombat {
if (block.size() == 1) {
final Card blocker = block.getFirst();
int dmgToBlocker = dmgCanDeal;
if (hasTrample) {
int dmgToKill = getEnoughDamageToKill(blocker, dmgCanDeal, attacker, true);
if (hasTrample && isAttacking) { // otherwise no entity to deliver damage via trample
dmgToBlocker = getEnoughDamageToKill(blocker, dmgCanDeal, attacker, true);
if (dmgCanDeal < dmgToKill) {
dmgToKill = Math.min(blocker.getLethalDamage(), dmgCanDeal);
} else {
dmgToKill = Math.max(blocker.getLethalDamage(), dmgToKill);
if (dmgCanDeal < dmgToBlocker) {
// can't kill so just put the lowest legal amount
dmgToBlocker = Math.min(blocker.getLethalDamage(), dmgCanDeal);
}
if (!isAttacking) { // no entity to deliver damage via trample
dmgToKill = dmgCanDeal;
}
final int remainingDmg = dmgCanDeal - dmgToKill;
final int remainingDmg = dmgCanDeal - dmgToBlocker;
// If Extra trample damage, assign to defending player/planeswalker (when there is one)
if (remainingDmg > 0) {
damageMap.put(null, remainingDmg);
}
damageMap.put(blocker, dmgToKill);
} else {
damageMap.put(blocker, dmgCanDeal);
}
damageMap.put(blocker, dmgToBlocker);
} // 1 blocker
else {
// Does the attacker deal lethal damage to all blockers
@@ -2478,10 +2470,15 @@ public class ComputerUtilCombat {
public static GameEntity addAttackerToCombat(SpellAbility sa, Card attacker, Iterable<? extends GameEntity> defenders) {
Combat combat = sa.getHostCard().getGame().getCombat();
if (combat != null) {
// 1. If the card that spawned the attacker was sent at a planeswalker, attack the same. Consider improving.
GameEntity def = combat.getDefenderByAttacker(sa.getHostCard());
if (def instanceof Card && ((Card)def).isPlaneswalker() && Iterables.contains(defenders, def)) {
return def;
// 1. If the card that spawned the attacker was sent at a card, attack the same. Consider improving.
if (def instanceof Card && Iterables.contains(defenders, def)) {
if (((Card)def).isPlaneswalker()) {
return def;
}
if (((Card)def).isBattle()) {
return def;
}
}
// 2. Otherwise, go through the list of options one by one, choose the first one that can't be blocked profitably.
for (GameEntity p : defenders) {

View File

@@ -314,21 +314,21 @@ public abstract class SpellAbilityAi {
public <T extends GameEntity> T chooseSingleEntity(Player ai, SpellAbility sa, Collection<T> options, boolean isOptional, Player targetedPlayer, Map<String, Object> params) {
boolean hasPlayer = false;
boolean hasCard = false;
boolean hasPlaneswalker = false;
boolean hasAttackableCard = false;
for (T ent : options) {
if (ent instanceof Player) {
hasPlayer = true;
} else if (ent instanceof Card) {
hasCard = true;
if (((Card)ent).isPlaneswalker()) {
hasPlaneswalker = true;
if (((Card)ent).isPlaneswalker() || ((Card)ent).isBattle()) {
hasAttackableCard = true;
}
}
}
if (hasPlayer && hasPlaneswalker) {
return (T) chooseSinglePlayerOrPlaneswalker(ai, sa, (Collection<GameEntity>) options, params);
if (hasPlayer && hasAttackableCard) {
return (T) chooseSingleAttackableEntity(ai, sa, (Collection<GameEntity>) options, params);
} else if (hasCard) {
return (T) chooseSingleCard(ai, sa, (Collection<Card>) options, isOptional, targetedPlayer, params);
} else if (hasPlayer) {
@@ -353,7 +353,7 @@ public abstract class SpellAbilityAi {
return Iterables.getFirst(options, null);
}
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
protected GameEntity chooseSingleAttackableEntity(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
System.err.println("Warning: default (ie. inherited from base class) implementation of chooseSinglePlayerOrPlaneswalker is used for " + this.getClass().getName() + ". Consider declaring an overloaded method");
return Iterables.getFirst(options, null);
}

View File

@@ -1760,12 +1760,12 @@ public class ChangeZoneAi extends SpellAbilityAi {
}
@Override
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
protected GameEntity chooseSingleAttackableEntity(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
if (params != null && params.containsKey("Attacker")) {
return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), options);
}
// should not be reached
return super.chooseSinglePlayerOrPlaneswalker(ai, sa, options, params);
return super.chooseSingleAttackableEntity(ai, sa, options, params);
}
private boolean doSacAndReturnFromGraveLogic(final Player ai, final SpellAbility sa) {

View File

@@ -9,6 +9,8 @@ import com.google.common.collect.Lists;
import forge.ai.ComputerUtil;
import forge.ai.SpellAbilityAi;
import forge.game.player.Player;
import forge.game.player.PlayerCollection;
import forge.game.player.PlayerPredicates;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
@@ -31,7 +33,10 @@ public class ChoosePlayerAi extends SpellAbilityAi {
@Override
public Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable<Player> choices, Map<String, Object> params) {
Player chosen = null;
if ("Curse".equals(sa.getParam("AILogic"))) {
if (sa.hasParam("Protect")) {
chosen = new PlayerCollection(choices).min(PlayerPredicates.compareByLife());
}
else if ("Curse".equals(sa.getParam("AILogic"))) {
for (Player pc : choices) {
if (pc.isOpponentOf(ai)) {
chosen = pc;

View File

@@ -261,12 +261,12 @@ public class CopyPermanentAi extends SpellAbilityAi {
}
@Override
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
protected GameEntity chooseSingleAttackableEntity(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
if (params != null && params.containsKey("Attacker")) {
return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), options);
}
// should not be reached
return super.chooseSinglePlayerOrPlaneswalker(ai, sa, options, params);
return super.chooseSingleAttackableEntity(ai, sa, options, params);
}
}

View File

@@ -196,12 +196,12 @@ public class DigAi extends SpellAbilityAi {
}
@Override
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
protected GameEntity chooseSingleAttackableEntity(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
if (params != null && params.containsKey("Attacker")) {
return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), options);
}
// should not be reached
return super.chooseSinglePlayerOrPlaneswalker(ai, sa, options, params);
return super.chooseSingleAttackableEntity(ai, sa, options, params);
}
/* (non-Javadoc)

View File

@@ -326,12 +326,12 @@ public class TokenAi extends SpellAbilityAi {
* @see forge.card.ability.SpellAbilityAi#chooseSinglePlayerOrPlaneswalker(forge.game.player.Player, forge.card.spellability.SpellAbility, Iterable<forge.game.GameEntity> options)
*/
@Override
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
protected GameEntity chooseSingleAttackableEntity(Player ai, SpellAbility sa, Iterable<GameEntity> options, Map<String, Object> params) {
if (params != null && params.containsKey("Attacker")) {
return ComputerUtilCombat.addAttackerToCombat(sa, (Card) params.get("Attacker"), options);
}
// should not be reached
return super.chooseSinglePlayerOrPlaneswalker(ai, sa, options, params);
return super.chooseSingleAttackableEntity(ai, sa, options, params);
}
/**

View File

@@ -912,6 +912,9 @@ public final class CardType implements Comparable<CardType>, CardTypeView {
public static Collection<String> getAllCreatureTypes() {
return Collections.unmodifiableCollection(Constant.CREATURE_TYPES);
}
public static Collection<String> getAllWalkerTypes() {
return Collections.unmodifiableCollection(Constant.WALKER_TYPES);
}
public static List<String> getAllLandTypes() {
return ImmutableList.<String>builder()
.addAll(getBasicTypes())

View File

@@ -146,6 +146,13 @@ public class ForgeScript {
}
}
return false;
} else if (property.equals("hasOtherActivatedAbility")) {
for (final SpellAbility sa : cardState.getSpellAbilities()) {
if (sa.isActivatedAbility() && !sa.equals(spellAbility)) {
return true;
}
}
return false;
} else if (property.equals("hasManaAbility")) {
if (Iterables.any(cardState.getSpellAbilities(), SpellAbilityPredicates.isManaAbility())) {
return true;

View File

@@ -1448,7 +1448,9 @@ public class GameAction {
if (game.getCombat() != null) {
game.getCombat().removeAbsentCombatants();
}
table.triggerChangesZoneAll(game, null);
if (!checkAgain) {
break; // do not continue the loop
}

View File

@@ -1453,7 +1453,6 @@ public class AbilityUtils {
// Needed - Equip an untapped creature with Sword of the Paruns then cast Deadshot on it. Should deal 2 more damage.
game.getAction().checkStaticAbilities(); // this will refresh continuous abilities for players and permanents.
game.getTriggerHandler().resetActiveTriggers(!sa.isReplacementAbility());
AbilityUtils.resolveApiAbility(abSub, game);
}

View File

@@ -73,6 +73,9 @@ public class ChooseTypeEffect extends SpellAbilityEffect {
case "Land":
validTypes.addAll(CardType.getAllLandTypes());
break;
case "Planeswalker":
validTypes.addAll(CardType.getAllWalkerTypes());
break;
case "CreatureInTargetedDeck":
for (final Player p : tgtPlayers) {
for (Card c : p.getAllCards()) {

View File

@@ -82,11 +82,9 @@ public class ExploreEffect extends SpellAbilityEffect {
if (!revealedLand) {
// need to get newest game state to check
// if it is still on the battlefield
// and the timestamp didnt chamge
// and the timestamp didnt change
Card gamec = game.getCardState(c);
// if the card is not more in the game anymore
// this might still return true but its no problem
if (game.getZoneOf(gamec).is(ZoneType.Battlefield) && gamec.equalsWithTimestamp(c)) {
if (gamec.isInPlay() && gamec.equalsWithTimestamp(c)) {
c.addCounter(CounterEnumType.P1P1, 1, pl, table);
}
}

View File

@@ -1,6 +1,7 @@
package forge.game.ability.effects;
import java.util.Collection;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
@@ -54,6 +55,24 @@ public class ManaReflectedEffect extends SpellAbilityEffect {
private static String generatedReflectedMana(final SpellAbility sa, final Collection<String> colors, final Player player) {
// Calculate generated mana here for stack description and resolving
final int amount = sa.hasParam("Amount") ? AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("Amount"), sa) : 1;
final StringBuilder sb = new StringBuilder();
if (sa.getManaPart().isComboMana()) {
Map<Byte, Integer> choices = player.getController().specifyManaCombo(sa, ColorSet.fromNames(colors), amount, false);
for (Map.Entry<Byte, Integer> e : choices.entrySet()) {
Byte chosenColor = e.getKey();
String choice = MagicColor.toShortString(chosenColor);
Integer count = e.getValue();
while (count > 0) {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(choice);
--count;
}
}
return sb.toString();
}
String baseMana;
@@ -93,7 +112,6 @@ public class ManaReflectedEffect extends SpellAbilityEffect {
}
}
final StringBuilder sb = new StringBuilder();
if (amount == 0) {
sb.append("0");
} else {

View File

@@ -25,6 +25,7 @@ import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardFactoryUtil;
import forge.game.card.CardZoneTable;
import forge.game.cost.Cost;
@@ -109,13 +110,13 @@ public class PlayEffect extends SpellAbilityEffect {
}
CardCollection tgtCards;
CardCollection showCards = new CardCollection();
CardCollectionView showCards = new CardCollection();
if (sa.hasParam("Valid")) {
List<ZoneType> zones = sa.hasParam("ValidZone") ? ZoneType.listValueOf(sa.getParam("ValidZone")) : ImmutableList.of(ZoneType.Hand);
tgtCards = new CardCollection(AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("Valid"), sa));
if (sa.hasParam("ShowCards")) {
showCards = new CardCollection(AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("ShowCards"), sa));
showCards = AbilityUtils.filterListByType(game.getCardsIn(zones), sa.getParam("ShowCards"), sa);
}
} else if (sa.hasParam("AnySupportedCard")) {
final String valid = sa.getParam("AnySupportedCard");

View File

@@ -46,7 +46,7 @@ public class RegenerateEffect extends RegenerateBaseEffect {
@Override
public void resolve(SpellAbility sa) {
// create Effect for Regeneration
createRegenerationEffect(sa, getTargetCards(sa));
createRegenerationEffect(sa, getDefinedCardsOrTargeted(sa));
}
}

View File

@@ -1541,9 +1541,29 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
@Override
public final void subtractCounter(final CounterType counterName, final int n) {
subtractCounter(counterName, n, false);
}
public final void subtractCounter(final CounterType counterName, final int n, final boolean isDamage) {
int oldValue = getCounters(counterName);
int newValue = Math.max(oldValue - n, 0);
final Map<AbilityKey, Object> repParams = AbilityKey.mapFromAffected(this);
repParams.put(AbilityKey.CounterType, counterName);
repParams.put(AbilityKey.Result, newValue);
repParams.put(AbilityKey.IsDamage, isDamage);
switch (getGame().getReplacementHandler().run(ReplacementType.RemoveCounter, repParams)) {
case NotReplaced:
break;
case Updated:
int result = (int) repParams.get(AbilityKey.Result);
newValue = result;
if (newValue <= 0) {
newValue = 0;
}
break;
}
final int delta = oldValue - newValue;
if (delta == 0) { return; }
@@ -3160,7 +3180,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
// no Ability for this type yet, make a new one
if (sa == null) {
sa = CardFactoryUtil.buildBasicLandAbility(state, c);
sa = CardFactory.buildBasicLandAbility(state, c);
basicLandAbilities[i] = sa;
}
@@ -5794,10 +5814,10 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
DamageType damageType = DamageType.Normal;
if (isPlaneswalker()) { // 120.3c
subtractCounter(CounterType.get(CounterEnumType.LOYALTY), damageIn);
subtractCounter(CounterType.get(CounterEnumType.LOYALTY), damageIn, true);
}
if (isBattle()) {
subtractCounter(CounterType.get(CounterEnumType.DEFENSE), damageIn);
subtractCounter(CounterType.get(CounterEnumType.DEFENSE), damageIn, true);
}
if (isCreature()) {
boolean wither = game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.alwaysWither)

View File

@@ -380,6 +380,15 @@ public class CardFactory {
}
}
public static SpellAbility buildBasicLandAbility(final CardState state, byte color) {
String strcolor = MagicColor.toShortString(color);
String abString = "AB$ Mana | Cost$ T | Produced$ " + strcolor +
" | Secondary$ True | SpellDescription$ Add {" + strcolor + "}.";
SpellAbility sa = AbilityFactory.getAbility(abString, state);
sa.setIntrinsic(true); // always intrisic
return sa;
}
private static Card readCard(final CardRules rules, final IPaperCard paperCard, int cardId, Game game) {
final Card card = new Card(cardId, paperCard, game);

View File

@@ -89,15 +89,6 @@ import io.sentry.Sentry;
*/
public class CardFactoryUtil {
public static SpellAbility buildBasicLandAbility(final CardState state, byte color) {
String strcolor = MagicColor.toShortString(color);
String abString = "AB$ Mana | Cost$ T | Produced$ " + strcolor +
" | Secondary$ True | SpellDescription$ Add {" + strcolor + "}.";
SpellAbility sa = AbilityFactory.getAbility(abString, state);
sa.setIntrinsic(true); // always intrisic
return sa;
}
/**
* <p>
* abilityMorphDown.
@@ -3932,7 +3923,7 @@ public class CardFactoryUtil {
StringBuilder chooseSB = new StringBuilder();
chooseSB.append("Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplacementResult$ Updated");
chooseSB.append(" | Description$ (As a Siege enters the battlefield, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)");
String chooseProtector = "DB$ ChoosePlayer | Defined$ You | Choices$ Opponent | Protect$ True | ChoiceTitle$ Choose an opponent to protect this battle | AILogic$ Curse";
String chooseProtector = "DB$ ChoosePlayer | Defined$ You | Choices$ Opponent | Protect$ True | ChoiceTitle$ Choose an opponent to protect this battle";
ReplacementEffect re = ReplacementHandler.parseReplacement(chooseSB.toString(), card, true);
re.setOverridingAbility(AbilityFactory.getAbility(chooseProtector, card));

View File

@@ -1316,7 +1316,14 @@ public class CardProperty {
}
}
} else if (property.startsWith("leastToughness")) {
final CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
if (property.contains("ControlledBy")) { // 4/25/2023 only used for adventure mode Death Ring
FCollectionView<Player> p = AbilityUtils.getDefinedPlayers(source, property.split("ControlledBy")[1], spellAbility);
cards = CardLists.filterControlledBy(cards, p);
if (!cards.contains(card)) {
return false;
}
}
for (final Card crd : cards) {
if (crd.getNetToughness() < card.getNetToughness()) {
return false;

View File

@@ -203,7 +203,7 @@ public final class CardUtil {
newCopy.getCurrentState().copyFrom(in.getState(in.getFaceupCardStateName()), true);
if (in.isFaceDown()) {
newCopy.turnFaceDownNoUpdate();
newCopy.setType(new CardType(in.getCurrentState().getType()));
newCopy.setType(new CardType(in.getFaceDownState().getType()));
// prevent StackDescription from revealing face
newCopy.updateStateForView();
}

View File

@@ -47,6 +47,8 @@ import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardDamageMap;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates;
import forge.game.card.CardUtil;
import forge.game.keyword.Keyword;
import forge.game.player.Player;
@@ -231,7 +233,11 @@ public class Combat {
}
public final CardCollection getDefendingPlaneswalkers() {
return new CardCollection(Iterables.filter(attackableEntries, Card.class));
return CardLists.filter(Iterables.filter(attackableEntries, Card.class), CardPredicates.isType("Planeswalker"));
}
public final CardCollection getDefendingBattles() {
return CardLists.filter(Iterables.filter(attackableEntries, Card.class), CardPredicates.isType("Battle"));
}
public final Map<Card, GameEntity> getAttackersAndDefenders() {
@@ -619,17 +625,17 @@ public class Combat {
}
}
for (Card pw : getDefendingPlaneswalkers()) {
if (pw.equals(c)) {
for (Card battleOrPW : Iterables.filter(attackableEntries, Card.class)) {
if (battleOrPW.equals(c)) {
Multimap<GameEntity, AttackingBand> attackerBuffer = ArrayListMultimap.create();
Collection<AttackingBand> bands = attackedByBands.get(c);
for (AttackingBand abPW : bands) {
unregisterDefender(c, abPW);
for (AttackingBand abDef : bands) {
unregisterDefender(c, abDef);
// Rule 506.4c workaround to keep creatures in combat
Card fake = new Card(-1, c.getGame());
fake.setName("<Nothing>");
fake.setController(c.getController(), 0);
attackerBuffer.put(fake, abPW);
attackerBuffer.put(fake, abDef);
}
bands.clear();
attackedByBands.putAll(attackerBuffer);

View File

@@ -87,7 +87,7 @@ public class CostExileFromStack extends CostPart {
return true; // this will always work
}
CardCollectionView list = payer.getCardsIn(ZoneType.Stack);
CardCollectionView list = source.getGame().getCardsIn(ZoneType.Stack);
list = CardLists.getValidCards(list, type.split(";"), payer, source, ability);

View File

@@ -0,0 +1,70 @@
package forge.game.replacement;
import forge.game.ability.AbilityKey;
import forge.game.card.Card;
import forge.game.card.CounterType;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.util.Expressions;
import java.util.Map;
public class ReplaceRemoveCounter extends ReplacementEffect {
/**
* Instantiates a new replace counters removed.
*
* @param map the map
* @param host the host
*/
public ReplaceRemoveCounter(Map<String, String> map, Card host, boolean intrinsic) {
super(map, host, intrinsic);
}
/* (non-Javadoc)
* @see forge.card.replacement.ReplacementEffect#canReplace(java.util.HashMap)
*/
@Override
public boolean canReplace(Map<AbilityKey, Object> runParams) {
if (!matchesValidParam("ValidCard", runParams.get(AbilityKey.Affected))) {
return false;
}
if (hasParam("IsDamage")) {
if (getParam("IsDamage").equals("True") != ((Boolean) runParams.get(AbilityKey.IsDamage))) {
return false;
}
}
if (hasParam("ValidCounterType")) {
final CounterType cType = (CounterType) runParams.get(AbilityKey.CounterType);
final String type = getParam("ValidCounterType");
if (!type.equals(cType.toString())) {
return false;
}
}
if (hasParam("Result")) {
final int n = (Integer)runParams.get(AbilityKey.Result);
String comparator = getParam("Result");
final String operator = comparator.substring(0, 2);
final int operandValue = Integer.parseInt(comparator.substring(2));
if (!Expressions.compare(n, operator, operandValue)) {
return false;
}
}
return true;
}
/* (non-Javadoc)
* @see forge.card.replacement.ReplacementEffect#setReplacingObjects(java.util.HashMap, forge.card.spellability.SpellAbility)
*/
@Override
public void setReplacingObjects(Map<AbilityKey, Object> runParams, SpellAbility sa) {
sa.setReplacingObject(AbilityKey.CounterMap, runParams.get(AbilityKey.CounterMap));
Object o = runParams.get(AbilityKey.Affected);
if (o instanceof Card) {
sa.setReplacingObject(AbilityKey.Card, o);
} else if (o instanceof Player) {
sa.setReplacingObject(AbilityKey.Player, o);
}
sa.setReplacingObject(AbilityKey.Object, o);
}
}

View File

@@ -36,6 +36,7 @@ public enum ReplacementType {
PlanarDiceResult(ReplacePlanarDiceResult.class),
ProduceMana(ReplaceProduceMana.class),
Proliferate(ReplaceProliferate.class),
RemoveCounter(ReplaceRemoveCounter.class),
RollPlanarDice(ReplaceRollPlanarDice.class),
Scry(ReplaceScry.class),
SetInMotion(ReplaceSetInMotion.class),

View File

@@ -64,6 +64,7 @@ public class WrappedAbility extends Ability {
ApiType.SetState,
ApiType.Play,
ApiType.SacrificeAll,
ApiType.Pump,
ApiType.DelayedTrigger
);

View File

@@ -1,9 +1,7 @@
Name:Flame Sword
Types:Artifact
A:AB$ DealDamage | ActivationLimit$ 1 | Cost$ PayShards<3> | ActivationZone$ Command | ValidTgts$ Any | NumDmg$ Z | SubAbility$ Eject | SpellDescription$ Deal 3 damage to any target. If the target is a tapped creature, deal 5 damage to it instead.
SVar:X:3
SVar:Y:Targeted$Valid Creature.tapped/Times.2
SVar:Z:SVar$X/Plus.Y
A:AB$ DealDamage | ActivationLimit$ 1 | Cost$ PayShards<3> | ActivationZone$ Command | ValidTgts$ Any | NumDmg$ X | SubAbility$ Eject | SpellDescription$ CARDNAME deals 3 damage to any target, or 5 damage to target tapped creature.
SVar:X:Count$Compare Y GE1.5.3
SVar:Y:Targeted$Valid Creature.tapped
SVar:Eject:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
Oracle:{M}{M}{M}: Flame Sword deals 3 damage to any target, or 5 damage to target tapped creature.

View File

@@ -122,3 +122,4 @@ Phyrexia: All Will Be One Jumpstart, -/2/ONE, Meta-Choose(S(ONE Mite-y 1)Mite-y
Alchemy: Phyrexia, 3/6/ONE, YONE
Shadows over Innistrad Remastered, 3/6/SIR, SIR
March of the Machine, 3/6/MOM, MOM
March of the Machine Jumpstart, -/2/MOM, Meta-Choose(S(MOM Brood 1)Brood 1;S(MOM Brood 2)Brood 2 ;S(MOM Overachiever 1)Overachiever 1;S(MOM Overachiever 2)Overachiever 2;S(MOM Expendable 1)Expendable 1;S(MOM Expendable 2)Expendable 2;S(MOM Reinforcement 1)Reinforcement 1;S(MOM Reinforcement 2)Reinforcement 2;S(MOM Buff 1)Buff 1;S(MOM Buff 2)Buff 2)Themes

View File

@@ -2,7 +2,7 @@ Name:Armament Master
ManaCost:W W
Types:Creature Kor Soldier
PT:2/2
S:Mode$ Continuous | Affected$ Creature.Kor+Other+YouCtrl | AddPower$ X | AddToughness$ X | Description$ Other Kor creatures you control get +2/+2 for each Equipment attached to Armament Master.
S:Mode$ Continuous | Affected$ Creature.Kor+Other+YouCtrl | AddPower$ X | AddToughness$ X | Description$ Other Kor creatures you control get +2/+2 for each Equipment attached to CARDNAME.
SVar:X:Count$Valid Equipment.Attached/Times.2
SVar:EquipMe:Multiple
Oracle:Other Kor creatures you control get +2/+2 for each Equipment attached to Armament Master.

View File

@@ -5,7 +5,7 @@ A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one man
A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME.
T:Mode$ Phase | PreCombatMain$ True | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemove | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color for each charge counter removed this way.
SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ All | RememberRemoved$ True | SubAbility$ TrigGetMana
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | AILogic$ MostProminentInComputerHand | SubAbility$ DBCleanup
SVar:TrigGetMana:DB$ Mana | Produced$ Combo Any | Amount$ NumRemoved | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:NumRemoved:Count$RememberedSize
Oracle:{T}: Add one mana of any color.\n{T}: Put a charge counter on Coalition Relic.\nAt the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way.

View File

@@ -3,7 +3,7 @@ ManaCost:BG
Types:Creature Elf Shaman
PT:1/2
A:AB$ ChangeZone | Cost$ T | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Land | TgtPrompt$ Select target land card in a graveyard | SubAbility$ DBMana | SpellDescription$ Exile target land card from a graveyard. Add one mana of any color.
SVar:DBMana:DB$ Mana | Produced$ Any | Amount$ 1 | AILogic$ MostProminentInComputerHand
SVar:DBMana:DB$ Mana | Produced$ Any | Amount$ 1
A:AB$ ChangeZone | Cost$ B T | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select target instant or sorcery card in a graveyard | SubAbility$ DBLoseLife | AITgtOwnCards$ True | SpellDescription$ Exile target instant or sorcery card from a graveyard. Each opponent loses 2 life.
SVar:DBLoseLife:DB$ LoseLife | Defined$ Player.Opponent | LifeAmount$ 2
A:AB$ ChangeZone | Cost$ G T | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Creature | TgtPrompt$ Select target creature card in a graveyard | SubAbility$ DBGainLife | AITgtOwnCards$ True | SpellDescription$ Exile target creature card from a graveyard. You gain 2 life.

View File

@@ -1,7 +1,7 @@
Name:Extract from Darkness
ManaCost:3 U B
Types:Sorcery
A:SP$ Mill | NumCards$ 2 | Defined$ Player | SubAbility$ DBChoose | SpellDescription$ Each player mills two cards.
A:SP$ Mill | NumCards$ 2 | Defined$ Player | SubAbility$ DBChangeZone | SpellDescription$ Each player mills two cards.
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ 1 | Mandatory$ True | GainControl$ True | SelectPrompt$ Select a creature card to return to the battlefield | Hidden$ True | StackDescription$ SpellDescription | SpellDescription$ Then you put a creature card from a graveyard onto the battlefield under your control.
AI:RemoveDeck:Random
DeckHas:Ability$Mill|Graveyard

View File

@@ -3,7 +3,7 @@ ManaCost:4 U/B U/B
Types:Legendary Creature Demon Kraken
PT:6/6
K:Companion:Card.cmcM20:Your starting deck contains only cards with even mana value. (If this card is your chosen companion, you may cast it once from outside the game.)
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When CARDNAME enters the battlefield, each player mills four cards. Put a creature card with an even mana value from those cards onto the battlefield under your control.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMill | TriggerDescription$ When NICKNAME enters the battlefield, each player mills four cards. Put a creature card with an even mana value from those cards onto the battlefield under your control.
SVar:TrigMill:DB$ Mill | NumCards$ 4 | Defined$ Player | RememberMilled$ True | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Battlefield | GainControl$ True | Mandatory$ True | Hidden$ True | ChangeNum$ 1 | ChangeType$ Card.Creature+IsRemembered+cmcM20 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -1,7 +1,7 @@
Name:Manamorphose
ManaCost:1 RG
Types:Instant
A:SP$ Mana | Cost$ 1 RG | Produced$ Combo Any | Amount$ 2 | AILogic$ MostProminentInComputerHand | SubAbility$ DBDraw | SpellDescription$ Add two mana in any combination of colors. Draw a card.
A:SP$ Mana | Cost$ 1 RG | Produced$ Combo Any | Amount$ 2 | SubAbility$ DBDraw | SpellDescription$ Add two mana in any combination of colors. Draw a card.
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1
AI:RemoveDeck:All
Oracle:Add two mana in any combination of colors.\nDraw a card.

View File

@@ -2,9 +2,10 @@ Name:Penregon Besieged
ManaCost:1 B
Types:Enchantment
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of your end step, choose a creature with the least toughness among creatures your opponents control. It perpetually gets -1/-1.
SVar:TrigChoose:DB$ ChooseCard | Choices$ Creature.leastToughness+OppCtrl | ChoiceTitle$ Choose a creature with the least toughness among creatures your opponents control | Mandatory$ True | SubAbility$ DBEffect
SVar:TrigChoose:DB$ ChooseCard | Choices$ Creature.leastToughnessControlledByOpponent | ChoiceTitle$ Choose a creature with the least toughness among creatures your opponents control | Mandatory$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualDebuff | Name$ Penregon Besieged's Perpetual Effect | Duration$ Permanent
SVar:PerpetualDebuff:Mode$ Continuous | Affected$ Card.ChosenCard | AddPower$ -1 | AddToughness$ -1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gets -1/-1.
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature.OppCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When your opponents control no creatures, sacrifice CARDNAME.
SVar:TrigSac:DB$ Sacrifice
Oracle:At the beginning of your end step, choose a creature with the least toughness among creatures your opponents control. It perpetually gets -1/-1.\nWhen your opponents control no creatures, sacrifice Penregon Besieged.
DeckHas:Ability$Sacrifice
Oracle:At the beginning of your end step, choose a creature with the least toughness among creatures your opponents control. It perpetually gets -1/-1.\nWhen your opponents control no creatures, sacrifice Penregon Besieged.

View File

@@ -4,6 +4,6 @@ Types:Instant
A:SP$ Counter | Cost$ G G U U | TargetType$ Spell | RememberCounteredCMC$ True | ValidTgts$ Card | SubAbility$ DBDelTrig | SpellDescription$ Counter target spell. At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value.
SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | PreCombatMain$ True | ValidPlayer$ You | Execute$ AddMana | TriggerDescription$ At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value. | RememberNumber$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:AddMana:DB$ Mana | Produced$ Combo Any | Amount$ X | AILogic$ MostProminentInComputerHand
SVar:AddMana:DB$ Mana | Produced$ Combo Any | Amount$ X
SVar:X:Count$TriggerRememberAmount
Oracle:Counter target spell. At the beginning of your next precombat main phase, add X mana in any combination of colors, where X is that spell's mana value.

View File

@@ -6,5 +6,5 @@ K:Trample
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMonarch | TriggerDescription$ When CARDNAME enters the battlefield, you become the monarch.
SVar:TrigMonarch:DB$ BecomeMonarch | Defined$ You
T:Mode$ TapsForMana | ValidCard$ Land | Activator$ You | CheckDefinedPlayer$ You.isMonarch | Execute$ TrigMana | TriggerZones$ Battlefield | Static$ True | TriggerDescription$ Whenever you tap a land for mana while you're the monarch, add an additional one mana of any color.
SVar:TrigMana:DB$ Mana | Produced$ Combo Any | Amount$ 1 | AILogic$ MostProminentInComputerHand
SVar:TrigMana:DB$ Mana | Produced$ Combo Any | Amount$ 1
Oracle:Trample\nWhen Regal Behemoth enters the battlefield, you become the monarch.\nWhenever you tap a land for mana while you're the monarch, add an additional one mana of any color.

View File

@@ -3,9 +3,7 @@ ManaCost:B R G
Types:Instant
A:SP$ Charm | Choices$ DBSac,DBExilePlay,DBExileGrave
SVar:DBSac:DB$ Sacrifice | ValidTgts$ Opponent | TgtPrompt$ Choose target opponent | SacValid$ Creature.cmcEQX,Planeswalker.cmcEQX | SacMessage$ creature or planeswalker they control with the highest mana value among creatures and planeswalkers they control | SpellDescription$ Target opponent sacrifices a creature or planeswalker they control with the highest mana value among creatures and planeswalkers they control.
SVar:X:SVar$Y/LimitMin.Z
SVar:Y:Count$Valid Creature.TargetedPlayerCtrl$GreatestCMC
SVar:Z:Count$Valid Planeswalker.TargetedPlayerCtrl$GreatestCMC
SVar:X:Count$Valid Creature.TargetedPlayerCtrl,Planeswalker.TargetedPlayerCtrl$GreatestCMC
SVar:DBExilePlay:DB$ Dig | Defined$ You | DigNum$ 3 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top three cards of your library. Until your next end step, you may play those cards.
SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ STPlay | SubAbility$ DBCleanup | ForgetOnMoved$ Exile | Duration$ UntilYourNextEndStep
SVar:STPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until your next end step, you may play those cards.

View File

@@ -3,7 +3,7 @@ ManaCost:2 G U R
Types:Legendary Planeswalker Sarkhan
Loyalty:4
A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Defined$ You | SubAbility$ DBMana | Planeswalker$ True | SpellDescription$ Draw a card, then add one mana of any color.
SVar:DBMana:DB$ Mana | Produced$ Any | AILogic$ MostProminentInComputerHand
SVar:DBMana:DB$ Mana | Produced$ Any
A:AB$ Token | Cost$ SubCounter<2/LOYALTY> | TokenAmount$ 1 | TokenScript$ r_4_4_dragon_flying | TokenOwner$ You | Planeswalker$ True | SpellDescription$ Create a 4/4 red Dragon creature token with flying.
A:AB$ ChangeZone | Cost$ SubCounter<8/LOYALTY> | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.Dragon | ChangeNum$ XFetch | Planeswalker$ True | Ultimate$ True | StackDescription$ SpellDescription | SpellDescription$ Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle.
SVar:XFetch:Count$TypeInYourLibrary.Dragon

View File

@@ -2,6 +2,6 @@ Name:Smokebraider
ManaCost:1 R
Types:Creature Elemental Shaman
PT:1/1
A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Elemental,Activated.Elemental+inZoneBattlefield | AILogic$ MostProminentInComputerHand | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals.
A:AB$ Mana | Cost$ T | Produced$ Combo Any | Amount$ 2 | RestrictValid$ Spell.Elemental,Activated.Elemental+inZoneBattlefield | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals.
AI:RemoveDeck:Random
Oracle:{T}: Add two mana in any combination of colors. Spend this mana only to cast Elemental spells or activate abilities of Elementals.

View File

@@ -5,7 +5,5 @@ A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChoose |
SVar:DBChoose:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.RememberedPlayerCtrl+cmcEQX,Planeswalker.RememberedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the highest mana value to sacrifice | Mandatory$ True | RememberChosen$ True
SVar:DBSac:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBCleanup | StackDescription$ sacrifices a creature or planeswalker with the highest mana value among creatures and planeswalkers they control.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:SVar$Y/LimitMin.Z
SVar:Y:Count$Valid Creature.RememberedPlayerCtrl$GreatestCMC
SVar:Z:Count$Valid Planeswalker.RememberedPlayerCtrl$GreatestCMC
SVar:X:Count$Valid Creature.RememberedPlayerCtrl,Planeswalker.RememberedPlayerCtrl$GreatestCMC
Oracle:Each opponent sacrifices a creature or planeswalker with the highest mana value among creatures and planeswalkers they control.

View File

@@ -2,8 +2,7 @@ Name:Tablet of Compleation
ManaCost:2
Types:Artifact
A:AB$ PutCounter | Cost$ T | CounterType$ OIL | CounterNum$ 1 | SpellDescription$ Put an oil counter on CARDNAME.
A:AB$ Mana | Cost$ T | CheckSVar$ X | Produced$ C | SVarCompare$ GE2 | SpellDescription$ Add {C}. Activate only if CARDNAME has two or more oil counters on it.
A:AB$ Draw | Cost$ 1 T | CheckSVar$ X | SVarCompare$ GE5 | SpellDescription$ Draw a card. Activate only if CARDNAME has five or more oil counters on it.
SVar:X:Count$CardCounters.OIL
A:AB$ Mana | Cost$ T | Produced$ C | IsPresent$ Card.Self+counters_GE2_OIL | SpellDescription$ Add {C}. Activate only if CARDNAME has two or more oil counters on it.
A:AB$ Draw | Cost$ 1 T | IsPresent$ Card.Self+counters_GE5_OIL | SpellDescription$ Draw a card. Activate only if CARDNAME has five or more oil counters on it.
DeckHas:Ability$Counters
Oracle:{T}: Put an oil counter on Tablet of Compleation.\n{T}: Add {C}. Activate only if Tablet of Compleation has two or more oil counters on it.\n{1}, {T}: Draw a card. Activate only if Tablet of Compleation has five or more oil counters on it.

View File

@@ -1,7 +1,7 @@
Name:Terrarion
ManaCost:1
Types:Artifact
A:AB$ Mana | Cost$ 2 T Sac<1/CARDNAME> | Produced$ Combo Any | Amount$ 2 | AILogic$ MostProminentInComputerHand | SpellDescription$ Add two mana in any combination of colors.
A:AB$ Mana | Cost$ 2 T Sac<1/CARDNAME> | Produced$ Combo Any | Amount$ 2 | SpellDescription$ Add two mana in any combination of colors.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, draw a card.
SVar:TrigDraw:DB$ Draw | Defined$ TriggeredCardController | NumCards$ 1
K:CARDNAME enters the battlefield tapped.

View File

@@ -23,7 +23,7 @@ SVar:Exile11:DB$ ChangeZone | ValidTgts$ Player | TgtPrompt$ Select target playe
SVar:Dig12:DB$ Dig | DigNum$ 1 | Reveal$ True | ChangeNum$ All | ChangeValid$ Land | DestinationZone$ Battlefield | DestinationZone2$ Hand | SpellDescription$ Reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand.
SVar:Animate13:DB$ Animate | ValidTgts$ Land.YouCtrl | TgtPrompt$ Select target land you control | Power$ 4 | Toughness$ 4 | Types$ Creature,Elemental | Duration$ Permanent | Keywords$ Trample | SpellDescription$ Target land you control becomes a 4/4 Elemental creature with trample. It's still a land.
SVar:Draw14:DB$ Draw | Defined$ You | SubAbility$ DBMana14 | SpellDescription$ Draw a card, then add one mana of any color.
SVar:DBMana14:DB$ Mana | Produced$ Any | AILogic$ MostProminentInComputerHand
SVar:DBMana14:DB$ Mana | Produced$ Any
SVar:Animate15:DB$ Animate | Power$ 4 | Toughness$ 4 | Types$ Creature,Legendary,Dragon | Colors$ Red | OverwriteColors$ True | RemoveCardTypes$ True | Keywords$ Flying & Indestructible & Haste | SpellDescription$ Until end of turn, NICKNAME becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste. (He doesn't lose loyalty while he's not a planeswalker.)
SVar:PumpAll16:DB$ PumpAll | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | KW$ Lifelink | Duration$ UntilYourNextTurn | SpellDescription$ Until your next turn, creatures you control get +1/+0 and gain lifelink.
SVar:Dig17:DB$ Dig | DigNum$ 5 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Artifact | SpellDescription$ Look at the top five cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order.

View File

@@ -0,0 +1,9 @@
Name:Animist's Might
ManaCost:2 G
Types:Sorcery
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 2 | ValidTarget$ Creature.Legendary+YouCtrl | EffectZone$ All | Description$ This spell costs {2} less to cast if it targets a legendary creature you control.
A:SP$ Pump | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ BloodDamage | SpellDescription$ Target creature you control deals damage equal to twice its power to target creature or planeswalker you don't control.
SVar:BloodDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | AILogic$ PowerDmg | NumDmg$ X | DamageSource$ ParentTarget
SVar:X:ParentTargeted$CardPower/Times.2
DeckHints:Type$Legendary
Oracle:This spell costs {2} less to cast if it targets a legendary creature you control.\nTarget creature you control deals damage equal to twice its power to target creature or planeswalker you don't control.

View File

@@ -0,0 +1,11 @@
Name:Arni Metalbrow
ManaCost:2 R
Types:Legendary Creature Human Berserker
PT:3/3
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl+attacking | Execute$ TrigChangeZoneBis | TriggerDescription$ Whenever a creature you control attacks or a creature enters the battlefield under your control attacking, you may pay {1}{R}. If you do, you may put a creature card with mana value less than that creature's mana value from your hand onto the battlefield tapped and attacking.
T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Execute$ TrigChangeZone | Secondary$ True | TriggerDescription$ Whenever a creature you control attacks or a creature enters the battlefield under your control attacking, you may pay {1}{R}. If you do, you may put a creature card with mana value less than that creature's mana value from your hand onto the battlefield tapped and attacking.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 1 R | Origin$ Hand | ChangeNum$ 1 | Destination$ Battlefield | ChangeType$ Creature.cmcLTX+YouCtrl | ChangeNum$ 1 | Tapped$ True | Attacking$ True
SVar:TrigChangeZoneBis:AB$ ChangeZone | Cost$ 1 R | Origin$ Hand | ChangeNum$ 1 | Destination$ Battlefield | ChangeType$ Creature.cmcLTY+YouCtrl | ChangeNum$ 1 | Tapped$ True | Attacking$ True
SVar:X:TriggeredAttacker$CardManaCost
SVar:Y:TriggeredCard$CardManaCost
Oracle:Whenever a creature you control attacks or a creature enters the battlefield under your control attacking, you may pay {1}{R}. If you do, you may put a creature card with mana value less than that creature's mana value from your hand onto the battlefield tapped and attacking.

View File

@@ -0,0 +1,10 @@
Name:Ayara's Oathsworn
ManaCost:1 B
Types:Creature Human Knight
PT:2/2
K:Menace
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | IsPresent$ Card.Self+counters_LT4_P1P1 | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, if it has fewer than four +1/+1 counters on it, put a +1/+1 counter on it. Then if it has exactly four +1/+1 counters on it, search your library for a card, put it into your hand, then shuffle.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBSearch
SVar:DBSearch:DB$ ChangeZone | ConditionDefined$ Self | ConditionPresent$ Card.Self+counters_EQ4_P1P1 | Origin$ Library | Destination$ Hand | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True
DeckHas:Ability$Counters
Oracle:Menace\nWhenever Ayara's Oathsworn deals combat damage to a player, if it has fewer than four +1/+1 counters on it, put a +1/+1 counter on it. Then if it has exactly four +1/+1 counters on it, search your library for a card, put it into your hand, then shuffle.

View File

@@ -0,0 +1,7 @@
Name:Blot Out
ManaCost:2 B
Types:Instant
A:SP$ ChooseCard | ValidTgts$ Opponent | Choices$ Creature.TargetedPlayerCtrl+cmcEQX,Planeswalker.TargetedPlayerCtrl+cmcEQX | ChoiceTitle$ Choose a creature or planeswalker with the highest mana value to sacrifice | Mandatory$ True | SubAbility$ DBExile | SpellDescription$ Target opponent exiles a creature or planeswalker they control with the greatest mana value among creatures and planeswalkers they control.
SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Exile
SVar:X:Count$Valid Creature.TargetedPlayerCtrl,Planeswalker.TargetedCtrl$GreatestCMC
Oracle:Target opponent exiles a creature or planeswalker they control with the greatest mana value among creatures and planeswalkers they control.

View File

@@ -0,0 +1,8 @@
Name:Coppercoat Vanguard
ManaCost:1 W
Types:Creature Human Soldier
PT:2/2
S:Mode$ Continuous | Affected$ Human.YouCtrl+Other | AddPower$ 1 | AddKeyword$ Ward:1 | Description$ Each other Human you control gets +1/+0 and has ward {1}.
SVar:PlayMain1:TRUE
DeckNeeds:Type$Human
Oracle:Each other Human you control gets +1/+0 and has ward {1}.

View File

@@ -0,0 +1,10 @@
Name:Death-Rattle Oni
ManaCost:6 B
Types:Creature Demon Spirit
PT:5/4
K:Flash
S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ X | EffectZone$ All | Description$ This spell costs {2} less to cast for each creature that died this turn.
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature/Times.2
T:Mode$ ChangesZone | TriggerZone$ Battlefield | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ DBDestroyAll | TriggerDescription$ When CARDNAME enters the battlefield, destroy all other creatures that were dealt damage this turn.
SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Creature.wasDealtDamageThisTurn+Other
Oracle:This spell costs {2} less to cast for each creature that died this turn.\nWhen Death-Rattle Oni enters the battlefield, destroy all other creatures that were dealt damage this turn.

View File

@@ -0,0 +1,9 @@
Name:Deification
ManaCost:1 W
Types:Enchantment
K:ETBReplacement:Other:ChooseCT
SVar:ChooseCT:DB$ ChooseType | Type$ Planeswalker | SpellDescription$ As CARDNAME enters the battlefield, choose a planeswalker type.
S:Mode$ Continuous | Affected$ Planeswalker.YouCtrl+ChosenType | AddKeyword$ Hexproof | Description$ Planeswalkers you control of the chosen type have hexproof.
R:Event$ RemoveCounter | ActiveZones$ Battlefield | IsPresent$ Creature.YouCtrl | ValidCard$ Planeswalker.YouCtrl+ChosenType | Result$ LT1 | ValidCounterType$ LOYALTY | IsDamage$ True | ReplaceWith$ ReduceLoss | Description$ As long as you control a creature, if damage dealt to a planeswalker you control of the chosen type would result in all loyalty counters being removed, instead remove all but one of those counters instead.
SVar:ReduceLoss:DB$ ReplaceEffect | VarName$ Result | VarValue$ 1
Oracle:As Deification enters the battlefield, choose a planeswalker type.\nPlaneswalkers you control of the chosen type have hexproof.\nAs long as you control a creature, if damage dealt to a planeswalker you control of the chosen type would result in all loyalty counters being removed, instead remove all but one of those counters instead.

View File

@@ -0,0 +1,7 @@
Name:Drannith Ruins
ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
A:AB$ PutCounter | Cost$ 2 T | ValidTgts$ Creature.nonHuman+ThisTurnEntered | TgtPrompt$ Select target non-Human creature that entered the battlefield this turn | CounterType$ P1P1 | CounterNum$ 2 | SpellDescription$ Put two +1/+1 counters on target non-Human creature that entered the battlefield this turn.
DeckHas:Ability$Counters
Oracle:{T}: Add {C}.\n{2}, {T}: Put two +1/+1 counters on target non-Human creature that entered the battlefield this turn.

View File

@@ -0,0 +1,10 @@
Name:Feast of the Victorious Dead
ManaCost:W B
Types:Enchantment
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ Y | Execute$ TrigGainLife | TriggerDescription$ At the beginning of your end step, if one or more creatures died this turn, you gain that much life and distribute that many +1/+1 counters among creatures you control.
SVar:TrigGainLife:DB$ GainLife | Defined$ You | LifeAmount$ Y | SubAbility$ DBPutCounter
SVar:DBPutCounter:DB$ PutCounter | Choices$ Creature.YouCtrl | ChoiceTitle$ Choose any number of creatures you control to distribute counters to | CounterType$ P1P1 | CounterNum$ Y | DividedAsYouChoose$ Y | MinChoiceAmount$ 1 | ChoiceAmount$ Y
SVar:Y:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature
DeckHas:Ability$LifeGain|Counters
DeckHints:Ability$Sacrifice
Oracle:At the beginning of your end step, if one or more creatures died this turn, you gain that much life and distribute that many +1/+1 counters among creatures you control.

View File

@@ -0,0 +1,5 @@
Name:Filter Out
ManaCost:1 U U
Types:Instant
A:SP$ ChangeZoneAll | ChangeType$ Permanent.nonLand+nonCreature | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return all noncreature, nonland permanents to their owners' hands.
Oracle:Return all noncreature, nonland permanents to their owners' hands.

View File

@@ -0,0 +1,10 @@
Name:Jirina, Dauntless General
ManaCost:W B
Types:Legendary Creature Human Soldier
PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile all cards from target player's graveyard.
SVar:TrigExile:DB$ ChangeZoneAll | ValidTgts$ Player | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card | IsCurse$ True
A:AB$ PumpAll | Cost$ Sac<1/NICKNAME> | ValidCards$ Human.YouCtrl | KW$ Hexproof & Indestructible | SpellDescription$ Humans you control gain hexproof and indestructible until end of turn.
DeckHas:Ability$Graveyard|Sacrifice
DeckHints:Type$Human
Oracle:When Jirina, Dauntless General enters the battlefield, exile target player's graveyard.\nSacrifice Jirina: Humans you control gain hexproof and indestructible until end of turn.

View File

@@ -0,0 +1,12 @@
Name:Karn, Legacy Reforged
ManaCost:5
Types:Legendary Artifact Creature Golem
PT:*/*
S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ X | Description$ CARDNAME's power and toughness are each equal to the greatest mana value among artifacts you control.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ ArtifactMana | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, add {C} for each artifact you control. This mana can't be spent to cast nonartifact spells. Until end of turn, you don't lose this mana as steps and phases end.
SVar:ArtifactMana:DB$ Mana | Produced$ C | Amount$ Y | PersistentMana$ True | RestrictValid$ CantCastNonArtifactSpells
SVar:X:Count$Valid Artifact.YouCtrl$GreatestCMC
SVar:Y:Count$Valid Artifact.YouCtrl
SVar:BuffedBy:Artifact
DeckNeeds:Type$Artifact
Oracle:Karn, Legacy Reforged's power and toughness are each equal to the greatest mana value among artifacts you control.\nAt the beginning of your upkeep, add {C} for each artifact you control. This mana can't be spent to cast nonartifact spells. Until end of turn, you don't lose this mana as steps and phases end.

View File

@@ -4,11 +4,11 @@ Types:Legendary Creature Phyrexian Elemental
PT:4/4
R:Event$ LoseMana | ValidPlayer$ You | ReplacementResult$ Replaced | ReplaceWith$ ConvertMana | ActiveZones$ Battlefield | Description$ If you would lose unspent mana, that mana becomes black instead.
SVar:ConvertMana:DB$ ReplaceMana | ReplaceType$ Black
T:Mode$ Phase | ValidPlayer$ You | Phase$ Main1 | TriggerZones$ Battlefield | Execute$ TrigPeek | TriggerDescription$ At the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of colors and put it into your hand. If you don't reveal it, put it into your hand.
T:Mode$ Phase | ValidPlayer$ You | Phase$ Main1 | TriggerZones$ Battlefield | Execute$ TrigPeek | TriggerDescription$ At the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand.
SVar:TrigPeek:DB$ PeekAndReveal | Defined$ You | NoReveal$ True | RememberPeeked$ True | SubAbility$ DBReveal
SVar:DBReveal:DB$ PeekAndReveal | Defined$ You | NoPeek$ True | RevealOptional$ True | ImprintRevealed$ True | ConditionCheckSVar$ ColorAmount | ConditionSVarCompare$ GE3 | SubAbility$ DBMana
SVar:DBMana:DB$ Mana | Produced$ Combo Any | Amount$ 3 | ConditionDefined$ Imprinted | ConditionPresent$ Card | SubAbility$ DBMove
SVar:DBMana:DB$ ManaReflected | Produced$ Combo | ReflectProperty$ Is | ColorOrType$ Color | Amount$ 3 | Valid$ Defined.Imprinted | ConditionDefined$ Imprinted | ConditionPresent$ Card | SubAbility$ DBMove
SVar:DBMove:DB$ ChangeZone | Origin$ Library | Destination$ Hand | Defined$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:ColorAmount:Remembered$ChromaSource
Oracle:If you would lose unspent mana, that mana becomes black instead.\nAt the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of colors and put it into your hand. If you don't reveal it, put it into your hand.
Oracle:If you would lose unspent mana, that mana becomes black instead.\nAt the beginning of your precombat main phase, look at the top card of your library. You may reveal that card if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of its colors and put it into your hand. If you don't reveal it, put it into your hand.

View File

@@ -0,0 +1,9 @@
Name:Spark Rupture
ManaCost:2 W
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card.
SVar:TrigDraw:DB$ Draw
S:Mode$ Continuous | Affected$ Planeswalker.counters_GE1_LOYALTY | AddType$ Creature | RemoveCardTypes$ True | RemoveAllAbilities$ True | SetPower$ AffectedX | SetToughness$ AffectedX | Description$ Each planeswalker with one or more loyalty counters on it loses all abilities and is a creature with power and toughness each equal to the number of loyalty counters on it.
SVar:AffectedX:Count$CardCounters.LOYALTY
SVar:NonStackingEffect:True
Oracle:When Spark Rupture enters the battlefield, draw a card.\nEach planeswalker with one or more loyalty counters on it loses all abilities and is a creature with power and toughness each equal to the number of loyalty counters on it.

View File

@@ -0,0 +1,12 @@
Name:Tazri, Stalwart Survivor
ManaCost:2 W
Types:Legendary Creature Human Warrior
PT:3/3
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddAbility$ Mana | Description$ Each creature you control has "{T}: Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability."
SVar:Mana:AB$ ManaReflected | Cost$ T | Valid$ Defined.Self | ColorOrType$ Color | ReflectProperty$ Is | RestrictValid$ Activated.Creature+inZoneBattlefield | IsPresent$ Card.Self+hasOtherActivatedAbility | SpellDescription$ Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability.
A:AB$ Mill | Cost$ W U B R G | NumCards$ 5 | RememberMilled$ True | SubAbility$ DBChangeZone | SpellDescription$ Mill five cards.
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+hasNonManaActivatedAbility | Origin$ Graveyard,Exile | Destination$ Hand | SubAbility$ DBCleanup | SpellDescription$ Put all creature cards with activated abilities that aren't mana abilities from among the milled cards into your hand.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
DeckHas:Ability$Mill
AI:RemoveDeck:Random
Oracle:Each creature you control has "{T}: Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability."\n{W}{U}{B}{R}{G}: Mill five cards. Put all creature cards with activated abilities that aren't mana abilities from among the milled cards into your hand.

View File

@@ -6,7 +6,7 @@ S:Mode$ Continuous | Affected$ Land.YouCtrl | AddAbility$ AnyMana | Description$
SVar:AnyMana:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color.
A:AB$ Animate | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Land.YouCtrl | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select up to one target land you control | Power$ 3 | Toughness$ 3 | Types$ Creature,Elemental | Keywords$ Vigilance & Hexproof & Haste | Duration$ UntilYourNextTurn | SpellDescription$ Up to one target land you control becomes a 3/3 Elemental creature with vigilance, hexproof, and haste until your next turn. It's still a land.
A:AB$ Mill | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | NumCards$ 3 | RememberMilled$ True | SubAbility$ DBChangeZone | SpellDescription$ Mill three cards. You may put a permanent card from among the milled cards into your hand.
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Hidden$ True | ChangeNum$ 1 | ChangeType$ Card.Permanent+IsRemembered | SubAbility$ DBCleanup
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard,Exile | Destination$ Hand | Hidden$ True | ChangeNum$ 1 | ChangeType$ Card.Permanent+IsRemembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
A:AB$ Effect | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem - Wrenn and Realmbreaker | Image$ emblem_wrenn_and_realmbreaker | StaticAbilities$ PermanentRecycle | Stackable$ False | Duration$ Permanent | AILogic$ Always | SpellDescription$ You get an emblem with "You may play lands and cast permanent spells from your graveyard."
SVar:PermanentRecycle:Mode$ Continuous | EffectZone$ Command | Affected$ Card.Permanent+YouOwn | MayPlay$ True | AffectedZone$ Graveyard | Description$ You may play lands and cast permanent spells from your graveyard.

View File

@@ -675,7 +675,7 @@ ScryfallCode=SLD
707 R Knight Exemplar @Victor Adame Minguez
708 R Fellwar Stone @Dan Frazier
709 R Dragon's Hoard @Pedro Potier
710 R Command Tower @Evan Shipard
710 R Command Tower @Joana LaFuente
711 R Tireless Tracker @Nils Hamm
716 R Shivan Dragon @Martin Ontiveros
718 R Maro @Jesper Ejsing
@@ -684,7 +684,7 @@ ScryfallCode=SLD
721 R Diabolic Tutor @Brain Dead
724 R Lightning Strike @Frank Frazetta
726 R Zur the Enchanter @Chase Stone
727 R Fabled Passage @Warren Mahy
727 R Fabled Passage @Warren Mahy & Post Malone
728 R Themberchaud @Yang Luo
900 R The Scarab God @Barely Human
1001 M Elspeth, Knight-Errant @Volkan Baǵa
@@ -705,11 +705,11 @@ ScryfallCode=SLD
1016 M Inferno of the Star Mounts @Jeff Dee
1017 M Old Gnawbone @Justine Mara Andersen
1018 M Tiamat @Pedro Potier
1020 R Idyllic Tutor @Riyou Kamei
1021 R Swords to Plowshares @Riyou Kamei
1022 R Solve the Equation @Riyou Kamei
1023 R Praetor's Grasp @Riyou Kamei
1024 R Veil of Summer @Riyou Kamei
1020 R Idyllic Tutor @Ryo Kamei
1021 R Swords to Plowshares @Ryo Kamei
1022 R Solve the Equation @Ryo Kamei
1023 R Praetor's Grasp @Ryo Kamei
1024 R Veil of Summer @Ryo Kamei
1025 R Merciless Executioner @Paolo Parente
1026 R Aggravated Assault @Helge C. Balzer
1027 R Krenko, Tin Street Kingpin @Paolo Parente
@@ -809,16 +809,16 @@ ScryfallCode=SLD
1123b R Etali, Primal Storm @Mike Burns
1124a R Ghalta, Primal Hunger @Mike Burns
1124b R Ghalta, Primal Hunger @Mike Burns
1125 R Serra Ascendant @Kozyndan
1126 R Rapid Hybridization @Kozyndan
1127 R Demonic Consultation @Kozyndan
1128 R Winds of Change @Kozyndan
1129 R Llanowar Elves @Kozyndan
1130 R Plains @Kozyndan
1131 R Island @Kozyndan
1132 R Swamp @Kozyndan
1133 R Mountain @Kozyndan
1134 R Forest @Kozyndan
1125 R Serra Ascendant @kozyndan
1126 R Rapid Hybridization @kozyndan
1127 R Demonic Consultation @kozyndan
1128 R Winds of Change @kozyndan
1129 R Llanowar Elves @kozyndan
1130 R Plains @kozyndan
1131 R Island @kozyndan
1132 R Swamp @kozyndan
1133 R Mountain @kozyndan
1134 R Forest @kozyndan
1135 R Abundant Growth @Ian Jepson
1136 R Mycoloth @CatDirty
1137 M Ghave, Guru of Spores @Sean O'Neill
@@ -884,8 +884,8 @@ ScryfallCode=SLD
1220 R Counterbalance @Rope Arrow
1221 M Bruna, Light of Alabaster @Rope Arrow
1222 M Hexdrinker @Boneface
1223 R Lotus Cobra @Crom
1224 R Seshiro the Anointed @Niarki
1223 R Lotus Cobra @CROM
1224 R Seshiro the Anointed @NIARK1
1225 R Ice-Fang Coatl @Crocodile Jackson
1226 R Stonecoil Serpent @Laynes
1227 R Alms Collector @Paul Mafayon
@@ -912,11 +912,41 @@ ScryfallCode=SLD
1248 M Koth of the Hammer @Sam Burley
1249 M Master of the Wild Hunt @Sam Burley
1250 M Karrthus, Tyrant of Jund @Sam Burley
1251 R Cleansing Nova @Rebecca Guay
1252 M Serra the Benevolent @Rebecca Guay
1253 R Stoneforge Mystic @Rebecca Guay
1254 R Muddle the Mixture @Rebecca Guay
1262 R Wheel and Deal @Samy Halim
1263 M Questing Beast @Omar Rayyan
1264 M Olivia Voldaren @Samuel Araya
1265 R Walking Ballista @Warren Mahy
1266 R The World Tree @Matt Stikker
1267 R Higure, the Still Wind @Rorubei
1268 R Nezahal, Primal Tide @Yeong-Hao Han
1269 M Dragonlord Kolaghan @Domenico Cava
1270 R Mina and Denn, Wildborn @Jessica Rossier
1271 R Xantcha, Sleeper Agent @JungShan
1272 R Misdirection @Rovina Cai
1273 M Utvara Hellkite @Alex Dos Diaz
1274 R Kogla, the Titan Ape @Steve Ellis
1275 M Nyxbloom Ancient @Jason A. Engle
1276 R Jhoira, Weatherlight Captain @Lisa Heidhoff
1277 R Llawan, Cephalid Empress @Lauren YS
1278 M Master of Waves @Lauren YS
1279 M Thassa, Deep-Dwelling @Lauren YS
1280 R Thassa's Oracle @Lauren YS
1281 R Joraga Treespeaker @Aya Kakeda
1282 R Nature's Will @Aya Kakeda
1283 R Ulvenwald Tracker @Aya Kakeda
1284 R Yeva, Nature's Herald @Aya Kakeda
1285 R Grand Abolisher @Randy Vargas
1286 R Selfless Savior @Randy Vargas
1287 M Akroma, Angel of Fury @Randy Vargas
1288 R Umezawa's Jitte @Randy Vargas
1289 M Linvala, Keeper of Silence @Alayna Danner
1290 R Sunblast Angel @Alayna Danner
1291 R Emeria, the Sky Ruin @Alayna Danner
1292 R Seraph Sanctuary @Alayna Danner
8001 M Jace, the Mind Sculptor @Wizard of Barge
9995 M Garruk, Caller of Beasts @Jesper Ejsing
9996 R Rograkh, Son of Rohgahh @Andrew Mar

View File

@@ -0,0 +1,86 @@
[metadata]
Name=Adaptive Enchantment [C18] [2018]
[Commander]
1 Estrid, the Masked|C18|1
[Main]
1 Ajani's Chosen|C18|1
1 Archetype of Imagination|C18|1
1 Arixmethes, Slumbering Isle|C18|1
1 Aura Gnarlid|C18|1
1 Azorius Chancery|C18|1
1 Bant Charm|C18|1
1 Bear Umbra|C18|1
1 Blossoming Sands|C18|1
1 Boon Satyr|C18|1
1 Bruna, Light of Alabaster|C18|1
1 Celestial Archon|C18|1
1 Cold-Eyed Selkie|C18|1
1 Command Tower|C18|1
1 Creeping Renaissance|C18|1
1 Dawn's Reflection|C18|1
1 Daxos of Meletis|C18|1
1 Dictate of Kruphix|C18|1
1 Dismantling Blow|C18|1
1 Eel Umbra|C18|1
1 Eidolon of Blossoms|C18|1
1 Elderwood Scion|C18|1
1 Empyrial Storm|C18|1
1 Enchantress's Presence|C18|1
1 Epic Proportions|C18|1
1 Estrid's Invocation|C18|1
1 Ever-Watching Threshold|C18|1
1 Evolving Wilds|C18|1
1 Fertile Ground|C18|1
1 Finest Hour|C18|1
8 Forest|C18|1
1 Forge of Heroes|C18|1
1 Genesis Storm|C18|1
1 Ground Seal|C18|1
1 Heavenly Blademaster|C18|1
1 Herald of the Pantheon|C18|1
1 Hydra Omnivore|C18|1
6 Island|C18|1
1 Kestia, the Cultivator|C18|1
1 Krosan Verge|C18|1
1 Kruphix's Insight|C18|1
1 Loyal Drake|C18|1
1 Loyal Guardian|C18|1
1 Loyal Unicorn|C18|1
1 Martial Coup|C18|1
1 Meandering River|C18|1
1 Mosswort Bridge|C18|1
1 Myth Unbound|C18|1
1 Nylea's Colossus|C18|1
1 Octopus Umbra|C18|1
1 Overgrowth|C18|1
1 Phyrexian Rebirth|C18|1
9 Plains|C18|1
1 Ravenous Slime|C18|1
1 Reclamation Sage|C18|1
1 Righteous Authority|C18|1
1 Sage's Reverie|C18|1
1 Seaside Citadel|C18|1
1 Selesnya Sanctuary|C18|1
1 Sigil of the Empty Throne|C18|1
1 Silent Sentinel|C18|1
1 Simic Growth Chamber|C18|1
1 Snake Umbra|C18|1
1 Sol Ring|C18|1
1 Soul Snare|C18|1
1 Spawning Grounds|C18|1
1 Terramorphic Expanse|C18|1
1 Thornwood Falls|C18|1
1 Tranquil Cove|C18|1
1 Tranquil Expanse|C18|1
1 Tuvasa the Sunlit|C18|1
1 Unflinching Courage|C18|1
1 Unquestioned Authority|C18|1
1 Vow of Flight|C18|1
1 Vow of Wildness|C18|1
1 Whitewater Naiads|C18|1
1 Wild Growth|C18|1
1 Winds of Rath|C18|1
1 Woodland Stream|C18|1
1 Yavimaya Enchantress|C18|1
[Sideboard]

View File

@@ -0,0 +1,89 @@
[metadata]
Name=Arcane Maelstrom [C20] [2020]
[commander]
1 Kalamax, the Stormsire+|C20
[main]
1 Arcane Signet|C20
1 Artifact Mutation|C20
1 Bonder's Ornament|C20
1 Channeled Force|C20
1 Chaos Warp|C20
1 Charmbreaker Devils|C20
1 Chemister's Insight|C20
1 Cinder Glade|C20
1 Clash of Titans|C20
1 Comet Storm|C20
1 Command Tower|C20
1 Commander's Sphere|C20
1 Commune with Lava|C20
1 Crackling Drake|C20
1 Crop Rotation|C20
1 Curious Herd|C20
1 Decoy Gambit|C20
1 Deflecting Swat|C20
1 Desolate Lighthouse|C20
1 Djinn Illuminatus|C20
1 Dualcaster Mage|C20
1 Eon Frolicker|C20
1 Etali, Primal Storm|C20
1 Evolution Charm|C20
1 Exotic Orchard|C20
8 Forest|C20
1 Frantic Search|C20
1 Frontier Bivouac|C20
1 Glademuse|C20
1 Goblin Dark-Dwellers|C20
1 Growth Spiral|C20
1 Gruul Turf|C20
1 Haldan, Avid Arcanist|C20
1 Halimar Depths|C20
1 Harrow|C20
1 Hunter's Insight|C20
1 Hunting Pack|C20
5 Island|C20
1 Izzet Boilerworks|C20
1 Jace, Architect of Thought|C20
1 Kessig Wolf Run|C20
1 Lavabrink Floodgates|C20
1 Lightning Greaves|C20
1 Lunar Mystic|C20
1 Melek, Izzet Paragon|C20
1 Mossfire Valley|C20
1 Mosswort Bridge|C20
5 Mountain|C20
1 Murmuring Mystic|C20
1 Myriad Landscape|C20
1 Nascent Metamorph|C20
1 Natural Connection|C20
1 Niblis of Frost|C20
1 Oran-Rief, the Vastwood|C20
1 Pako, Arcane Retriever|C20
1 Predatory Impetus|C20
1 Primal Empathy|C20
1 Prophetic Bolt|C20
1 Psychic Impetus|C20
1 Rashmi, Eternities Crafter|C20
1 Ravenous Gigantotherium|C20
1 Rugged Highlands|C20
1 Rupture Spire|C20
1 Scavenger Grounds|C20
1 Shiny Impetus|C20
1 Simic Growth Chamber|C20
1 Slice in Twain|C20
1 Sol Ring|C20
1 Solemn Simulacrum|C20
1 Starstorm|C20
1 Strength of the Tajuru|C20
1 Surreal Memoir|C20
1 Swarm Intelligence|C20
1 Swiftwater Cliffs|C20
1 Talrand, Sky Summoner|C20
1 Temur Charm|C20
1 Thornwood Falls|C20
1 Tribute to the Wild|C20
1 Twinning Staff|C20
1 Whiplash Trap|C20
1 Wilderness Reclamation|C20
1 Wort, the Raidmother|C20
1 Xyris, the Writhing Storm|C20
1 Yavimaya Coast|C20

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Arcane Wizardry
Name=Arcane Wizardry [C17] [2017]
[Commander]
1 Inalla, Archmage Ritualist|C17
[Main]

View File

@@ -0,0 +1,83 @@
[metadata]
Name=Arm for Battle [CMR] [2020]
[commander]
1 Wyleth, Soul of Steel+|CMR
[main]
1 Abrade|CMR
1 Blackblade Reforged|CMR
1 Blazing Sunsteel|CMR
1 Bonesplitter|CMR
1 Boros Charm|CMR
1 Boros Garrison|CMR
1 Boros Guildgate|CMR
1 Boros Signet|CMR
1 Brass Squire|CMR
1 Comet Storm|CMR
1 Command Tower|CMR
1 Condemn|CMR
1 Danitha Capashen, Paragon|CMR
1 Dawn Charm|CMR
1 Deflecting Palm|CMR
1 Disenchant|CMR
1 Dualcaster Mage|CMR
1 Encroaching Wastes|CMR
1 Evolving Wilds|CMR
1 Expedite|CMR
1 Explorer's Scope|CMR
1 Faith Unbroken|CMR
1 Fireshrieker|CMR
1 Fists of Flame|CMR
1 Flickerwisp|CMR
1 Forgotten Cave|CMR
1 Generous Gift|CMR
1 Haunted Cloak|CMR
1 Hero's Blade|CMR
1 Ironclad Slayer|CMR
1 Jaya's Immolating Inferno|CMR
1 Kor Cartographer|CMR
1 Loxodon Warhammer|CMR
1 Martial Coup|CMR
1 Mask of Avacyn|CMR
1 Master Warcraft|CMR
1 Memorial to War|CMR
9 Mountain|CMR
1 Myriad Landscape|CMR
1 Odric, Lunarch Marshal|CMR
1 On Serra's Wings|CMR
1 Oreskos Explorer|CMR
14 Plains|CMR
1 Relentless Assault|CMR
1 Relic Seeker|CMR
1 Response // Resurgence|CMR
1 Return to Dust|CMR
1 Ring of Thune|CMR
1 Ring of Valkas|CMR
1 Rogue's Passage|CMR
1 Rupture Spire|CMR
1 Secluded Steppe|CMR
1 Sigarda's Aid|CMR
1 Slayers' Stronghold|CMR
1 Sol Ring|CMR
1 Spirit Mantle|CMR
1 Sram, Senior Edificer|CMR
1 Stone Quarry|CMR
1 Sunforger|CMR
1 Sunhome, Fortress of the Legion|CMR
1 Swiftfoot Boots|CMR
1 Sword of Vengeance|CMR
1 Swords to Plowshares|CMR
1 Temur Battle Rage|CMR
1 Terramorphic Expanse|CMR
1 Tiana, Ship's Caretaker|CMR
1 Timely Ward|CMR
1 Transguild Promenade|CMR
1 Unbreakable Formation|CMR
1 Unquestioned Authority|CMR
1 Valorous Stance|CMR
1 Volcanic Fallout|CMR
1 Wear // Tear|CMR
1 White Sun's Zenith|CMR
1 Wild Ricochet|CMR
1 Wind-Scarred Crag|CMR
1 Winds of Rath|CMR
1 Word of Seizing|CMR

View File

@@ -0,0 +1,93 @@
[metadata]
Name=Aura of Courage [AFC] [2021]
[commander]
1 Galea, Kindler of Hope+|AFC
[main]
1 Abundant Growth|AFC
1 Acidic Slime|AFC
1 Angel of Finality|AFC
1 Angelic Gift|AFC
1 Arcane Signet|AFC
1 Argentum Armor|AFC
1 Azorius Chancery|AFC
1 Bant Charm|AFC
1 Bant Panorama|AFC
1 Basilisk Collar|AFC
1 Behemoth Sledge|AFC
1 Belt of Giant Strength|AFC
1 Brainstorm|AFC
1 Canopy Vista|AFC
1 Catti-brie of Mithral Hall|AFC
1 Clay Golem|AFC
1 Cold-Eyed Selkie|AFC
1 Colossus Hammer|AFC
1 Command Tower|AFC
1 Curse of Verbosity|AFC
1 Diviner's Portent|AFC
1 Ebony Fly|AFC
1 Eel Umbra|AFC
1 Evolving Wilds|AFC
1 Exotic Orchard|AFC
1 Explorer's Scope|AFC
1 Fertile Ground|AFC
1 Fey Steed|AFC
1 Fleecemane Lion|AFC
1 Flood Plain|AFC
8 Forest|AFC
1 Fortified Village|AFC
1 Grasslands|AFC
1 Greater Good|AFC
1 Gryff's Boon|AFC
1 Halimar Depths|AFC
1 Heroic Intervention|AFC
1 Holy Avenger|AFC
1 Imprisoned in the Moon|AFC
4 Island|AFC
1 Kenrith's Transformation|AFC
1 Knight of Autumn|AFC
1 Lumbering Falls|AFC
1 Mantle of the Ancients|AFC
1 Masterwork of Ingenuity|AFC
1 Mishra's Factory|AFC
1 Moonsilver Spear|AFC
1 Nature's Lore|AFC
1 Netherese Puzzle-Ward|AFC
1 Paradise Druid|AFC
1 Path of Ancestry|AFC
2 Plains|AFC
1 Port Town|AFC
1 Prairie Stream|AFC
1 Prognostic Sphinx|AFC
1 Psychic Impetus|AFC
1 Puresteel Paladin|AFC
1 Rancor|AFC
1 Realm-Cloaked Giant|AFC
1 Ride the Avalanche|AFC
1 Riverwise Augur|AFC
1 Robe of Stars|AFC
1 Seaside Citadel|AFC
1 Serum Visions|AFC
1 Shielding Plax|AFC
1 Simic Growth Chamber|AFC
1 Skycloud Expanse|AFC
1 Sol Ring|AFC
1 Song of Inspiration|AFC
1 Sram, Senior Edificer|AFC
1 Storvald, Frost Giant Jarl|AFC
1 Sungrass Prairie|AFC
1 Swiftfoot Boots|AFC
1 Sword of Hours|AFC
1 Sword of the Animist|AFC
1 Terramorphic Expanse|AFC
1 Thriving Grove|AFC
1 Thriving Heath|AFC
1 Thriving Isle|AFC
1 Utopia Sprawl|AFC
1 Valiant Endeavor|AFC
1 Valorous Stance|AFC
1 Verdant Embrace|AFC
1 Viridian Longbow|AFC
1 Vitu-Ghazi, the City-Tree|AFC
1 Wild Growth|AFC
1 Winds of Rath|AFC
1 Winged Boots|AFC

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Breed Lethality
Name=Breed Lethality [C16] [2016]
[Commander]
1 Atraxa, Praetors' Voice+|C16
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Breed Lethality (2018)
Name=Breed Lethality [CM2] [2018]
[Commander]
1 Atraxa, Praetors' Voice+|CM2
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Built from Scratch
Name=Built from Scratch [C14] [2014]
[Commander]
1 Daretti, Scrap Savant|C14
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Built from Scratch (2018)
Name=Built from Scratch [CM2] [2018]
[Commander]
1 Daretti, Scrap Savant+|CM2
[Main]

View File

@@ -0,0 +1,95 @@
[metadata]
Name=Call for Backup [MOC] [2023]
[Commander]
1 Bright-Palm, Soul Awakener|MOC|1
[Main]
1 Abzan Battle Priest|MOC|1
1 Abzan Falconer|MOC|1
1 Alharu, Solemn Ritualist|MOC|1
1 Arcane Signet|MOC|1
1 Armorcraft Judge|MOC|1
1 Brawn|MOC|1
1 Bretagard Stronghold|MOC|1
1 Canopy Vista|MOC|1
1 Champion of Lambholt|MOC|1
1 Cinder Glade|MOC|1
1 Command Tower|MOC|1
1 Commander's Sphere|MOC|1
1 Conclave Mentor|MOC|1
1 Conclave Sledge-Captain|MOC|1
1 Constable of the Realm|MOC|1
1 Cultivate|MOC|1
1 Death-Greeter's Champion|MOC|1
1 Dromoka's Command|MOC|1
1 Elite Scaleguard|MOC|1
1 Emergent Woodwurm|MOC|1
1 Enduring Scalelord|MOC|1
1 Evolving Wilds|MOC|1
1 Exotic Orchard|MOC|1
1 Falkenrath Exterminator|MOC|1
1 Fertilid|MOC|1
1 Field of Ruin|MOC|1
1 Flamerush Rider|MOC|1
1 Flameshadow Conjuring|MOC|1
6 Forest|MOM|1
1 Forgotten Ancient|MOC|1
1 Fortified Village|MOC|1
1 Fractured Powerstone|MOC|1
1 Furycalm Snarl|MOC|1
1 Game Trail|MOC|1
1 Gavony Township|MOC|1
1 Generous Gift|MOC|1
1 Genesis Hydra|MOC|1
1 Good-Fortune Unicorn|MOC|1
1 Guardian Scalelord|MOC|1
1 Gyre Sage|MOC|1
1 Hamza, Guardian of Arashin|MOC|1
1 Heaven // Earth|MOC|1
1 High Sentinels of Arashin|MOC|1
1 Hindervines|MOC|1
1 Ichor Elixir|MOC|1
1 Incubation Druid|MOC|1
1 Inscription of Abundance|MOC|1
1 Inspiring Call|MOC|1
1 Ion Storm|MOC|1
1 Jungle Shrine|MOC|1
1 Juniper Order Ranger|MOC|1
1 Kalonian Hydra|MOC|1
1 Kessig Wolf Run|MOC|1
1 Kodama's Reach|MOC|1
1 Krenko, Tin Street Kingpin|MOC|1
1 Krosan Verge|MOC|1
1 Llanowar Reborn|MOC|1
1 Managorger Hydra|MOC|1
1 Mikaeus, the Lunarch|MOC|1
1 Mindless Automaton|MOC|1
1 Mirror-Style Master|MOC|1
1 Mossfire Valley|MOC|1
1 Mosswort Bridge|MOC|1
2 Mountain|MOM|1
1 Path of the Pyromancer|MOC|1
1 Path of Ancestry|MOC|1
5 Plains|MOM|1
1 Pridemalkin|MOC|1
1 Restoration Angel|MOC|1
1 Return to Nature|MOC|1
1 Rishkar, Peema Renegade|MOC|1
1 Rogue's Passage|MOC|1
1 Semester's End|MOC|1
1 Shalai and Hallar|MOC|1
1 Slurrk, All-Ingesting|MOC|1
1 Sol Ring|MOC|1
1 Strionic Resonator|MOC|1
1 Sungrass Prairie|MOC|1
1 Sunscorch Regent|MOC|1
1 Swords to Plowshares|MOC|1
1 Temple of Abandon|MOC|1
1 Temple of Plenty|MOC|1
1 Temple of the False God|MOC|1
1 Temple of Triumph|MOC|1
1 Terramorphic Expanse|MOC|1
1 Together Forever|MOC|1
1 Triskelion|MOC|1
1 Uncivil Unrest|MOC|1
1 Wood Elves|MOC|1
[Sideboard]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Call the Spirits
Name=Call the Spirits [C15] [2015]
Description=Daxos the Returned travels across Theros in a never-ending search, surrounded by spirits that are drawn to his power. As mighty enchantments enter the battlefield, the spirits he summons grow larger and larger, leaving his enemies overwhelmed.
[Commander]
1 Daxos the Returned+|C15

View File

@@ -0,0 +1,89 @@
[metadata]
Name=Cavalry Charge [MOC] [2023]
[Commander]
1 Sidar Jabari of Zhalfir|MOC|1
[Main]
1 Acclaimed Contender|MOC|1
1 Adeline, Resplendent Cathar|MOC|1
1 Arcane Sanctum|MOC|1
1 Arcane Signet|MOC|1
1 Arvad the Cursed|MOC|1
1 Aryel, Knight of Windgrace|MOC|1
1 Bojuka Bog|MOC|1
1 Chivalric Alliance|MOC|1
1 Choked Estuary|MOC|1
1 Command Tower|MOC|1
1 Commander's Sphere|MOC|1
1 Conjurer's Mantle|MOC|1
1 Corpse Knight|MOC|1
1 Despark|MOC|1
1 Distant Melody|MOC|1
1 Elenda and Azor|MOC|1
1 Ethersworn Adjudicator|MOC|1
1 Evolving Wilds|MOC|1
1 Exotic Orchard|MOC|1
1 Ichor Elixir|MOC|1
1 Exsanguinator Cavalry|MOC|1
1 Fell the Mighty|MOC|1
1 Fellwar Stone|MOC|1
1 Foulmire Knight|MOC|1
1 Fractured Powerstone|MOC|1
1 Haakon, Stromgald Scourge|MOC|1
1 Herald of Hoofbeats|MOC|1
1 Herald's Horn|MOC|1
1 Hero of Bladehold|MOC|1
6 Island|MOM|1
1 Josu Vess, Lich Knight|MOC|1
1 Knight Exemplar|MOC|1
1 Knight of the Last Breath|MOC|1
1 Knight of the White Orchid|MOC|1
1 Knights of the Black Rose|MOC|1
1 Knights' Charge|MOC|1
1 Liliana's Standard Bearer|MOC|1
1 Locthwain Lancer|MOC|1
1 Maul of the Skyclaves|MOC|1
1 Midnight Reaper|MOC|1
1 Mind Stone|MOC|1
1 Murderous Rider|MOC|1
1 Myriad Landscape|MOC|1
1 Order of Midnight|MOC|1
1 Orzhov Signet|MOC|1
1 Painful Truths|MOC|1
1 Path of the Enigma|MOC|1
1 Path of Ancestry|MOC|1
1 Path to Exile|MOC|1
8 Plains|MOM|1
1 Port Town|MOC|1
1 Prairie Stream|MOC|1
1 Promise of Loyalty|MOC|1
1 Pull from Tomorrow|MOC|1
1 Read the Bones|MOC|1
1 Return to Dust|MOC|1
1 Shineshadow Snarl|MOC|1
1 Sigiled Sword of Valeron|MOC|1
1 Silverwing Squadron|MOC|1
1 Smitten Swordmaster|MOC|1
1 Sol Ring|MOC|1
1 Sunken Hollow|MOC|1
5 Swamp|MOM|1
1 Swords to Plowshares|MOC|1
1 Syr Elenora, the Discerning|MOC|1
1 Syr Konrad, the Grim|MOC|1
1 Temple of Deceit|MOC|1
1 Temple of Enlightenment|MOC|1
1 Temple of Silence|MOC|1
1 Temple of the False God|MOC|1
1 Terramorphic Expanse|MOC|1
1 Thriving Heath|MOC|1
1 Thriving Isle|MOC|1
1 Thriving Moor|MOC|1
1 Time Wipe|MOC|1
1 Unbreakable Formation|MOC|1
1 Valiant Knight|MOC|1
1 Vanquisher's Banner|MOC|1
1 Vodalian Wave-Knight|MOC|1
1 Vona, Butcher of Magan|MOC|1
1 Wintermoor Commander|MOC|1
1 Worthy Knight|MOC|1
1 Xerex Strobe-Knight|MOM|1
[Sideboard]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Counterpunch
Name=Counterpunch [COM] [2011]
[Commander]
1 Ghave, Guru of Spores|COM
[Main]

View File

@@ -0,0 +1,82 @@
[metadata]
Name=Coven Counters [MIC] [2021]
[commander]
1 Leinore, Autumn Sovereign+|MIC
[main]
1 Abzan Falconer|MIC
1 Ainok Bond-Kin|MIC
1 Angel of Glory's Rise|MIC
1 Arcane Signet|MIC
1 Avacyn's Pilgrim|MIC
1 Bastion Protector|MIC
1 Beast Within|MIC
1 Bestial Menace|MIC
1 Biogenic Upgrade|MIC
1 Blighted Woodland|MIC
1 Canopy Vista|MIC
1 Celebrate the Harvest|MIC
1 Celestial Judgment|MIC
1 Champion of Lambholt|MIC
1 Citadel Siege|MIC
1 Cleansing Nova|MIC
1 Command Tower|MIC
1 Curse of Clinging Webs|MIC
1 Curse of Conformity|MIC
1 Custodi Soulbinders|MIC
1 Dawnhart Wardens|MIC
1 Dearly Departed|MIC
1 Death's Presence|MIC
1 Elite Scaleguard|MIC
1 Enduring Scalelord|MIC
1 Eternal Witness|MIC
1 Exotic Orchard|MIC
12 Forest|MIC
1 Fortified Village|MIC
1 Growth Spasm|MIC
1 Gyre Sage|MIC
1 Herald of War|MIC
1 Heron's Grace Champion|MIC
1 Heronblade Elite|MIC
1 Hour of Reckoning|MIC
1 Inspiring Call|MIC
1 Juniper Order Ranger|MIC
1 Kessig Cagebreakers|MIC
1 Knight of the White Orchid|MIC
1 Krosan Verge|MIC
1 Kurbis, Harvest Celebrant|MIC
1 Kyler, Sigardian Emissary|MIC
1 Lifecrafter's Bestiary|MIC
1 Mikaeus, the Lunarch|MIC
1 Moonsilver Key|MIC
1 Moorland Rescuer|MIC
1 Myriad Landscape|MIC
1 Odric, Master Tactician|MIC
1 Orzhov Advokist|MIC
1 Path of Ancestry|MIC
12 Plains|MIC
1 Return to Dust|MIC
1 Riders of Gavony|MIC
1 Rogue's Passage|MIC
1 Ruinous Intrusion|MIC
1 Selesnya Sanctuary|MIC
1 Shamanic Revelation|MIC
1 Sigarda's Vanguard|MIC
1 Sigarda, Heron's Grace|MIC
1 Sigardian Zealot|MIC
1 Sol Ring|MIC
1 Somberwald Beastmaster|MIC
1 Somberwald Sage|MIC
1 Stalwart Pathlighter|MIC
1 Sungrass Prairie|MIC
1 Swiftfoot Boots|MIC
1 Swords to Plowshares|MIC
1 Talisman of Unity|MIC
1 Temple of Plenty|MIC
1 Temple of the False God|MIC
1 Trostani's Summoner|MIC
1 Unbreakable Formation|MIC
1 Verdurous Gearhulk|MIC
1 Victory's Envoy|MIC
1 Wall of Mourning|MIC
1 Wild Beastmaster|MIC
1 Yavimaya Elder|MIC

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Devour for Power (2018)
Name=Devour for Power [CM2] [2018]
[Commander]
1 The Mimeoplasm+|CM2
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Devour for Power
Name=Devour for Power [COM] [2011]
[Commander]
1 The Mimeoplasm|COM
[Main]

View File

@@ -0,0 +1,84 @@
[metadata]
Name=Divine Convocation [MOC] [2023]
[Commander]
1 Kasla, the Broken Halo|MOC|1
[Main]
1 Angel of Finality|MOC|1
1 Angel of Salvation|MOC|1
1 Arcane Signet|MOC|1
1 Artistic Refusal|MOM|1
1 Austere Command|MOC|1
1 Banisher Priest|MOC|1
1 Battle Screech|MOC|1
1 Chant of Vitu-Ghazi|MOC|1
1 Chasm Skulker|MOC|1
1 Cloud of Faeries|MOC|1
1 Command Tower|MOC|1
1 Commander's Sphere|MOC|1
1 Conclave Tribunal|MOC|1
1 Cultivator's Caravan|MOC|1
1 Cut Short|MOM|1
1 Temporal Cleansing|MOM|1
1 Wrenn's Resolve|MOM|1
1 Deluxe Dragster|MOC|1
1 Devouring Light|MOC|1
1 Duergar Hedge-Mage|MOC|1
1 Elspeth, Sun's Champion|MOC|1
1 Emeria Angel|MOC|1
1 Ephemeral Shields|MOC|1
1 Evolving Wilds|MOC|1
1 Exotic Orchard|MOC|1
1 Fallowsage|MOC|1
1 Flight of Equenauts|MOC|1
1 Flockchaser Phantom|MOC|1
1 Fractured Powerstone|MOC|1
1 Frostboil Snarl|MOC|1
1 Furycalm Snarl|MOC|1
1 Goblin Instigator|MOC|1
1 Goblin Medics|MOC|1
1 Hour of Reckoning|MOC|1
1 Impact Tremors|MOC|1
1 Improbable Alliance|MOC|1
8 Island|MOM|1
1 Joyful Stormsculptor|MOM|1
1 Keeper of the Accord|MOC|1
1 Kher Keep|MOC|1
1 Kykar, Wind's Fury|MOC|1
1 Meeting of Minds|MOM|1
1 Mentor of the Meek|MOC|1
1 Migratory Route|MOC|1
1 Mistmeadow Vanisher|MOC|1
8 Mountain|MOM|1
1 Mystic Monastery|MOC|1
1 Nadir Kraken|MOC|1
1 Nesting Dovehawk|MOC|1
8 Plains|MOM|1
1 Port Town|MOC|1
1 Prairie Stream|MOC|1
1 Rogue's Passage|MOC|1
1 Secure the Wastes|MOC|1
1 Seraph of the Masses|MOC|1
1 Shatter the Source|MOM|1
1 Skullclamp|MOC|1
1 Skycloud Expanse|MOC|1
1 Sol Ring|MOC|1
1 Spirited Companion|MOC|1
1 Stoke the Flames|MOM|1
1 Suture Priest|MOC|1
1 Swords to Plowshares|MOC|1
1 Temple of Enlightenment|MOC|1
1 Temple of Epiphany|MOC|1
1 Temple of Triumph|MOC|1
1 Terramorphic Expanse|MOC|1
1 Tetsuko Umezawa, Fugitive|MOC|1
1 The Locust God|MOC|1
1 Venerated Loxodon|MOC|1
1 Village Bell-Ringer|MOC|1
1 Wand of the Worldsoul|MOC|1
1 Wear // Tear|MOC|1
1 Whirlwind of Thought|MOC|1
1 Wildfire Awakener|MOC|1
1 Ichor Elixir|MOC|1
1 Path of the Ghosthunter|MOC|1
1 Saint Traft and Rem Karolus|MOC|1
[Sideboard]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Draconic Domination
Name=Draconic Domination [C17] [2017]
[Commander]
1 The Ur-Dragon|C17
[Main]

View File

@@ -0,0 +1,79 @@
[metadata]
Name=Draconic Rage [AFC] [2021]
[commander]
1 Vrondiss, Rage of Ancients+|AFC
[main]
1 Anger|AFC
1 Arcane Signet|AFC
1 Atarka, World Render|AFC
1 Bag of Tricks|AFC
1 Barbarian Class|AFC
1 Beast Within|AFC
1 Berserker's Frenzy|AFC
1 Bogardan Hellkite|AFC
1 Chain Reaction|AFC
1 Chameleon Colossus|AFC
1 Chaos Dragon|AFC
1 Cinder Glade|AFC
1 Colossal Majesty|AFC
1 Command Tower|AFC
1 Commander's Sphere|AFC
1 Component Pouch|AFC
1 Crucible of the Spirit Dragon|AFC
1 Cultivate|AFC
1 Decree of Savagery|AFC
1 Demanding Dragon|AFC
1 Desert|AFC
1 Dragon's Hoard|AFC
1 Dragonborn Champion|AFC
1 Dragonlord's Servant|AFC
1 Dragonmaster Outcast|AFC
1 Dragonspeaker Shaman|AFC
1 Druid of Purification|AFC
1 Earth-Cult Elemental|AFC
1 Exotic Orchard|AFC
1 Explore|AFC
15 Forest|AFC
1 Game Trail|AFC
1 Garruk's Uprising|AFC
1 Gratuitous Violence|AFC
1 Gruul Signet|AFC
1 Gruul Turf|AFC
1 Haven of the Spirit Dragon|AFC
1 Heirloom Blade|AFC
1 Hoard-Smelter Dragon|AFC
1 Indomitable Might|AFC
1 Kindred Summons|AFC
1 Klauth's Will|AFC
1 Klauth, Unrivaled Ancient|AFC
1 Maddening Hex|AFC
1 Magmaquake|AFC
1 Mossfire Valley|AFC
1 Mosswort Bridge|AFC
12 Mountain|AFC
1 Neverwinter Hydra|AFC
1 Opportunistic Dragon|AFC
1 Outpost Siege|AFC
1 Path of Ancestry|AFC
1 Rampant Growth|AFC
1 Return of the Wildspeaker|AFC
1 Return to Nature|AFC
1 Rile|AFC
1 Rishkar's Expertise|AFC
1 Savage Ventmaw|AFC
1 Scourge of Valkas|AFC
1 Shamanic Revelation|AFC
1 Shivan Hellkite|AFC
1 Skyline Despot|AFC
1 Skyship Stalker|AFC
1 Sol Ring|AFC
1 Spit Flame|AFC
1 Sword of Hours|AFC
1 Taurean Mauler|AFC
1 Terror of Mount Velus|AFC
1 Thunderbreak Regent|AFC
1 Underdark Rift|AFC
1 Vengeful Ancestor|AFC
1 Warstorm Surge|AFC
1 Wild Endeavor|AFC
1 Wulfgar of Icewind Dale|AFC

View File

@@ -0,0 +1,88 @@
[metadata]
Name=Dungeons of Death [AFC] [2021]
[commander]
1 Sefris of the Hidden Ways+|AFC
[main]
1 Arcane Endeavor|AFC
1 Arcane Sanctum|AFC
1 Arcane Signet|AFC
1 Ashen Rider|AFC
1 Azorius Chancery|AFC
1 Baleful Strix|AFC
1 Bucknard's Everfull Purse|AFC
1 Burnished Hart|AFC
1 Cataclysmic Gearhulk|AFC
1 Champion of Wits|AFC
1 Choked Estuary|AFC
1 Clay Golem|AFC
1 Cloudblazer|AFC
1 Command Tower|AFC
1 Commander's Sphere|AFC
1 Component Pouch|AFC
1 Curator of Mysteries|AFC
1 Darkwater Catacombs|AFC
1 Despark|AFC
1 Dimir Aqueduct|AFC
1 Doomed Necromancer|AFC
1 Dungeon Map|AFC
1 Esper Panorama|AFC
1 Eternal Dragon|AFC
1 Evolving Wilds|AFC
1 Exotic Orchard|AFC
1 Extract Brain|AFC
1 Fellwar Stone|AFC
1 Forbidden Alchemy|AFC
1 Geier Reach Sanitarium|AFC
1 Grave Endeavor|AFC
1 Hama Pashar, Ruin Seeker|AFC
1 High Market|AFC
1 Hostage Taker|AFC
1 Immovable Rod|AFC
5 Island|AFC
1 Karmic Guide|AFC
1 Lightning Greaves|AFC
1 Merfolk Looter|AFC
1 Meteor Golem|AFC
1 Midnight Pathlighter|AFC
1 Minimus Containment|AFC
1 Minn, Wily Illusionist|AFC
1 Mulldrifter|AFC
1 Murder of Crows|AFC
1 Necromantic Selection|AFC
1 Necrotic Sliver|AFC
1 Nihiloor|AFC
1 Nimbus Maze|AFC
1 Obsessive Stitcher|AFC
1 Orzhov Basilica|AFC
1 Phantasmal Image|AFC
1 Phantom Steed|AFC
1 Plaguecrafter|AFC
7 Plains|AFC
1 Port Town|AFC
1 Prairie Stream|AFC
1 Propaganda|AFC
1 Radiant Solar|AFC
1 Reassembling Skeleton|AFC
1 Revivify|AFC
1 Rod of Absorption|AFC
1 Ronom Unicorn|AFC
1 Shriekmaw|AFC
1 Sol Ring|AFC
1 Solemn Simulacrum|AFC
1 Sun Titan|AFC
1 Sunblast Angel|AFC
1 Sunken Hollow|AFC
7 Swamp|AFC
1 Swords to Plowshares|AFC
1 Terramorphic Expanse|AFC
1 Thorough Investigation|AFC
1 Thriving Heath|AFC
1 Thriving Isle|AFC
1 Thriving Moor|AFC
1 Unburial Rites|AFC
1 Utter End|AFC
1 Vanish into Memory|AFC
1 Victimize|AFC
1 Wall of Omens|AFC
1 Wand of Orcus|AFC
1 Wayfarer's Bauble|AFC

View File

@@ -0,0 +1,77 @@
[metadata]
Name=Elven Empire [KHC] [2021]
[commander]
1 Lathril, Blade of the Elves+|KHC
[main]
1 Abomination of Llanowar|KHC
1 Ambition's Cost|KHC
1 Arcane Signet|KHC
1 Beast Whisperer|KHC
1 Binding the Old Gods|KHC
1 Bounty of Skemfar|KHC
1 Canopy Tactician|KHC
1 Casualties of War|KHC
1 Command Tower|KHC
1 Crown of Skemfar|KHC
1 Cultivator of Blades|KHC
1 Dwynen, Gilt-Leaf Daen|KHC
1 Elderfang Ritualist|KHC
1 Elderfang Venom|KHC
1 Elven Ambush|KHC
1 Elvish Archdruid|KHC
1 Elvish Mystic|KHC
1 Elvish Promenade|KHC
1 Elvish Rejuvenator|KHC
1 End-Raze Forerunners|KHC
1 Eyeblight Cullers|KHC
1 Eyeblight Massacre|KHC
1 Farhaven Elf|KHC
16 Forest|KHC
1 Foul Orchard|KHC
1 Golgari Findbroker|KHC
1 Golgari Guildgate|KHC
1 Golgari Rot Farm|KHC
1 Harald, King of Skemfar|KHC
1 Harvest Season|KHC
1 Imperious Perfect|KHC
1 Jagged-Scar Archers|KHC
1 Jaspera Sentinel|KHC
1 Jungle Hollow|KHC
1 Llanowar Tribe|KHC
1 Lys Alana Huntmaster|KHC
1 Lys Alana Scarblade|KHC
1 Marwyn, the Nurturer|KHC
1 Masked Admirers|KHC
1 Miara, Thorn of the Glade|KHC
1 Moldervine Reclamation|KHC
1 Myriad Landscape|KHC
1 Nullmage Shepherd|KHC
1 Numa, Joraga Chieftain|KHC
1 Pact of the Serpent|KHC
1 Path of Ancestry|KHC
1 Poison the Cup|KHC
1 Poison-Tip Archer|KHC
1 Pride of the Perfect|KHC
1 Prowess of the Fair|KHC
1 Putrefy|KHC
1 Reclamation Sage|KHC
1 Return Upon the Tide|KHC
1 Rhys the Exiled|KHC
1 Roots of Wisdom|KHC
1 Ruthless Winnower|KHC
1 Serpent's Soul-Jar|KHC
1 Shaman of the Pack|KHC
1 Skemfar Elderhall|KHC
1 Skemfar Shadowsage|KHC
1 Sol Ring|KHC
1 Springbloom Druid|KHC
13 Swamp|KHC
1 Sylvan Messenger|KHC
1 Tergrid's Shadow|KHC
1 Timberwatch Elf|KHC
1 Twinblade Assassins|KHC
1 Voice of Many|KHC
1 Voice of the Woods|KHC
1 Wirewood Channeler|KHC
1 Wolverine Riders|KHC
1 Wood Elves|KHC

View File

@@ -0,0 +1,89 @@
[metadata]
Name=Enhanced Evolution [C20] [2020]
[commander]
1 Otrimi, the Ever-Playful+|C20
[main]
1 Animist's Awakening|C20
1 Arcane Signet|C20
1 Archipelagore|C20
1 Auspicious Starrix|C20
1 Beast Whisperer|C20
1 Beast Within|C20
1 Blighted Woodland|C20
1 Bonder's Ornament|C20
1 Boneyard Lurker|C20
1 Boneyard Mycodrax|C20
1 Capricopian|C20
1 Cavern Whisperer|C20
1 Cazur, Ruthless Stalker|C20
1 Chittering Harvester|C20
1 Cold-Eyed Selkie|C20
1 Command Tower|C20
1 Darkwater Catacombs|C20
1 Deadly Rollick|C20
1 Deadly Tempest|C20
1 Dimir Aqueduct|C20
1 Dismal Backwater|C20
1 Dreamtail Heron|C20
1 Dredge the Mire|C20
1 Endless Sands|C20
1 Exotic Orchard|C20
1 Fertilid|C20
1 Find // Finality|C20
11 Forest|C20
1 Gaze of Granite|C20
1 Genesis Hydra|C20
1 Glowstone Recluse|C20
1 Golgari Rot Farm|C20
1 Heroes' Bane|C20
1 Hungering Hydra|C20
1 Illusory Ambusher|C20
1 Insatiable Hemophage|C20
2 Island|C20
1 Jungle Hollow|C20
1 Kodama's Reach|C20
1 Krosan Grip|C20
1 Lifecrafter's Bestiary|C20
1 Llanowar Wastes|C20
1 Manascape Refractor|C20
1 Masked Admirers|C20
1 Migration Path|C20
1 Migratory Greathorn|C20
1 Mind Spring|C20
1 Mindleecher|C20
1 Mortuary Mire|C20
1 Mulldrifter|C20
1 Myriad Landscape|C20
1 Nissa, Steward of Elements|C20
1 Opulent Palace|C20
1 Parasitic Impetus|C20
1 Pouncing Shoreshark|C20
1 Predator Ooze|C20
1 Predatory Impetus|C20
1 Profane Command|C20
1 Propaganda|C20
1 Psychic Impetus|C20
1 Putrefy|C20
1 Reclamation Sage|C20
1 Rogue's Passage|C20
1 Sawtusk Demolisher|C20
1 Shriekmaw|C20
1 Silent Arbiter|C20
1 Simic Growth Chamber|C20
1 Soaring Seacliff|C20
1 Sol Ring|C20
1 Souvenir Snatcher|C20
1 Sunken Hollow|C20
5 Swamp|C20
1 Temple of the False God|C20
1 Thornwood Falls|C20
1 Tidal Barracuda|C20
1 Trumpeting Gnarr|C20
1 Trygon Predator|C20
1 Ukkima, Stalking Shadow|C20
1 Vastwood Hydra|C20
1 Villainous Wealth|C20
1 Vorapede|C20
1 Wydwen, the Biting Gale|C20
1 Yavimaya Dryad|C20
1 Zaxara, the Exemplary|C20

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Entropic Uprising
Name=Entropic Uprising [C16] [2016]
[Commander]
1 Yidris, Maelstrom Wielder+|C16
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Eternal Bargain
Name=Eternal Bargain [C13] [2013]
[Commander]
1 Oloro, Ageless Ascetic|C13
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Evasive Maneuvers
Name=Evasive Maneuvers [C13] [2013]
[Commander]
1 Derevi, Empyrial Tactician|C13
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Evasive Maneuvers (CMA)
Name=Evasive Maneuvers [CMA] [2017]
[Commander]
1 Derevi, Empyrial Tactician|CMA
[Main]

View File

@@ -0,0 +1,81 @@
[metadata]
Name=Exquisite Invention [C18] [2018]
[Commander]
1 Saheeli, the Gifted|C18|1
[Main]
1 Aether Gale|C18|1
1 Ancient Stone Idol|C18|1
1 Blasphemous Act|C18|1
1 Blinkmoth Urn|C18|1
1 Bosh, Iron Golem|C18|1
1 Brudiclad, Telchor Engineer|C18|1
1 Buried Ruin|C18|1
1 Chaos Warp|C18|1
1 Chief of the Foundry|C18|1
1 Command Tower|C18|1
1 Commander's Sphere|C18|1
1 Coveted Jewel|C18|1
1 Darksteel Citadel|C18|1
1 Darksteel Juggernaut|C18|1
1 Dreamstone Hedron|C18|1
1 Duplicant|C18|1
1 Echo Storm|C18|1
1 Enchanter's Bane|C18|1
1 Endless Atlas|C18|1
1 Etherium Sculptor|C18|1
1 Forge of Heroes|C18|1
1 Foundry of the Consuls|C18|1
1 Geode Golem|C18|1
1 Great Furnace|C18|1
1 Hedron Archive|C18|1
1 Hellkite Igniter|C18|1
1 Highland Lake|C18|1
1 Inkwell Leviathan|C18|1
1 Into the Roil|C18|1
15 Island|C18|1
1 Izzet Boilerworks|C18|1
1 Izzet Guildgate|C18|1
1 Izzet Signet|C18|1
1 Loyal Apprentice|C18|1
1 Loyal Drake|C18|1
1 Magmaquake|C18|1
1 Magnifying Glass|C18|1
1 Maverick Thopterist|C18|1
1 Mimic Vat|C18|1
1 Mind Stone|C18|1
1 Mirrorworks|C18|1
12 Mountain|C18|1
1 Myr Battlesphere|C18|1
1 Pilgrim's Eye|C18|1
1 Prismatic Lens|C18|1
1 Prototype Portal|C18|1
1 Psychosis Crawler|C18|1
1 Retrofitter Foundry|C18|1
1 Reverse Engineer|C18|1
1 Saheeli's Artistry|C18|1
1 Saheeli's Directive|C18|1
1 Scrabbling Claws|C18|1
1 Scuttling Doom Engine|C18|1
1 Seat of the Synod|C18|1
1 Sharding Sphinx|C18|1
1 Sol Ring|C18|1
1 Soul of New Phyrexia|C18|1
1 Steel Hellkite|C18|1
1 Swiftfoot Boots|C18|1
1 Swiftwater Cliffs|C18|1
1 Tawnos, Urza's Apprentice|C18|1
1 Thirst for Knowledge|C18|1
1 Thopter Assembly|C18|1
1 Thopter Engineer|C18|1
1 Thopter Spy Network|C18|1
1 Tidings|C18|1
1 Treasure Nabber|C18|1
1 Unstable Obelisk|C18|1
1 Unwinding Clock|C18|1
1 Varchild, Betrayer of Kjeldor|C18|1
1 Vedalken Humiliator|C18|1
1 Vessel of Endless Rest|C18|1
1 Whirler Rogue|C18|1
1 Worn Powerstone|C18|1
[Sideboard]

View File

@@ -0,0 +1,94 @@
[metadata]
Name=Faceless Menace [C19] [2019]
[Commander]
1 Kadena, Slinking Sorcerer|C19|1
[Main]
1 Ainok Survivalist|C19|1
1 Apex Altisaur|C19|1
1 Ash Barrens|C19|1
1 Bane of the Living|C19|1
1 Biomass Mutation|C19|1
1 Bojuka Bog|C19|1
1 Bounty of the Luxa|C19|1
1 Chromeshell Crab|C19|1
1 Command Tower|C19|1
1 Cultivate|C19|1
1 Darkwater Catacombs|C19|1
1 Deathmist Raptor|C19|1
1 Den Protector|C19|1
1 Dimir Aqueduct|C19|1
1 Echoing Truth|C19|1
1 Evolving Wilds|C19|1
1 Exotic Orchard|C19|1
1 Explore|C19|1
1 Farseek|C19|1
7 Forest|C19|1
1 Foul Orchard|C19|1
1 Ghastly Conscription|C19|1
1 Gift of Doom|C19|1
1 Golgari Guildgate|C19|1
1 Golgari Rot Farm|C19|1
1 Great Oak Guardian|C19|1
1 Grim Haruspex|C19|1
1 Grismold, the Dreadsower|C19|1
1 Hex|C19|1
1 Hooded Hydra|C19|1
1 Icefeather Aven|C19|1
5 Island|C19|1
1 Ixidron|C19|1
1 Jungle Hollow|C19|1
1 Kadena's Silencer|C19|1
1 Kheru Spellsnatcher|C19|1
1 Leadership Vacuum|C19|1
1 Llanowar Wastes|C19|1
1 Mire in Misery|C19|1
1 Myriad Landscape|C19|1
1 Nantuko Vigilante|C19|1
1 Opulent Palace|C19|1
1 Overwhelming Stampede|C19|1
1 Pendant of Prosperity|C19|1
1 Putrefy|C19|1
1 Rayami, First of the Fallen|C19|1
1 Reality Shift|C19|1
1 Reliquary Tower|C19|1
1 Road of Return|C19|1
1 Sagu Mauler|C19|1
1 Sakura-Tribe Elder|C19|1
1 Scaretiller|C19|1
1 Scroll of Fate|C19|1
1 Secret Plans|C19|1
1 Seedborn Muse|C19|1
1 Shrine of the Forsaken Gods|C19|1
1 Silumgar Assassin|C19|1
1 Simic Growth Chamber|C19|1
1 Simic Guildgate|C19|1
1 Skinthinner|C19|1
1 Sol Ring|C19|1
1 Stratus Dancer|C19|1
1 Strionic Resonator|C19|1
1 Sudden Substitution|C19|1
1 Sultai Charm|C19|1
1 Sunken Hollow|C19|1
3 Swamp|C19|1
1 Temple of the False God|C19|1
1 Tempt with Discovery|C19|1
1 Terramorphic Expanse|C19|1
1 Tezzeret's Gambit|C19|1
1 Thelonite Hermit|C19|1
1 Thespian's Stage|C19|1
1 Thieving Amalgam|C19|1
1 Thornwood Falls|C19|1
1 Thought Sponge|C19|1
1 Thousand Winds|C19|1
1 Thran Dynamo|C19|1
1 Trail of Mystery|C19|1
1 Urban Evolution|C19|1
1 Vesuvan Shapeshifter|C19|1
1 Voice of Many|C19|1
1 Volrath, the Shapestealer|C19|1
1 Vraska the Unseen|C19|1
1 Willbender|C19|1
1 Woodland Stream|C19|1
1 Yavimaya Coast|C19|1
[Sideboard]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Feline Ferocity
Name=Feline Ferocity [C17] [2017]
[Commander]
1 Arahbo, Roar of the World|C17
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Forged in Stone
Name=Forged in Stone [C14] [2014]
[Commander]
1 Nahiri, the Lithomancer|C14
[Main]

View File

@@ -0,0 +1,85 @@
[metadata]
Name=Growing Threat [MOC] [2023]
[Commander]
1 Brimaz, Blight of Oreskos|MOC|1
[Main]
1 Ambition's Cost|MOC|1
1 Ancient Stone Idol|MOC|1
1 Angel of the Ruins|MOC|1
1 Arcane Signet|MOC|1
1 Bitterthorn, Nissa's Animus|MOC|1
1 Blade Splicer|MOC|1
1 Blight Titan|MOC|1
1 Bloodline Pretender|MOC|1
1 Bojuka Bog|MOC|1
1 Bone Shredder|MOC|1
1 Burnished Hart|MOC|1
1 Cataclysmic Gearhulk|MOC|1
1 Command Tower|MOC|1
1 Commander's Sphere|MOC|1
1 Compleated Huntmaster|MOM|1
1 Coveted Jewel|MOC|1
1 Darksteel Splicer|MOC|1
1 Despark|MOC|1
1 Duplicant|MOC|1
1 Evolving Wilds|MOC|1
1 Excise the Imperfect|MOC|1
1 Exotic Orchard|MOC|1
1 Fetid Heath|MOC|1
1 First-Sphere Gargantua|MOC|1
1 Fractured Powerstone|MOC|1
1 Go for the Throat|MOC|1
1 Goldmire Bridge|MOC|1
1 Graveshifter|MOC|1
1 Hedron Archive|MOC|1
1 Karn's Bastion|MOC|1
1 Keskit, the Flesh Sculptor|MOC|1
1 Massacre Wurm|MOC|1
1 Master Splicer|MOC|1
1 Meteor Golem|MOC|1
1 Mind Stone|MOC|1
1 Moira and Teshar|MOC|1
1 Mortify|MOC|1
1 Myr Battlesphere|MOC|1
1 Nettlecyst|MOC|1
1 Night's Whisper|MOC|1
1 Noxious Gearhulk|MOC|1
1 Orzhov Locket|MOC|1
1 Orzhov Signet|MOC|1
1 Path of Ancestry|MOC|1
1 Phyrexian Delver|MOC|1
1 Phyrexian Gargantua|MOM|1
1 Phyrexian Ghoul|MOC|1
1 Phyrexian Rager|MOC|1
1 Phyrexian Rebirth|MOC|1
1 Phyrexian Scriptures|MOC|1
1 Phyrexian Triniform|MOC|1
10 Plains|MOM|1
1 Psychosis Crawler|MOC|1
1 Scrap Trawler|MOC|1
1 Sculpting Steel|MOC|1
1 Scytheclaw|MOC|1
1 Shattered Angel|MOC|1
1 Shimmer Myr|MOC|1
1 Shineshadow Snarl|MOC|1
1 Silverquill Campus|MOC|1
1 Sol Ring|MOC|1
1 Soul of New Phyrexia|MOC|1
1 Spire of Industry|MOC|1
13 Swamp|MOM|1
1 Swords to Plowshares|MOC|1
1 Tainted Field|MOC|1
1 Talisman of Hierarchy|MOC|1
1 Temple of Silence|MOC|1
1 Terramorphic Expanse|MOC|1
1 Utter End|MOC|1
1 Vault of the Archangel|MOC|1
1 Victimize|MOC|1
1 Vulpine Harvester|MOC|1
1 Wayfarer's Bauble|MOC|1
1 Yawgmoth's Vile Offering|MOC|1
1 Ichor Elixir|MOC|1
1 Path of the Schemer|MOC|1
1 Filigree Vector|MOC|1
[Sideboard]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Guided by Nature
Name=Guided by Nature [C14] [2014}
[Commander]
1 Freyalise, Llanowar's Fury|C14
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Guided by Nature (CMA)
Name=Guided by Nature [CMA] [2017]
[Commander]
1 Freyalise, Llanowar's Fury|CMA
[Main]

View File

@@ -0,0 +1,91 @@
[metadata]
Name=Heads I Win, Tails You Lose [SLD] [2021]
[commander]
1 Okaun, Eye of Chaos+|SLD
1 Zndrsplt, Eye of Wisdom+|SLD
[main]
1 Academy Ruins|SLD
1 Arcane Signet|SLD
1 Blasphemous Act|SLD
1 Bloodsworn Steward|SLD
1 Boompile|SLD
1 Buried Ruin|SLD
1 Cascade Bluffs|SLD
1 Chance Encounter|SLD
1 Chandra's Ignition|SLD
1 Chaos Warp|SLD
1 Command Tower|SLD
1 Commander's Plate|SLD
1 Counterspell|SLD
1 Crooked Scales|SLD
1 Daretti, Scrap Savant|SLD
1 Desolate Lighthouse|SLD
1 Embercleave|SLD
1 Exotic Orchard|SLD
1 Fabricate|SLD
1 Fiery Gambit|SLD
1 Flamekin Village|SLD
1 Footfall Crater|SLD
1 Frenetic Sliver|SLD
1 Gamble|SLD
1 Goblin Archaeologist|SLD
1 Goblin Engineer|SLD
1 Goblin Kaboomist|SLD
1 Great Furnace|SLD
1 Impulsive Maneuvers|SLD
1 Inventors' Fair|SLD
7 Island|SLD
1 Izzet Boilerworks|SLD
1 Izzet Signet|SLD
1 Karplusan Minotaur|SLD
1 Krark's Thumb|SLD
1 Krark, the Thumbless|SLD
1 Lightning Greaves|SLD
1 Long-Term Plans|SLD
1 Mind Stone|SLD
1 Mirror March|SLD
1 Mogg Assassin|SLD
8 Mountain|SLD
1 Muddle the Mixture|SLD
1 Myriad Landscape|SLD
1 Negate|SLD
1 Niv-Mizzet, Parun|SLD
1 Path of Ancestry|SLD
1 Planar Chaos|SLD
1 Ponder|SLD
1 Preordain|SLD
1 Propaganda|SLD
1 Ral Zarek|SLD
1 Reliquary Tower|SLD
1 Reshape|SLD
1 Risky Move|SLD
1 Rogue's Passage|SLD
1 Sakashima the Impostor|SLD
1 Seize the Day|SLD
1 Serum Visions|SLD
1 Shadowspear|SLD
1 Shivan Reef|SLD
1 Slip Through Space|SLD
1 Sol Ring|SLD
1 Spark Double|SLD
1 Spinerock Knoll|SLD
1 Squee's Revenge|SLD
1 Stitch in Time|SLD
1 Sulfur Falls|SLD
1 Swiftfoot Boots|SLD
1 Sword of Vengeance|SLD
1 Talisman of Creativity|SLD
1 Tavern Scoundrel|SLD
1 Temple of Epiphany|SLD
1 Temple of the False God|SLD
1 Temur Battle Rage|SLD
1 The Locust God|SLD
1 Thought Vessel|SLD
1 Tolaria West|SLD
1 Training Center|SLD
1 Tribute Mage|SLD
1 Vandalblast|SLD
1 Wandering Fumarole|SLD
1 Whir of Invention|SLD
1 Whispersilk Cloak|SLD
1 Yusri, Fortune's Flame|SLD

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Heavenly Inferno (CMA)
Name=Heavenly Inferno [CMA] [2017]
[Commander]
1 Kaalia of the Vast|CMA
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Heavenly Inferno
Name=Heavenly Inferno [COM] [2011]
[Commander]
1 Kaalia of the Vast|COM
[Main]

View File

@@ -1,5 +1,5 @@
[metadata]
Name=Invent Superiority
Name=Invent Superiority [C16] [2016]
[Commander]
1 Breya, Etherium Shaper+|C16
[Main]

View File

@@ -0,0 +1,86 @@
[metadata]
Name=Land's Wrath [ZNC] [2020]
[commander]
1 Obuun, Mul Daya Ancestor+|ZNC
[main]
1 Acidic Slime|ZNC
1 Arcane Signet|ZNC
1 Armorcraft Judge|ZNC
1 Banishing Light|ZNC
1 Emeria Angel|ZNC
1 Evolution Sage|ZNC
1 Harmonize|ZNC
1 Multani, Yavimaya's Avatar|ZNC
1 Naya Panorama|ZNC
1 Planar Outburst|ZNC
1 Retreat to Kazandu|ZNC
1 Return of the Wildspeaker|ZNC
1 Sylvan Advocate|ZNC
1 Terramorphic Expanse|ZNC
1 Treacherous Terrain|ZNC
1 Tuskguard Captain|ZNC
1 Yavimaya Elder|ZNC
1 Zendikar's Roil|ZNC
1 Abundance|ZNC
1 Abzan Falconer|ZNC
1 Admonition Angel|ZNC
1 Beanstalk Giant|ZNC
1 Blighted Woodland|ZNC
1 Boros Garrison|ZNC
1 Boros Guildgate|ZNC
1 Circuitous Route|ZNC
1 Command Tower|ZNC
1 Condemn|ZNC
1 Crush Contraband|ZNC
1 Cryptic Caves|ZNC
1 Elite Scaleguard|ZNC
1 Elvish Rejuvenator|ZNC
1 Embodiment of Insight|ZNC
1 Emeria Shepherd|ZNC
1 Evolving Wilds|ZNC
1 Far Wanderings|ZNC
1 Fertilid|ZNC
10 Forest|ZNC
1 Geode Rager|ZNC
1 Ground Assault|ZNC
1 Gruul Guildgate|ZNC
1 Gruul Turf|ZNC
1 Harrow|ZNC
1 Hour of Revelation|ZNC
1 Inspiring Call|ZNC
1 Jungle Shrine|ZNC
1 Keeper of Fables|ZNC
1 Khalni Heart Expedition|ZNC
1 Kodama's Reach|ZNC
1 Kor Cartographer|ZNC
1 Krosan Verge|ZNC
1 Living Twister|ZNC
1 Mina and Denn, Wildborn|ZNC
4 Mountain|ZNC
1 Murasa Rootgrazer|ZNC
1 Myriad Landscape|ZNC
1 Naya Charm|ZNC
1 Needle Spires|ZNC
1 Nissa's Renewal|ZNC
1 Omnath, Locus of Rage|ZNC
7 Plains|ZNC
1 Rampaging Baloths|ZNC
1 Retreat to Emeria|ZNC
1 Rites of Flourishing|ZNC
1 Roiling Regrowth|ZNC
1 Sandstone Oracle|ZNC
1 Satyr Wayfinder|ZNC
1 Scaretiller|ZNC
1 Seer's Sundial|ZNC
1 Selesnya Guildgate|ZNC
1 Selesnya Sanctuary|ZNC
1 Sol Ring|ZNC
1 Sporemound|ZNC
1 Springbloom Druid|ZNC
1 Struggle // Survive|ZNC
1 Sun Titan|ZNC
1 Sylvan Reclamation|ZNC
1 The Mending of Dominaria|ZNC
1 Together Forever|ZNC
1 Trove Warden|ZNC
1 Waker of the Wilds|ZNC

Some files were not shown because too many files have changed in this diff Show More