mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
CardDb: add normalized Names (#4376)
This commit is contained in:
@@ -334,7 +334,7 @@ public class AiCostDecision extends CostDecisionMakerBase {
|
||||
list = CardLists.getValidCards(list, cost.getType().split(";"), player, source, ability);
|
||||
|
||||
if (cost.isSameZone()) {
|
||||
// Jotun Grunt
|
||||
// Jötun Grunt
|
||||
// TODO: improve AI
|
||||
final FCollectionView<Player> players = game.getPlayers();
|
||||
for (Player p : players) {
|
||||
|
||||
@@ -47,6 +47,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
||||
private final Map<String, PaperCard> uniqueCardsByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||
private final Map<String, CardRules> rulesByName;
|
||||
private final Map<String, ICardFace> facesByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||
private final Map<String, String> normalizedNames = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||
private static Map<String, String> artPrefs = Maps.newHashMap();
|
||||
|
||||
private final Map<String, String> alternateName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||
@@ -233,22 +234,34 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
||||
for (final CardRules rule : rules.values()) {
|
||||
if (filteredCards.contains(rule.getName()) && !exlcudedCardName.equalsIgnoreCase(rule.getName()))
|
||||
continue;
|
||||
final ICardFace main = rule.getMainPart();
|
||||
facesByName.put(main.getName(), main);
|
||||
if (main.getAltName() != null) {
|
||||
alternateName.put(main.getAltName(), main.getName());
|
||||
}
|
||||
final ICardFace other = rule.getOtherPart();
|
||||
if (other != null) {
|
||||
facesByName.put(other.getName(), other);
|
||||
if (other.getAltName() != null) {
|
||||
alternateName.put(other.getAltName(), other.getName());
|
||||
}
|
||||
for (ICardFace face : rule.getAllFaces()) {
|
||||
addFaceToDbNames(face);
|
||||
}
|
||||
}
|
||||
setCardArtPreference(cardArtPreference);
|
||||
}
|
||||
|
||||
private void addFaceToDbNames(ICardFace face) {
|
||||
if (face == null) {
|
||||
return;
|
||||
}
|
||||
final String name = face.getName();
|
||||
facesByName.put(name, face);
|
||||
final String normalName = StringUtils.stripAccents(name);
|
||||
if (!normalName.equals(name)) {
|
||||
normalizedNames.put(normalName, name);
|
||||
}
|
||||
|
||||
final String altName = face.getAltName();
|
||||
if (altName != null) {
|
||||
alternateName.put(altName, face.getName());
|
||||
final String normalAltName = StringUtils.stripAccents(altName);
|
||||
if (!normalAltName.equals(altName)) {
|
||||
normalizedNames.put(normalAltName, altName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addSetCard(CardEdition e, CardInSet cis, CardRules cr) {
|
||||
int artIdx = IPaperCard.DEFAULT_ART_INDEX;
|
||||
String key = e.getCode() + "/" + cis.name;
|
||||
@@ -967,7 +980,9 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
||||
public String getName(final String cardName) {
|
||||
return getName(cardName, false);
|
||||
}
|
||||
public String getName(final String cardName, boolean engine) {
|
||||
public String getName(String cardName, boolean engine) {
|
||||
// normalize Names first
|
||||
cardName = normalizedNames.getOrDefault(cardName, cardName);
|
||||
if (alternateName.containsKey(cardName) && engine) {
|
||||
// TODO might want to implement GUI option so it always fetches the Within version
|
||||
return alternateName.get(cardName);
|
||||
|
||||
@@ -22,6 +22,7 @@ import java.util.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
import forge.card.mana.IParserManaCost;
|
||||
import forge.card.mana.ManaCost;
|
||||
@@ -43,11 +44,8 @@ public final class CardRules implements ICardCharacteristics {
|
||||
private CardSplitType splitType;
|
||||
private ICardFace mainPart;
|
||||
private ICardFace otherPart;
|
||||
private ICardFace wSpecialize;
|
||||
private ICardFace uSpecialize;
|
||||
private ICardFace bSpecialize;
|
||||
private ICardFace rSpecialize;
|
||||
private ICardFace gSpecialize;
|
||||
|
||||
private Map<CardStateName, ICardFace> specializedParts = Maps.newHashMap();
|
||||
private CardAiHints aiHints;
|
||||
private ColorSet colorIdentity;
|
||||
private ColorSet deckbuildingColors;
|
||||
@@ -59,11 +57,14 @@ public final class CardRules implements ICardCharacteristics {
|
||||
splitType = altMode;
|
||||
mainPart = faces[0];
|
||||
otherPart = faces[1];
|
||||
wSpecialize = faces[2];
|
||||
uSpecialize = faces[3];
|
||||
bSpecialize = faces[4];
|
||||
rSpecialize = faces[5];
|
||||
gSpecialize = faces[6];
|
||||
|
||||
if (CardSplitType.Specialize.equals(splitType)) {
|
||||
specializedParts.put(CardStateName.SpecializeW, faces[2]);
|
||||
specializedParts.put(CardStateName.SpecializeU, faces[3]);
|
||||
specializedParts.put(CardStateName.SpecializeB, faces[4]);
|
||||
specializedParts.put(CardStateName.SpecializeR, faces[5]);
|
||||
specializedParts.put(CardStateName.SpecializeG, faces[6]);
|
||||
}
|
||||
|
||||
aiHints = cah;
|
||||
meldWith = "";
|
||||
@@ -85,11 +86,7 @@ public final class CardRules implements ICardCharacteristics {
|
||||
splitType = newRules.splitType;
|
||||
mainPart = newRules.mainPart;
|
||||
otherPart = newRules.otherPart;
|
||||
wSpecialize = newRules.wSpecialize;
|
||||
uSpecialize = newRules.uSpecialize;
|
||||
bSpecialize = newRules.bSpecialize;
|
||||
rSpecialize = newRules.rSpecialize;
|
||||
gSpecialize = newRules.gSpecialize;
|
||||
specializedParts = Maps.newHashMap(newRules.specializedParts);
|
||||
aiHints = newRules.aiHints;
|
||||
colorIdentity = newRules.colorIdentity;
|
||||
meldWith = newRules.meldWith;
|
||||
@@ -148,20 +145,28 @@ public final class CardRules implements ICardCharacteristics {
|
||||
return otherPart;
|
||||
}
|
||||
|
||||
public Map<CardStateName, ICardFace> getSpecializeParts() {
|
||||
return specializedParts;
|
||||
}
|
||||
|
||||
public Iterable<ICardFace> getAllFaces() {
|
||||
return Iterables.concat(Arrays.asList(mainPart, otherPart), specializedParts.values());
|
||||
}
|
||||
|
||||
public ICardFace getWSpecialize() {
|
||||
return wSpecialize;
|
||||
return specializedParts.get(CardStateName.SpecializeW);
|
||||
}
|
||||
public ICardFace getUSpecialize() {
|
||||
return uSpecialize;
|
||||
return specializedParts.get(CardStateName.SpecializeU);
|
||||
}
|
||||
public ICardFace getBSpecialize() {
|
||||
return bSpecialize;
|
||||
return specializedParts.get(CardStateName.SpecializeB);
|
||||
}
|
||||
public ICardFace getRSpecialize() {
|
||||
return rSpecialize;
|
||||
return specializedParts.get(CardStateName.SpecializeR);
|
||||
}
|
||||
public ICardFace getGSpecialize() {
|
||||
return gSpecialize;
|
||||
return specializedParts.get(CardStateName.SpecializeG);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
||||
@@ -4,6 +4,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Predicates;
|
||||
|
||||
@@ -361,23 +363,59 @@ public final class CardRulesPredicates {
|
||||
private final String operand;
|
||||
private final LeafString.CardField field;
|
||||
|
||||
protected boolean checkName(String name) {
|
||||
return op(name, this.operand)
|
||||
|| op(CardTranslation.getTranslatedName(name), this.operand)
|
||||
|| op(StringUtils.stripAccents(name), this.operand);
|
||||
}
|
||||
protected boolean checkOracle(ICardFace face) {
|
||||
if (face == null) {
|
||||
return false;
|
||||
}
|
||||
if (op(face.getOracleText(), operand) || op(CardTranslation.getTranslatedOracle(face.getName()), operand)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
protected boolean checkType(ICardFace face) {
|
||||
if (face == null) {
|
||||
return false;
|
||||
}
|
||||
return (op(CardTranslation.getTranslatedType(face.getName(), face.getType().toString()), operand) || op(face.getType().toString(), operand));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(final CardRules card) {
|
||||
boolean shouldContain;
|
||||
switch (this.field) {
|
||||
case NAME:
|
||||
boolean otherName = false;
|
||||
if (card.getOtherPart() != null) {
|
||||
otherName = (op(CardTranslation.getTranslatedName(card.getOtherPart().getName()), this.operand) || op(card.getOtherPart().getName(), this.operand));
|
||||
for (ICardFace face : card.getAllFaces()) {
|
||||
if (face != null && checkName(face.getName())) {
|
||||
return true;
|
||||
}
|
||||
return otherName || (op(CardTranslation.getTranslatedName(card.getName()), this.operand) || op(card.getName(), this.operand));
|
||||
}
|
||||
return false;
|
||||
case SUBTYPE:
|
||||
shouldContain = (this.getOperator() == StringOp.CONTAINS) || (this.getOperator() == StringOp.EQUALS);
|
||||
return shouldContain == card.getType().hasSubtype(this.operand);
|
||||
case ORACLE_TEXT:
|
||||
return (op(CardTranslation.getTranslatedOracle(card.getName()), operand) || op(card.getOracleText(), this.operand));
|
||||
for (ICardFace face : card.getAllFaces()) {
|
||||
if (checkOracle(face)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
case JOINED_TYPE:
|
||||
return (op(CardTranslation.getTranslatedType(card.getName(), card.getType().toString()), operand) || op(card.getType().toString(), operand));
|
||||
if ((op(CardTranslation.getTranslatedType(card.getName(), card.getType().toString()), operand) || op(card.getType().toString(), operand))) {
|
||||
return true;
|
||||
}
|
||||
for (ICardFace face : card.getAllFaces()) {
|
||||
if (checkType(face)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
case COST:
|
||||
final String cost = card.getManaCost().toString();
|
||||
return op(cost, operand);
|
||||
|
||||
@@ -414,7 +414,7 @@ public class DeckRecognizer {
|
||||
public static final String REGRP_CARD = "cardname";
|
||||
public static final String REGRP_CARDNO = "count";
|
||||
|
||||
public static final String REX_CARD_NAME = String.format("(\\[)?(?<%s>[a-zA-Z0-9&',\\.:!\\+\\\"\\/\\-\\s]+)(\\])?", REGRP_CARD);
|
||||
public static final String REX_CARD_NAME = String.format("(\\[)?(?<%s>[a-zA-Z0-9âûáóéíúÉàäöüñ&',\\.:!\\+\\\"\\/\\-\\s]+)(\\])?", REGRP_CARD);
|
||||
public static final String REX_SET_CODE = String.format("(?<%s>[a-zA-Z0-9_]{2,7})", REGRP_SET);
|
||||
public static final String REX_COLL_NUMBER = String.format("(?<%s>\\*?[0-9A-Z]+\\S?[A-Z]*)", REGRP_COLLNR);
|
||||
public static final String REX_CARD_COUNT = String.format("(?<%s>[\\d]{1,2})(?<mult>x)?", REGRP_CARDNO);
|
||||
|
||||
@@ -388,30 +388,12 @@ public class CardFactory {
|
||||
readCardFace(card, rules.getMainPart());
|
||||
|
||||
if (st == CardSplitType.Specialize) {
|
||||
card.addAlternateState(CardStateName.SpecializeW, false);
|
||||
card.setState(CardStateName.SpecializeW, false);
|
||||
if (rules.getWSpecialize() != null) {
|
||||
readCardFace(card, rules.getWSpecialize());
|
||||
for (Map.Entry<CardStateName, ICardFace> e : rules.getSpecializeParts().entrySet()) {
|
||||
card.addAlternateState(e.getKey(), false);
|
||||
card.setState(e.getKey(), false);
|
||||
if (e.getValue() != null) {
|
||||
readCardFace(card, e.getValue());
|
||||
}
|
||||
card.addAlternateState(CardStateName.SpecializeU, false);
|
||||
card.setState(CardStateName.SpecializeU, false);
|
||||
if (rules.getUSpecialize() != null) {
|
||||
readCardFace(card, rules.getUSpecialize());
|
||||
}
|
||||
card.addAlternateState(CardStateName.SpecializeB, false);
|
||||
card.setState(CardStateName.SpecializeB, false);
|
||||
if (rules.getBSpecialize() != null) {
|
||||
readCardFace(card, rules.getBSpecialize());
|
||||
}
|
||||
card.addAlternateState(CardStateName.SpecializeR, false);
|
||||
card.setState(CardStateName.SpecializeR, false);
|
||||
if (rules.getRSpecialize() != null) {
|
||||
readCardFace(card, rules.getRSpecialize());
|
||||
}
|
||||
card.addAlternateState(CardStateName.SpecializeG, false);
|
||||
card.setState(CardStateName.SpecializeG, false);
|
||||
if (rules.getGSpecialize() != null) {
|
||||
readCardFace(card, rules.getGSpecialize());
|
||||
}
|
||||
} else if (st != CardSplitType.None) {
|
||||
card.addAlternateState(st.getChangedStateName(), false);
|
||||
|
||||
@@ -18,7 +18,7 @@ Deck Type=constructed
|
||||
1 Inundate
|
||||
2 Boomerang
|
||||
2 Eye of Nowhere
|
||||
1 Dandan
|
||||
1 Dandân
|
||||
4 Faerie Swarm
|
||||
1 Manta Ray
|
||||
2 Invisibility
|
||||
|
||||
@@ -25,7 +25,7 @@ Name=orc_brute
|
||||
3 Swamp|LTR|3
|
||||
3 Swamp|LTR|4
|
||||
2 Thrasher Brute|BBD|1
|
||||
2 Ugluk of the White Hand|LTR|1
|
||||
2 Uglúk of the White Hand|LTR|1
|
||||
1 Vengeful Warchief|M20|1
|
||||
2 Zurgo Bellstriker|DTK|1
|
||||
2 Zurgo Helmsmasher|KTK|1
|
||||
|
||||
@@ -5,7 +5,7 @@ Name=orc_hunter
|
||||
[Main]
|
||||
4 Alchemist's Gift|J21|1
|
||||
1 Assault on Osgiliath|LTR|1
|
||||
1 Barad-Dur|LTR|1
|
||||
1 Barad-dûr|LTR|1
|
||||
1 Bleeding Edge|WAR|1
|
||||
4 Blood Crypt|RNA|1
|
||||
1 Blood-Chin Fanatic|DTK|1
|
||||
|
||||
@@ -5,7 +5,7 @@ Name=orc_warrior
|
||||
[Main]
|
||||
2 Armory Veteran|AFR|1
|
||||
1 Assault on Osgiliath|LTR|1
|
||||
1 Barad-Dur|LTR|1
|
||||
1 Barad-dûr|LTR|1
|
||||
1 Bleeding Edge|WAR|1
|
||||
4 Blood Crypt|RNA|1
|
||||
2 Blood-Chin Fanatic|DTK|1
|
||||
|
||||
@@ -24,7 +24,7 @@ Name=tibalt_demon
|
||||
2 Swamp|J22|2
|
||||
4 Swamp|J22|3
|
||||
4 Talisman of Indulgence|SCD|1
|
||||
1 The Balrog, Flame of Udun|LTR|1
|
||||
1 The Balrog, Flame of Udûn|LTR|1
|
||||
[Sideboard]
|
||||
|
||||
[Planes]
|
||||
|
||||
@@ -6281,7 +6281,7 @@ Kaya, Ghost Assassin|CN2|2
|
||||
1 Ringwraiths|LTR
|
||||
1 Gollum, Patient Plotter|LTR
|
||||
1 Uruk-hai Berserker|LTR
|
||||
1 Nazgul|LTR
|
||||
1 Nazgûl|LTR
|
||||
1 Gothmog, Morgul Lieutenant|LTR
|
||||
1 Cirith Ungol Patrol|LTR
|
||||
1 Nasty End|LTR
|
||||
@@ -6295,7 +6295,7 @@ Kaya, Ghost Assassin|CN2|2
|
||||
1 Ringwraiths|LTR
|
||||
1 Gollum, Patient Plotter|LTR
|
||||
1 Dunland Crebain|LTR
|
||||
1 Grima Wormtongue|LTR
|
||||
1 Gríma Wormtongue|LTR
|
||||
1 Gothmog, Morgul Lieutenant|LTR
|
||||
1 Cirith Ungol Patrol|LTR
|
||||
1 Bitter Downfall|LTR
|
||||
@@ -6309,7 +6309,7 @@ Kaya, Ghost Assassin|CN2|2
|
||||
1 Battle-Scarred Goblin|LTR
|
||||
1 Erebor Flamesmith|LTR
|
||||
1 Gimli, Counter of Kills|LTR
|
||||
1 Grishnakh, Brash Instigator|LTR
|
||||
1 Grishnákh, Brash Instigator|LTR
|
||||
1 Olog-hai Crusher|LTR
|
||||
1 Gimli's Fury|LTR
|
||||
1 Assault on Osgiliath|LTR
|
||||
@@ -6323,7 +6323,7 @@ Kaya, Ghost Assassin|CN2|2
|
||||
1 Erebor Flamesmith|LTR
|
||||
1 Goblin Fireleaper|LTR
|
||||
1 Gimli, Counter of Kills|LTR
|
||||
1 Grishnakh, Brash Instigator|LTR
|
||||
1 Grishnákh, Brash Instigator|LTR
|
||||
1 Olog-hai Crusher|LTR
|
||||
1 Smite the Deathless|LTR
|
||||
1 Rush the Room|LTR
|
||||
@@ -6335,7 +6335,7 @@ Kaya, Ghost Assassin|CN2|2
|
||||
|
||||
[LTR Journey 1]
|
||||
1 Brandywine Farmer|LTR
|
||||
1 Dunedain Rangers|LTR
|
||||
1 Dúnedain Rangers|LTR
|
||||
1 Elanor Gardner|LTR
|
||||
1 Meriadoc Brandybuck|LTR
|
||||
1 Mirkwood Spider|LTR
|
||||
@@ -6393,9 +6393,9 @@ Radagast the Brown|LTR
|
||||
|
||||
[LTR Red Inserts]
|
||||
Display of Power|LTR
|
||||
Eomer, Marshal of Rohan|LTR
|
||||
Éomer, Marshal of Rohan|LTR
|
||||
Fall of Cair Andros|LTR
|
||||
Gloin, Dwarf Emissary|LTR
|
||||
Glóin, Dwarf Emissary|LTR
|
||||
Moria Marauder|LTR
|
||||
There and Back Again|LTR
|
||||
Hew the Entwood|LTR
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Anduril, Flame of the West
|
||||
Name:Andúril, Flame of the West
|
||||
ManaCost:3
|
||||
Types:Legendary Artifact Equipment
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 1 | AddSVar$ AE | Description$ Equipped creature gets +3/+1.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Anduril, Narsil Reforged
|
||||
Name:Andúril, Narsil Reforged
|
||||
ManaCost:2
|
||||
Types:Legendary Artifact Equipment
|
||||
K:Ascend
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Arwen Undomiel
|
||||
Name:Arwen Undómiel
|
||||
ManaCost:G U
|
||||
Types:Legendary Creature Elf Noble
|
||||
PT:2/2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Barad-Dur
|
||||
Name:Barad-dûr
|
||||
ManaCost:no cost
|
||||
Types:Legendary Land
|
||||
K:ETBReplacement:Other:LandTapped
|
||||
@@ -9,4 +9,4 @@ SVar:Morbid:Count$Morbid.1.0
|
||||
SVar:X:Count$xPaid
|
||||
DeckHints:Type$Legendary & Type$Creature
|
||||
DeckHas:Ability$Token|Counters & Type$Orc
|
||||
Oracle:Barad-Dur enters the battlefield tapped unless you control a legendary creature.\n{T}: Add {B}.\n{X}{X}{B}, {T}: Amass Orcs X. Activate only if a creature died this turn.
|
||||
Oracle:Barad-dûr enters the battlefield tapped unless you control a legendary creature.\n{T}: Add {B}.\n{X}{X}{B}, {T}: Amass Orcs X. Activate only if a creature died this turn.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Bartolome del Presidio
|
||||
Name:Bartolomé del Presidio
|
||||
ManaCost:W B
|
||||
Types:Legendary Creature Vampire Knight
|
||||
PT:2/1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Bosium Strip
|
||||
Name:Bösium Strip
|
||||
ManaCost:3
|
||||
Types:Artifact
|
||||
A:AB$ Effect | Cost$ 3 T | ReplacementEffects$ REBosiumStrip | StaticAbilities$ STBosiumStrip | SpellDescription$ Until end of turn, you may cast instant and sorcery spells from the top of your graveyard. If a spell cast this way would be put into a graveyard this turn, exile it instead.
|
||||
|
||||
@@ -10,4 +10,4 @@ SVar:DBRepeatDraw:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBD
|
||||
SVar:DBDraw:DB$ Draw | Defined$ Remembered | NumCards$ Votes
|
||||
SVar:DBRepeatPut:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChangeZone | AmountFromVotes$ True | SubAbility$ DBChangeZone
|
||||
SVar:DBChangeZone:DB$ ChangeZone | DefinedPlayer$ Remembered | ConditionCheckSVar$ Votes | ConditionSVarCompare$ EQ0 | ChangeType$ Permanent | Origin$ Hand | Destination$ Battlefield
|
||||
Oracle:Vigilance\nSecret council — Whenever Cirdan the Shipwright enters the battlefield or attacks, each player secretly votes for a player, then those votes are revealed. Each player draws a card for each vote they received. Each player who received no votes may put a permanent card from their hand onto the battlefield.
|
||||
Oracle:Vigilance\nSecret council — Whenever Círdan the Shipwright enters the battlefield or attacks, each player secretly votes for a player, then those votes are revealed. Each player draws a card for each vote they received. Each player who received no votes may put a permanent card from their hand onto the battlefield.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Dandan
|
||||
Name:Dandân
|
||||
ManaCost:U U
|
||||
Types:Creature Fish
|
||||
PT:4/1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Deja Vu
|
||||
Name:Déjà Vu
|
||||
ManaCost:2 U
|
||||
Types:Sorcery
|
||||
A:SP$ ChangeZone | Cost$ 2 U | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target sorcery card in your graveyard | ValidTgts$ Sorcery.YouCtrl | SpellDescription$ Return target sorcery card from your graveyard to your hand.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Dunedain Blade
|
||||
Name:Dúnedain Blade
|
||||
ManaCost:1 W
|
||||
Types:Artifact Equipment
|
||||
K:Equip:1:Human.YouCtrl:Human
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Dunedain Rangers
|
||||
Name:Dúnedain Rangers
|
||||
ManaCost:3 G
|
||||
Types:Creature Human Ranger
|
||||
PT:4/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eomer, King of Rohan
|
||||
Name:Éomer, King of Rohan
|
||||
ManaCost:3 R W
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/2
|
||||
@@ -11,4 +11,4 @@ SVar:DBPower:DB$ DealDamage | ValidTgts$ Any | NumDmg$ Y
|
||||
SVar:Y:Count$CardPower
|
||||
DeckNeeds:Type$Human
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Double strike\nEomer, King of Rohan enters the battlefield with a +1/+1 counter on it for each other Human you control.\nWhen Eomer enters the battlefield, target player becomes the monarch. Éomer deals damage equal to its power to any target.
|
||||
Oracle:Double strike\nÉomer, King of Rohan enters the battlefield with a +1/+1 counter on it for each other Human you control.\nWhen Éomer enters the battlefield, target player becomes the monarch. Éomer deals damage equal to its power to any target.
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eomer, Marshal of Rohan
|
||||
Name:Éomer, Marshal of Rohan
|
||||
ManaCost:2 R R
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:4/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eomer of the Riddermark
|
||||
Name:Éomer of the Riddermark
|
||||
ManaCost:4 R
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:5/4
|
||||
@@ -7,4 +7,4 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | IsPresent$ Creatur
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You
|
||||
DeckHas:Ability$Token & Type$Soldier
|
||||
SVar:HasAttackEffect:TRUE
|
||||
Oracle:Haste\nWhenever Eomer of the Riddermark attacks, if you control a creature with the greatest power among creatures on the battlefield, create a 1/1 white Human Soldier creature token.
|
||||
Oracle:Haste\nWhenever Éomer of the Riddermark attacks, if you control a creature with the greatest power among creatures on the battlefield, create a 1/1 white Human Soldier creature token.
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eowyn, Fearless Knight
|
||||
Name:Éowyn, Fearless Knight
|
||||
ManaCost:2 R W
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:3/4
|
||||
@@ -8,4 +8,4 @@ SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Valid
|
||||
SVar:DBProtection:DB$ ProtectionAll | ValidCards$ Creature.YouCtrl+Legendary | Gains$ TargetedCardColor
|
||||
SVar:X:Count$CardPower
|
||||
DeckHints:Type$Legendary
|
||||
Oracle:Haste\nWhen Eowyn, Fearless Knight enters the battlefield, exile target creature an opponent controls with greater power. Legendary creatures you control gain protection from each of that creature's colors until end of turn.
|
||||
Oracle:Haste\nWhen Éowyn, Fearless Knight enters the battlefield, exile target creature an opponent controls with greater power. Legendary creatures you control gain protection from each of that creature's colors until end of turn.
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eowyn, Lady of Rohan
|
||||
Name:Éowyn, Lady of Rohan
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Eowyn, Shieldmaiden
|
||||
Name:Éowyn, Shieldmaiden
|
||||
ManaCost:2 U R W
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:5/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Galadriel of Lothlorien
|
||||
Name:Galadriel of Lothlórien
|
||||
ManaCost:1 G U
|
||||
Types:Legendary Creature Elf Noble
|
||||
PT:3/3
|
||||
@@ -6,4 +6,4 @@ T:Mode$ RingTemptsYou | ValidCard$ Creature.YouCtrl+Other | TriggerZones$ Battle
|
||||
SVar:TrigScry:DB$ Scry | ScryNum$ 3
|
||||
T:Mode$ Scry | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ DBReveal | TriggerDescription$ Whenever you scry, you may reveal the top card of your library. If a land card is revealed this way, put it onto the battlefield tapped.
|
||||
SVar:DBReveal:DB$ Dig | DigNum$ 1 | Reveal$ True | Optional$ True | ChangeNum$ 1 | ChangeValid$ Land | DestinationZone$ Battlefield | Tapped$ True | DestinationZone2$ Library | LibraryPosition2$ 0
|
||||
Oracle:Whenever the Ring tempts you, if you chose a creature other than Galadriel of Lothlorien as your Ring-bearer, scry 3.\nWhenever you scry, you may reveal the top card of your library. If a land card is revealed this way, put it onto the battlefield tapped.
|
||||
Oracle:Whenever the Ring tempts you, if you chose a creature other than Galadriel of Lothlórien as your Ring-bearer, scry 3.\nWhenever you scry, you may reveal the top card of your library. If a land card is revealed this way, put it onto the battlefield tapped.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Ghazban Ogre
|
||||
Name:Ghazbán Ogre
|
||||
ManaCost:G
|
||||
Types:Creature Ogre
|
||||
PT:2/2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Gilraen, Dunedain Protector
|
||||
Name:Gilraen, Dúnedain Protector
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Gloin, Dwarf Emissary
|
||||
Name:Glóin, Dwarf Emissary
|
||||
ManaCost:2 R
|
||||
Types:Legendary Creature Dwarf Advisor
|
||||
PT:3/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Grima, Saruman's Footman
|
||||
Name:Gríma, Saruman's Footman
|
||||
ManaCost:2 U B
|
||||
Types:Legendary Creature Human Advisor
|
||||
PT:1/4
|
||||
@@ -8,4 +8,4 @@ SVar:TrigDigUntil:DB$ DigUntil | Defined$ TriggeredTarget | Valid$ Instant,Sorce
|
||||
SVar:DBPlay:DB$ Play | ValidZone$ Exile | Valid$ Instant.IsRemembered,Sorcery.IsRemembered | ValidSA$ Spell | WithoutManaCost$ True | Optional$ True | SubAbility$ DBRestRandomOrder
|
||||
SVar:DBRestRandomOrder:DB$ ChangeZoneAll | ChangeType$ Card.IsImprinted,Card.IsRemembered | Origin$ Exile | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
|
||||
Oracle:Grima, Saruman's Footman can't be blocked.\nWhenever Grima deals combat damage to a player, that player exiles cards from the top of their library until they exile an instant or sorcery card. You may cast that card without paying its mana cost. Then that player puts the exiled cards that weren't cast this way on the bottom of their library in a random order.
|
||||
Oracle:Gríma, Saruman's Footman can't be blocked.\nWhenever Grima deals combat damage to a player, that player exiles cards from the top of their library until they exile an instant or sorcery card. You may cast that card without paying its mana cost. Then that player puts the exiled cards that weren't cast this way on the bottom of their library in a random order.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Grishnakh, Brash Instigator
|
||||
Name:Grishnákh, Brash Instigator
|
||||
ManaCost:2 R
|
||||
Types:Legendary Creature Goblin Soldier
|
||||
PT:1/1
|
||||
@@ -10,4 +10,4 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:TriggerRemembered$CardPower
|
||||
DeckHas:Ability$Token|Counters & Type$Orc|Army
|
||||
DeckHints:Type$Token
|
||||
Oracle:When Grishnakh, Brash Instigator enters the battlefield, amass Orcs 2. When you do, until end of turn, gain control of target nonlegendary creature an opponent controls with power less than or equal to the amassed Army's power. Untap that creature. It gains haste until end of turn.
|
||||
Oracle:When Grishnákh, Brash Instigator enters the battlefield, amass Orcs 2. When you do, until end of turn, gain control of target nonlegendary creature an opponent controls with power less than or equal to the amassed Army's power. Untap that creature. It gains haste until end of turn.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Haldir, Lorien Lieutenant
|
||||
Name:Haldir, Lórien Lieutenant
|
||||
ManaCost:X G
|
||||
Types:Legendary Creature Elf Soldier
|
||||
PT:0/0
|
||||
@@ -8,4 +8,4 @@ SVar:X:Count$xPaid
|
||||
A:AB$ PumpAll | Cost$ 5 G | ValidCards$ Creature.Elf+StrictlyOther+YouCtrl | NumAtt$ Y | NumDef$ Y | KW$ Vigilance | SpellDescription$ Until end of turn, other Elves you control gain vigilance and get +1/+1 for each +1/+1 counter on NICKNAME.
|
||||
SVar:Y:Count$CardCounters.P1P1
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:Haldir, Lorien Lieutenant enters the battlefield with X +1/+1 counters on it.\nVigilance\n{5}{G}: Until end of turn, other Elves you control gain vigilance and get +1/+1 for each +1/+1 counter on Haldir.
|
||||
Oracle:Haldir, Lórien Lieutenant enters the battlefield with X +1/+1 counters on it.\nVigilance\n{5}{G}: Until end of turn, other Elves you control gain vigilance and get +1/+1 for each +1/+1 counter on Haldir.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Jotun Grunt
|
||||
Name:Jötun Grunt
|
||||
ManaCost:1 W
|
||||
Types:Creature Giant Soldier
|
||||
PT:4/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Jotun Owl Keeper
|
||||
Name:Jötun Owl Keeper
|
||||
ManaCost:2 W
|
||||
Types:Creature Giant
|
||||
PT:3/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Junun Efreet
|
||||
Name:Junún Efreet
|
||||
ManaCost:1 B B
|
||||
Types:Creature Efreet
|
||||
PT:3/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Juzam Djinn
|
||||
Name:Juzám Djinn
|
||||
ManaCost:2 B B
|
||||
Types:Creature Djinn
|
||||
PT:5/5
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Khabal Ghoul
|
||||
Name:Khabál Ghoul
|
||||
ManaCost:2 B
|
||||
Types:Creature Zombie
|
||||
PT:1/1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Kharn the Betrayer
|
||||
Name:Khârn the Betrayer
|
||||
ManaCost:3 R
|
||||
Types:Legendary Creature Astartes Berserker
|
||||
PT:5/1
|
||||
@@ -11,4 +11,4 @@ R:Event$ DamageDone | ActiveZones$ Battlefield | ValidTarget$ Card.Self | Replac
|
||||
SVar:ChoosePlayer:DB$ ChoosePlayer | Choices$ Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ DBGainControl
|
||||
SVar:DBGainControl:DB$ GainControl | NewController$ ChosenPlayer | SubAbility$ DBClearChosen
|
||||
SVar:DBClearChosen:DB$ Cleanup | ClearChosenPlayer$ True
|
||||
Oracle:Berzerker — Kharn the Betrayer attacks or blocks each combat if able.\nSigil of Corruption — When you lose control of Kharn the Betrayer, draw two cards.\nThe Betrayer — If damage would be dealt to Kharn the Betrayer, prevent that damage and an opponent of your choice gains control of it.
|
||||
Oracle:Berzerker — Khârn the Betrayer attacks or blocks each combat if able.\nSigil of Corruption — When you lose control of Khârn the Betrayer, draw two cards.\nThe Betrayer — If damage would be dealt to Khârn the Betrayer, prevent that damage and an opponent of your choice gains control of it.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Legions of Lim-Dul
|
||||
Name:Legions of Lim-Dûl
|
||||
ManaCost:1 B B
|
||||
Types:Creature Zombie
|
||||
PT:2/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul the Necromancer
|
||||
Name:Lim-Dûl the Necromancer
|
||||
ManaCost:5 B B
|
||||
Types:Legendary Creature Human Wizard
|
||||
PT:4/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul's Cohort
|
||||
Name:Lim-Dûl's Cohort
|
||||
ManaCost:1 B B
|
||||
Types:Creature Zombie
|
||||
PT:2/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul's Hex
|
||||
Name:Lim-Dûl's Hex
|
||||
ManaCost:1 B
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRepeat | TriggerDescription$ At the beginning of your upkeep, for each player, CARDNAME deals 1 damage to that player unless they pay {B} or {3}.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul's High Guard
|
||||
Name:Lim-Dûl's High Guard
|
||||
ManaCost:1 B B
|
||||
Types:Creature Skeleton
|
||||
PT:2/1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul's Paladin
|
||||
Name:Lim-Dûl's Paladin
|
||||
ManaCost:2 B R
|
||||
Types:Creature Human Knight
|
||||
PT:0/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lim-Dul's Vault
|
||||
Name:Lim-Dûl's Vault
|
||||
ManaCost:U B
|
||||
Types:Instant
|
||||
A:SP$ PeekAndReveal | PeekAmount$ 5 | NoReveal$ True | SubAbility$ DBRepeat | RememberPeeked$ True | StackDescription$ SpellDescription | SpellDescription$ Look at the top five cards of your library. As many times as you choose, you may pay 1 life, put those cards on the bottom of your library in any order, then look at the top five cards of your library. Then shuffle and put the last cards you looked at this way on top in any order.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lord of the Nazgul
|
||||
Name:Lord of the Nazgûl
|
||||
ManaCost:3 U B
|
||||
Types:Legendary Creature Wraith Noble
|
||||
PT:4/4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lorien Revealed
|
||||
Name:Lórien Revealed
|
||||
ManaCost:3 U U
|
||||
Types:Sorcery
|
||||
A:SP$ Draw | NumCards$ 3 | SpellDescription$ Draw three cards.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Lothlorien Blade
|
||||
Name:Lothlórien Blade
|
||||
ManaCost:3
|
||||
Types:Artifact Equipment
|
||||
T:Mode$ Attacks | ValidCard$ Card.EquippedBy | TriggerZones$ Battlefield | Execute$ TrigExchangeDamage | TriggerDescription$ Whenever equipped creature attacks, it deals damage equal to its power to target creature defending player controls.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Name:Lothlorien Lookout
|
||||
Name:Lothlórien Lookout
|
||||
ManaCost:1 G
|
||||
Types:Creature Elf Scout
|
||||
PT:1/3
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigScry | TriggerDescription$ Whenever CARDNAME attacks, scry 1.
|
||||
SVar:TrigScry:DB$ Scry | ScryNum$ 1
|
||||
SVar:HasAttackEffect:TRUE
|
||||
Oracle:Whenever Lothlorien Lookout attacks, scry 1.
|
||||
Oracle:Whenever Lothlórien Lookout attacks, scry 1.
|
||||
@@ -1,11 +1,11 @@
|
||||
Name:Marton Stromgald
|
||||
Name:Márton Stromgald
|
||||
ManaCost:2 R R
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:1/1
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPumpAttack | TriggerDescription$ Whenever Márton Stromgald attacks, other attacking creatures get +1/+1 until end of turn for each attacking creature other than Márton Stromgald.
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPumpAttack | TriggerDescription$ Whenever CARDNAME attacks, other attacking creatures get +1/+1 until end of turn for each attacking creature other than CARDNAME.
|
||||
SVar:TrigPumpAttack:DB$ PumpAll | ValidCards$ Creature.attacking+Other | NumAtt$ X | NumDef$ X
|
||||
SVar:X:Count$Valid Creature.attacking+Other
|
||||
T:Mode$ Blocks | ValidCard$ Card.Self | Triggerzones$ Battlefield | Execute$ TrigPumpBlock | TriggerDescription$ Whenever Márton Stromgald blocks, other blocking creatures get +1/+1 until end of turn for each blocking creature other than Márton Stromgald.
|
||||
T:Mode$ Blocks | ValidCard$ Card.Self | Triggerzones$ Battlefield | Execute$ TrigPumpBlock | TriggerDescription$ Whenever CARDNAME blocks, other blocking creatures get +1/+1 until end of turn for each blocking creature other than CARDNAME.
|
||||
SVar:TrigPumpBlock:DB$ PumpAll | ValidCards$ Creature.blocking+Other | NumAtt$ Y | NumDef$ Y
|
||||
SVar:Y:Count$Valid Creature.blocking+Other
|
||||
Oracle:Whenever Márton Stromgald attacks, other attacking creatures get +1/+1 until end of turn for each attacking creature other than Márton Stromgald.\nWhenever Márton Stromgald blocks, other blocking creatures get +1/+1 until end of turn for each blocking creature other than Márton Stromgald.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Mauhur, Uruk-hai Captain
|
||||
Name:Mauhúr, Uruk-hai Captain
|
||||
ManaCost:B R
|
||||
Types:Legendary Creature Orc Soldier
|
||||
PT:2/2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Mists of Lorien
|
||||
Name:Mists of Lórien
|
||||
ManaCost:2 U
|
||||
Types:Sorcery
|
||||
K:Replicate:U
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Nazgul
|
||||
Name:Nazgûl
|
||||
ManaCost:2 B
|
||||
Types:Creature Wraith Knight
|
||||
PT:1/2
|
||||
@@ -8,6 +8,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S
|
||||
SVar:TrigTempt:DB$ RingTemptsYou
|
||||
T:Mode$ RingTemptsYou | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCounters | TriggerDescription$ Whenever the Ring tempts you, put a +1/+1 counter on each Wraith you control.
|
||||
SVar:TrigCounters:DB$ PutCounterAll | ValidCards$ Creature.Wraith+YouCtrl | CounterType$ P1P1 | CounterNum$ 1
|
||||
DeckNeeds:Name$Nazgul
|
||||
DeckNeeds:Name$Nazgûl
|
||||
DeckHas:Ability$Token
|
||||
Oracle:Deathtouch\nWhen Nazgul enters the battlefield, the Ring tempts you.\nWhenever the Ring tempts you, put a +1/+1 counter on each Wraith you control.\nA deck can have up to nine cards named Nazgul.
|
||||
Oracle:Deathtouch\nWhen Nazgûl enters the battlefield, the Ring tempts you.\nWhenever the Ring tempts you, put a +1/+1 counter on each Wraith you control.\nA deck can have up to nine cards named Nazgûl.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Nazgul Battle-Mace
|
||||
Name:Nazgûl Battle-Mace
|
||||
ManaCost:5
|
||||
Types:Artifact Equipment
|
||||
K:Equip:3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Oath of Lim-Dul
|
||||
Name:Oath of Lim-Dûl
|
||||
ManaCost:3 B
|
||||
Types:Enchantment
|
||||
T:Mode$ LifeLost | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigLimDulSac | TriggerDescription$ Whenever you lose life, for each 1 life you lost, sacrifice a permanent other than Oath of Lim-Dûl unless you discard a card. (Damage dealt to you causes you to lose life.)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Olorin's Searing Light
|
||||
Name:Olórin's Searing Light
|
||||
ManaCost:2 R W
|
||||
Types:Instant
|
||||
A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled.
|
||||
@@ -9,4 +9,4 @@ SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:RememberedLKI$FilterControlledByRemembered_CardPower
|
||||
DeckHints:Ability$Graveyard|Mill
|
||||
Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olorin's Searing Light deals damage to each opponent equal to the power of the creature they exiled.
|
||||
Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olórin's Searing Light deals damage to each opponent equal to the power of the creature they exiled.
|
||||
@@ -12,4 +12,4 @@ SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Count$CardCounters.INFLUENCE
|
||||
SVar:Y:Remembered$SumCMC
|
||||
DeckHas:Ability$Counters|Mill
|
||||
Oracle:At the beginning of your end step, put an influence counter on Palantir of Orthanc and scry 2. Then target opponent may have you draw a card. If that player doesn't, you mill X cards, where X is the number of influence counters on Palantir of Orthanc, and that player loses life equal to the total mana value of those cards.
|
||||
Oracle:At the beginning of your end step, put an influence counter on Palantír of Orthanc and scry 2. Then target opponent may have you draw a card. If that player doesn't, you mill X cards, where X is the number of influence counters on Palantír of Orthanc, and that player loses life equal to the total mana value of those cards.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Rasaad, Monk of Selune
|
||||
Name:Rasaad, Monk of Selûne
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Monk
|
||||
PT:2/2
|
||||
@@ -10,7 +10,7 @@ SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
AlternateMode:Specialize
|
||||
Oracle:Specialize {5}\nWhen Rasaad, Monk of Selune enters the battlefield, exile target creature an opponent controls until this creature leaves the battlefield.
|
||||
Oracle:Specialize {5}\nWhen Rasaad, Monk of Selûne enters the battlefield, exile target creature an opponent controls until this creature leaves the battlefield.
|
||||
|
||||
SPECIALIZE:WHITE
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Ring of Ma'ruf
|
||||
Name:Ring of Ma'rûf
|
||||
ManaCost:5
|
||||
Types:Artifact
|
||||
A:AB$ Effect | Cost$ 5 T Exile<1/CARDNAME> | Name$ Ring of Ma'ruf Effect | ReplacementEffects$ DrawReplace | SpellDescription$ The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||
A:AB$ Effect | Cost$ 5 T Exile<1/CARDNAME> | Name$ Ring of Ma'rûf Effect | ReplacementEffects$ DrawReplace | SpellDescription$ The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||
SVar:DrawReplace:Event$ Draw | ValidPlayer$ You | ReplaceWith$ TutorSideboard | Description$ The next time you would draw a card this turn, instead put a card you own from outside the game into your hand.
|
||||
SVar:TutorSideboard:DB$ ChangeZone | Origin$ Sideboard | Destination$ Hand | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Hidden$ True | Mandatory$ True | SubAbility$ ExileEffect
|
||||
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Seance
|
||||
Name:Séance
|
||||
ManaCost:2 W W
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ At the beginning of each upkeep, you may exile target creature card from your graveyard. If you do, create a token that's a copy of that card, except it's a Spirit in addition to its other types. Exile it at the beginning of the next end step.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Smeagol, Helpful Guide
|
||||
Name:Sméagol, Helpful Guide
|
||||
ManaCost:1 B G
|
||||
Types:Legendary Creature Halfling Horror
|
||||
PT:4/2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Song of Earendil
|
||||
Name:Song of Eärendil
|
||||
ManaCost:3 G U
|
||||
Types:Enchantment Saga
|
||||
K:Saga:3:DBScry,DBToken,DBCounter
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Soothing of Smeagol
|
||||
Name:Soothing of Sméagol
|
||||
ManaCost:1 U
|
||||
Types:Instant
|
||||
A:SP$ ChangeZone | Cost$ 1 U | ValidTgts$ Creature.nonToken | TgtPrompt$ Select target nontoken creature | Origin$ Battlefield | Destination$ Hand | SubAbility$ TrigTempt | SpellDescription$ Return target nontoken creature to its owner's hand. The Ring tempts you.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Tale of Tinuviel
|
||||
Name:Tale of Tinúviel
|
||||
ManaCost:3 W W
|
||||
Types:Enchantment Saga
|
||||
K:Saga:3:DBPump,DBReturn,DBPumpLifeLink
|
||||
@@ -7,4 +7,4 @@ SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Tg
|
||||
SVar:DBPumpLifeLink:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select up to two target creatures you control | TargetMin$ 0 | TargetMax$ 2 | KW$ Lifelink | SpellDescription$ Up to two target creatures you control each gain lifelink until end of turn.
|
||||
SVar:PlayMain1:TRUE
|
||||
DeckHas:Ability$Graveyard|LifeGain
|
||||
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — Target creature you control gains indestructible for as long as you control Tale of Tinuviel.\nII — Return target creature card from your graveyard to the battlefield.\nIII — Up to two target creatures you control each gain lifelink until end of turn.
|
||||
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI — Target creature you control gains indestructible for as long as you control Tale of Tinúviel.\nII — Return target creature card from your graveyard to the battlefield.\nIII — Up to two target creatures you control each gain lifelink until end of turn.
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:The Balrog, Flame of Udun
|
||||
Name:The Balrog, Flame of Udûn
|
||||
ManaCost:3 B R
|
||||
Types:Legendary Creature Avatar Demon
|
||||
PT:7/7
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Name:Theoden, King of Rohan
|
||||
Name:Théoden, King of Rohan
|
||||
ManaCost:1 R W
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/3
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Creature.Human+Other+YouCtrl | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME or another Human enters the battlefield under your control, target creature gains double strike until end of turn.
|
||||
SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | KW$ Double Strike
|
||||
DeckHints:Type$Human
|
||||
Oracle:Whenever Theoden, King of Rohan or another Human enters the battlefield under your control, target creature gains double strike until end of turn.
|
||||
Oracle:Whenever Théoden, King of Rohan or another Human enters the battlefield under your control, target creature gains double strike until end of turn.
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Troll of Khazad-dum
|
||||
Name:Troll of Khazad-dûm
|
||||
ManaCost:5 B
|
||||
Types:Creature Troll
|
||||
PT:6/5
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Tura Kennerud, Skyknight
|
||||
Name:Tura Kennerüd, Skyknight
|
||||
ManaCost:2 W U U
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:3/3
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Name:Ugluk of the White Hand
|
||||
Name:Uglúk of the White Hand
|
||||
ManaCost:2 B R
|
||||
Types:Legendary Creature Orc Soldier
|
||||
PT:3/3
|
||||
@@ -7,4 +7,4 @@ SVar:TrigGainCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | Counte
|
||||
SVar:X:TriggeredCard$Valid Creature.Orc,Creature.Goblin/Plus.1
|
||||
DeckHas:Ability$Counters
|
||||
DeckHints:Type$Orc|Goblin
|
||||
Oracle:Whenever another creature you control dies, put a +1/+1 counter on Ugluk of the White Hand. If that creature was a Goblin or Orc, put two +1/+1 counters on Uglúk instead.
|
||||
Oracle:Whenever another creature you control dies, put a +1/+1 counter on Uglúk of the White Hand. If that creature was a Goblin or Orc, put two +1/+1 counters on Uglúk instead.
|
||||
|
||||
@@ -15,34 +15,34 @@ Name=ArabianExtended
|
||||
1 City in a Bottle|ARN
|
||||
1 City of Brass|ARN
|
||||
1 Dancing Scimitar|ARN
|
||||
1 Dandan|ARN
|
||||
1 Dandân|ARN
|
||||
1 Desert|ARN
|
||||
1 Desert Nomads|ARN
|
||||
1 Desert Twister|ARN
|
||||
1 Diamond Valley|ARN
|
||||
1 Drop of Honey|ARN
|
||||
1 Ebony Horse|ARN
|
||||
1 El-Hajjaj|ARN
|
||||
1 El-Hajjâj|ARN
|
||||
1 Elephant Graveyard|ARN
|
||||
1 Erg Raiders|ARN
|
||||
1 Erhnam Djinn|ARN
|
||||
1 Fishliver Oil|ARN
|
||||
1 Flying Carpet|ARN
|
||||
1 Flying Men|ARN
|
||||
1 Ghazban Ogre|ARN
|
||||
1 Ghazbán Ogre|ARN
|
||||
1 Giant Tortoise|ARN
|
||||
1 Hasran Ogress|ARN
|
||||
1 Hurr Jackal|ARN
|
||||
1 Ifh-Biff Efreet|ARN
|
||||
1 Ifh-Bíff Efreet|ARN
|
||||
1 Island Fish Jasconius|ARN
|
||||
1 Island of Wak-Wak|ARN
|
||||
1 Jandor's Ring|ARN
|
||||
1 Jandor's Saddlebags|ARN
|
||||
1 Jeweled Bird|ARN
|
||||
1 Jihad|ARN
|
||||
1 Junun Efreet|ARN
|
||||
1 Juzam Djinn|ARN
|
||||
1 Khabal Ghoul|ARN
|
||||
1 Junún Efreet|ARN
|
||||
1 Juzám Djinn|ARN
|
||||
1 Khabál Ghoul|ARN
|
||||
1 King Suleiman|ARN
|
||||
1 Kird Ape|ARN
|
||||
1 Library of Alexandria|ARN
|
||||
@@ -89,7 +89,7 @@ Name=ArabianExtended
|
||||
1 Telim'Tor's Edict|MIR
|
||||
1 Unfulfilled Desires|MIR
|
||||
1 Drifting Djinn|USG
|
||||
1 El-Hajjaj|3ED
|
||||
1 El-Hajjâj|3ED
|
||||
1 Emberwilde Caliph|MIR
|
||||
1 Island Fish Jasconius|3ED
|
||||
1 Mijae Djinn|3ED
|
||||
|
||||
@@ -314,7 +314,7 @@ Name=MTGO Cube March 2014
|
||||
1 Jace, the Mind Sculptor|VMA
|
||||
1 Jackal Pup|A25
|
||||
1 Joraga Treespeaker|ROE
|
||||
1 Jotun Grunt|CSP
|
||||
1 Jötun Grunt|CSP
|
||||
1 Journey to Nowhere|ZEN
|
||||
1 Jungle Shrine|MM3
|
||||
1 Jushi Apprentice|CHK
|
||||
|
||||
@@ -8,7 +8,7 @@ Name=MTGO Vintage Cube October 2023
|
||||
1 Agatha's Soul Cauldron|WOE
|
||||
1 Ancestral Recall|VMA
|
||||
1 Ancient Tomb|UMA
|
||||
1 Anduril, Flame of the West|LTR
|
||||
1 Andúril, Flame of the West|LTR
|
||||
1 Animate Dead|EMA
|
||||
1 Arbor Elf|WWK
|
||||
1 Arc Trail|SOM
|
||||
@@ -252,7 +252,7 @@ Name=MTGO Vintage Cube October 2023
|
||||
1 Lion's Eye Diamond|VMA
|
||||
1 Llanowar Elves|DOM
|
||||
1 Loran of the Third Path|BRO
|
||||
1 Lorien Revealed|LTR
|
||||
1 Lórien Revealed|LTR
|
||||
1 Lotus Petal|FVE
|
||||
1 Lurrus of the Dream-Den|IKO
|
||||
1 Magda, Brazen Outlaw|KHM
|
||||
@@ -323,7 +323,7 @@ Name=MTGO Vintage Cube October 2023
|
||||
1 Outland Liberator|MID
|
||||
1 Overgrown Tomb|RAV
|
||||
1 Palace Jailer|TSR
|
||||
1 Palantir of Orthanc|LTR
|
||||
1 Palantír of Orthanc|LTR
|
||||
1 Paradoxical Outcome|KLD
|
||||
1 Parallax Wave|VMA
|
||||
1 Path to Exile|CFX
|
||||
@@ -485,7 +485,7 @@ Name=MTGO Vintage Cube October 2023
|
||||
1 Treasure Cruise|KTK
|
||||
1 Trinket Mage|5DN
|
||||
1 Triplicate Titan|C21
|
||||
1 Troll of Khazad-dum|LTR
|
||||
1 Troll of Khazad-dûm|LTR
|
||||
1 Tropical Island|ME3
|
||||
1 Tundra|ME2
|
||||
1 Turnabout|DMR
|
||||
|
||||
@@ -103,7 +103,7 @@ City of Brass|ARN
|
||||
Cuombajj Witches|ARN
|
||||
Cyclone|ARN
|
||||
Dancing Scimitar|ARN
|
||||
Dandan|ARN
|
||||
Dandân|ARN
|
||||
Desert|ARN
|
||||
Desert Nomads|ARN
|
||||
Desert Twister|ARN
|
||||
@@ -118,7 +118,7 @@ Eye for an Eye|ARN
|
||||
Fishliver Oil|ARN
|
||||
Flying Carpet|ARN
|
||||
Flying Men|ARN
|
||||
Ghazban Ogre|ARN
|
||||
Ghazbán Ogre|ARN
|
||||
Giant Tortoise|ARN
|
||||
Guardian Beast|ARN
|
||||
Hasran Ogress|ARN
|
||||
@@ -130,9 +130,9 @@ Jandor's Ring|ARN
|
||||
Jandor's Saddlebags|ARN
|
||||
Jeweled Bird|ARN
|
||||
Jihad|ARN
|
||||
Junun Efreet|ARN
|
||||
Juzam Djinn|ARN
|
||||
Khabal Ghoul|ARN
|
||||
Junún Efreet|ARN
|
||||
Juzám Djinn|ARN
|
||||
Khabál Ghoul|ARN
|
||||
King Suleiman|ARN
|
||||
Kird Ape|ARN
|
||||
Library of Alexandria|ARN
|
||||
@@ -148,7 +148,7 @@ Oubliette|ARN
|
||||
Piety|ARN
|
||||
Pyramids|ARN
|
||||
Repentant Blacksmith|ARN
|
||||
Ring of Ma'ruf|ARN
|
||||
Ring of Ma'rûf|ARN
|
||||
Rukh Egg|ARN
|
||||
Sandals of Abdallah|ARN
|
||||
Sandstorm|ARN
|
||||
|
||||
@@ -160,7 +160,7 @@ Name=Old School 93-94 Magic Powered 360 Card Cube
|
||||
1 Icatian Town|FEM
|
||||
1 Ice Storm|LEB
|
||||
1 Icy Manipulator|LEB
|
||||
1 Ifh-Biff Efreet|ARN
|
||||
1 Ifh-Bíff Efreet|ARN
|
||||
1 Immolation|LEG
|
||||
1 Infernal Medusa|LEG
|
||||
1 Inferno|DRK
|
||||
@@ -175,10 +175,10 @@ Name=Old School 93-94 Magic Powered 360 Card Cube
|
||||
1 Jihad|ARN
|
||||
1 Johan|LEG
|
||||
1 Juggernaut|LEB
|
||||
1 Junun Efreet|ARN
|
||||
1 Junún Efreet|ARN
|
||||
1 Juxtapose|LEG
|
||||
1 Juzam Djinn|ARN
|
||||
1 Khabal Ghoul|ARN
|
||||
1 Juzám Djinn|ARN
|
||||
1 Khabál Ghoul|ARN
|
||||
1 Killer Bees|LEG
|
||||
1 King Suleiman|ARN
|
||||
1 Kird Ape|ARN
|
||||
|
||||
@@ -75,7 +75,7 @@ Name=Old School 93-94 Magic Unpowered 400 Card Cube
|
||||
1 Dakkon Blackblade|LEG
|
||||
1 Dance of Many|DRK
|
||||
1 Dancing Scimitar|ARN
|
||||
1 Dandan|ARN
|
||||
1 Dandân|ARN
|
||||
1 Dark Ritual|LEB
|
||||
1 Darkness|LEG
|
||||
1 Demonic Torment|LEG
|
||||
@@ -168,7 +168,7 @@ Name=Old School 93-94 Magic Unpowered 400 Card Cube
|
||||
1 Icatian Town|FEM
|
||||
1 Ice Storm|LEB
|
||||
1 Icy Manipulator|LEB
|
||||
1 Ifh-Biff Efreet|ARN
|
||||
1 Ifh-Bíff Efreet|ARN
|
||||
1 Immolation|LEG
|
||||
1 Infernal Medusa|LEG
|
||||
1 Inferno|DRK
|
||||
@@ -182,11 +182,11 @@ Name=Old School 93-94 Magic Unpowered 400 Card Cube
|
||||
1 Jayemdae Tome|LEA
|
||||
1 Jihad|ARN
|
||||
1 Juggernaut|LEB
|
||||
1 Junun Efreet|ARN
|
||||
1 Junún Efreet|ARN
|
||||
1 Juxtapose|LEG
|
||||
1 Juzam Djinn|ARN
|
||||
1 Juzám Djinn|ARN
|
||||
1 Keepers of the Faith|LEG
|
||||
1 Khabal Ghoul|ARN
|
||||
1 Khabál Ghoul|ARN
|
||||
1 Killer Bees|LEG
|
||||
1 Kird Ape|ARN
|
||||
1 Kismet|LEG
|
||||
|
||||
@@ -13,7 +13,7 @@ ScryfallCode=HBG
|
||||
1 R Klement, Novice Acolyte @Maria Poliakova
|
||||
2 R Lae'zel, Githyanki Warrior @John Stanko
|
||||
3 U Lulu, Forgetful Hollyphant @Jakob Eirich
|
||||
4 U Rasaad, Monk of Selune @Dan Scott
|
||||
4 U Rasaad, Monk of Selûne @Dan Scott
|
||||
5 U Alora, Rogue Companion @Aaron Miller
|
||||
6 M Gale, Conduit of the Arcane @Cristi Balanescu
|
||||
7 R Imoen, Trickster Friend @Alix Branwyn
|
||||
|
||||
@@ -105,10 +105,10 @@ ScryfallCode=ALL
|
||||
30a C Lat-Nam's Legacy @Tom Wänerstrand
|
||||
30b C Lat-Nam's Legacy @Tom Wänerstrand
|
||||
31 R Library of Lat-Nam @Alan Rabinowitz
|
||||
55a C Lim-Dul's High Guard @Anson Maddocks
|
||||
55b C Lim-Dul's High Guard @Anson Maddocks
|
||||
108 U Lim-Dul's Paladin @Christopher Rush
|
||||
107 U Lim-Dul's Vault @Rob Alexander
|
||||
55a C Lim-Dûl's High Guard @Anson Maddocks
|
||||
55b C Lim-Dûl's High Guard @Anson Maddocks
|
||||
108 U Lim-Dûl's Paladin @Christopher Rush
|
||||
107 U Lim-Dûl's Vault @Rob Alexander
|
||||
122 R Lodestone Bauble @Douglas Shuler
|
||||
112 R Lord of Tresserhorn @Anson Maddocks
|
||||
10a C Martyrdom @Mark Poole
|
||||
|
||||
@@ -30,14 +30,14 @@ ScryfallCode=ARN
|
||||
23 C Cuombajj Witches @Kaja Foglio
|
||||
45 U Cyclone @Mark Tedin
|
||||
61 R Dancing Scimitar @Anson Maddocks
|
||||
12 C Dandan @Drew Tucker
|
||||
12 C Dandân @Drew Tucker
|
||||
72 C Desert @Jesper Myrfors
|
||||
38 C Desert Nomads @Christopher Rush
|
||||
46 U Desert Twister @Susan Van Camp
|
||||
73 U Diamond Valley @Brian Snõddy
|
||||
47 R Drop of Honey @Anson Maddocks
|
||||
62 R Ebony Horse @Dameon Willich
|
||||
24 R El-Hajjaj @Dameon Willich
|
||||
24 R El-Hajjâj @Dameon Willich
|
||||
74 R Elephant Graveyard @Rob Alexander
|
||||
25 C Erg Raiders @Dameon Willich
|
||||
25† C Erg Raiders @Dameon Willich
|
||||
@@ -47,23 +47,23 @@ ScryfallCode=ARN
|
||||
13† C Fishliver Oil @Anson Maddocks
|
||||
63 U Flying Carpet @Mark Tedin
|
||||
14 C Flying Men @Christopher Rush
|
||||
49 C Ghazban Ogre @Jesper Myrfors
|
||||
49 C Ghazbán Ogre @Jesper Myrfors
|
||||
15 C Giant Tortoise @Kaja Foglio
|
||||
15† C Giant Tortoise @Kaja Foglio
|
||||
26 R Guardian Beast @Ken Meyer, Jr.
|
||||
27 C Hasran Ogress @Dan Frazier
|
||||
27† C Hasran Ogress @Dan Frazier
|
||||
39 C Hurr Jackal @Drew Tucker
|
||||
50 R Ifh-Biff Efreet @Jesper Myrfors
|
||||
50 R Ifh-Bíff Efreet @Jesper Myrfors
|
||||
16 R Island Fish Jasconius @Jesper Myrfors
|
||||
75 R Island of Wak-Wak @Douglas Shuler
|
||||
64 R Jandor's Ring @Dan Frazier
|
||||
65 R Jandor's Saddlebags @Dameon Willich
|
||||
66 U Jeweled Bird @Amy Weber
|
||||
5 R Jihad @Brian Snõddy
|
||||
28 R Junun Efreet @Christopher Rush
|
||||
29 R Juzam Djinn @Mark Tedin
|
||||
30 U Khabal Ghoul @Douglas Shuler
|
||||
28 R Junún Efreet @Christopher Rush
|
||||
29 R Juzám Djinn @Mark Tedin
|
||||
30 U Khabál Ghoul @Douglas Shuler
|
||||
6 R King Suleiman @Mark Poole
|
||||
40 C Kird Ape @Ken Meyer, Jr.
|
||||
76 U Library of Alexandria @Mark Poole
|
||||
@@ -84,7 +84,7 @@ ScryfallCode=ARN
|
||||
8† C Piety @Mark Poole
|
||||
67 R Pyramids @Amy Weber
|
||||
9 R Repentant Blacksmith @Drew Tucker
|
||||
68 R Ring of Ma'ruf @Dan Frazier
|
||||
68 R Ring of Ma'rûf @Dan Frazier
|
||||
43 C Rukh Egg @Christopher Rush
|
||||
43† C Rukh Egg @Christopher Rush
|
||||
69 U Sandals of Abdallah @Dan Frazier
|
||||
|
||||
@@ -45,7 +45,7 @@ ScryfallCode=CHR
|
||||
5 C D'Avenant Archer @Douglas Shuler
|
||||
75 R Dakkon Blackblade @Richard Kane Ferguson
|
||||
17 R Dance of Many @Sandra Everingham
|
||||
18 C Dandan @Drew Tucker
|
||||
18 C Dandân @Drew Tucker
|
||||
6 C Divine Offering @Jeff A. Menges
|
||||
63 C Emerald Dragonfly @Quinton Hoover
|
||||
19 U Enchantment Alteration @Brian Snõddy
|
||||
@@ -58,7 +58,7 @@ ScryfallCode=CHR
|
||||
98 C Fountain of Youth @Daniel Gelon
|
||||
76 R Gabriel Angelfire @Daniel Gelon
|
||||
99 R Gauntlets of Chaos @Dan Frazier
|
||||
65 C Ghazban Ogre @Jesper Myrfors
|
||||
65 C Ghazbán Ogre @Jesper Myrfors
|
||||
33 C Giant Slug @Anson Maddocks
|
||||
48 U Goblin Artisans @Julie Baroh
|
||||
49 C Goblin Digging Team @Ron Spencer
|
||||
|
||||
@@ -39,7 +39,7 @@ ScryfallCode=CST
|
||||
123 U Drift of the Dead @Brian Snõddy
|
||||
127 C Gangrenous Zombies @Brian Snõddy
|
||||
137 C Kjeldoran Dead @Melissa A. Benson
|
||||
142 C Legions of Lim-Dul @Anson Maddocks
|
||||
142 C Legions of Lim-Dûl @Anson Maddocks
|
||||
161 C Soul Burn @Rob Alexander
|
||||
194 C Incinerate @Mark Poole
|
||||
208 U Orcish Healer @Quinton Hoover
|
||||
|
||||
@@ -74,8 +74,8 @@ ScryfallCode=CSP
|
||||
111 C Into the North @Richard Sardinha
|
||||
137 R Jester's Scepter @Matt Cavotta
|
||||
37 R Jokulmorder @Mark Zug
|
||||
8 U Jotun Grunt @Franz Vohwinkel
|
||||
9 U Jotun Owl Keeper @Dave Dorman
|
||||
8 U Jötun Grunt @Franz Vohwinkel
|
||||
9 U Jötun Owl Keeper @Dave Dorman
|
||||
130 U Juniper Order Ranger @Greg Hildebrandt
|
||||
86 R Karplusan Minotaur @Wayne England
|
||||
112 U Karplusan Strider @Dan Scott
|
||||
|
||||
@@ -203,7 +203,7 @@ ScryfallCode=C13
|
||||
194 M Jeleva, Nephalia's Scourge @Cynthia Sheppard
|
||||
195 U Jund Charm @Brandon Kitkouski
|
||||
196 U Leafdrake Roost @Nick Percival
|
||||
197 U Lim-Dul's Vault @Wayne England
|
||||
197 U Lim-Dûl's Vault @Wayne England
|
||||
198 M Marath, Will of the Wild @Tyler Jacobson
|
||||
199 M Mayael the Anima @Jason Chan
|
||||
200 U Naya Charm @Jesper Ejsing
|
||||
|
||||
@@ -154,7 +154,7 @@ ScryfallCode=cmd
|
||||
278 C Izzet Boilerworks @John Avon
|
||||
205 C Izzet Chronarch @Nick Percival
|
||||
252 C Izzet Signet @Greg Hildebrandt
|
||||
16 U Jotun Grunt @Franz Vohwinkel
|
||||
16 U Jötun Grunt @Franz Vohwinkel
|
||||
17 C Journey to Nowhere @Warren Mahy
|
||||
279 U Jwar Isle Refuge @Cyril Van Der Haegen
|
||||
206 M Kaalia of the Vast @Michael Komarck
|
||||
|
||||
@@ -131,7 +131,7 @@ ScryfallCode=DKA
|
||||
103 C Scorch the Fields @Jaime Jones
|
||||
125 C Scorned Villager @Cynthia Sheppard
|
||||
47 C Screeching Skaab @Clint Cearley
|
||||
20 R Seance @David Rapoza
|
||||
20 R Séance @David Rapoza
|
||||
48 U Secrets of the Dead @Eytan Zana
|
||||
104 U Shattered Perception @Terese Nielsen
|
||||
49 C Shriekgeist @Raymond Swanland
|
||||
|
||||
@@ -12,8 +12,8 @@ ScryfallCode=DKM
|
||||
3 C Dark Banishing @Drew Tucker
|
||||
4 C Dark Ritual @Justin Hampton
|
||||
5 C Foul Familiar @Anson Maddocks
|
||||
6a C Lim-Dul's High Guard @Anson Maddocks
|
||||
6b C Lim-Dul's High Guard @Anson Maddocks
|
||||
6a C Lim-Dûl's High Guard @Anson Maddocks
|
||||
6b C Lim-Dûl's High Guard @Anson Maddocks
|
||||
7 R Necropotence @Mark Tedin
|
||||
8a C Phantasmal Fiend @Scott Kirschner
|
||||
8b C Phantasmal Fiend @Scott Kirschner
|
||||
|
||||
@@ -235,7 +235,7 @@ ScryfallCode=DMU
|
||||
221 R Stenn, Paranoid Partisan @Mila Pesic
|
||||
222 U Tatyova, Steward of Tides @Howard Lyon
|
||||
223 U Tori D'Avenant, Fury Rider @Anna Podedworna
|
||||
224 U Tura Kennerud, Skyknight @Donato Giancola
|
||||
224 U Tura Kennerüd, Skyknight @Donato Giancola
|
||||
225 U Uurg, Spawn of Turg @Nicholas Gregory
|
||||
226 U Vohar, Vodalian Desecrator @Daarken
|
||||
227 U Zar Ojanen, Scion of Efrava @Justine Cruz
|
||||
@@ -343,7 +343,7 @@ ScryfallCode=DMU
|
||||
320 R Stenn, Paranoid Partisan @Tyler Crook
|
||||
321 U Tatyova, Steward of Tides @Lisa Heidhoff
|
||||
322 U Tori D'Avenant, Fury Rider @Jody Clark
|
||||
323 U Tura Kennerud, Skyknight @Benjamin Ee
|
||||
323 U Tura Kennerüd, Skyknight @Benjamin Ee
|
||||
324 U Uurg, Spawn of Turg @Eugene Frost
|
||||
325 U Vohar, Vodalian Desecrator @Nino Vecia
|
||||
326 U Zar Ojanen, Scion of Efrava @Eshpur
|
||||
@@ -384,7 +384,7 @@ ScryfallCode=DMU
|
||||
361 R Stenn, Paranoid Partisan @Tyler Crook
|
||||
362 U Tatyova, Steward of Tides @Lisa Heidhoff
|
||||
363 U Tori D'Avenant, Fury Rider @Jody Clark
|
||||
364 U Tura Kennerud, Skyknight @Benjamin Ee
|
||||
364 U Tura Kennerüd, Skyknight @Benjamin Ee
|
||||
365 U Uurg, Spawn of Turg @Eugene Frost
|
||||
366 U Vohar, Vodalian Desecrator @Nino Vecia
|
||||
367 U Zar Ojanen, Scion of Efrava @Eshpur
|
||||
|
||||
@@ -99,7 +99,7 @@ ScryfallCode=5ED
|
||||
152 U Cursed Land @Jesper Myrfors
|
||||
78 R Dance of Many @Sandra Everingham
|
||||
362 R Dancing Scimitar @Anson Maddocks
|
||||
79 C Dandan @Drew Tucker
|
||||
79 C Dandân @Drew Tucker
|
||||
80 C Dark Maze @David Seeley
|
||||
153 C Dark Ritual @Clint Langley
|
||||
23 C D'Avenant Archer @Douglas Shuler
|
||||
@@ -174,7 +174,7 @@ ScryfallCode=5ED
|
||||
232 R Game of Chaos @Thomas Gianni
|
||||
90 C Gaseous Form @Doug Keith
|
||||
373 R Gauntlets of Chaos @Alan Rabinowitz
|
||||
298 C Ghazban Ogre @Mike Raabe
|
||||
298 C Ghazbán Ogre @Mike Raabe
|
||||
299 C Giant Growth @DiTerlizzi
|
||||
300 C Giant Spider @Brian Snõddy
|
||||
233 C Giant Strength @Kev Walker
|
||||
|
||||
@@ -113,7 +113,7 @@ ScryfallCode=4ED
|
||||
188 U Earth Elemental @Dan Frazier
|
||||
189 R Earthquake @Dan Frazier
|
||||
318 R Ebony Horse @Dameon Willich
|
||||
134 R El-Hajjaj @Dameon Willich
|
||||
134 R El-Hajjâj @Dameon Willich
|
||||
24 R Elder Land Wurm @Quinton Hoover
|
||||
242 U Elven Riders @Melissa A. Benson
|
||||
243 R Elvish Archers @Anson Maddocks
|
||||
@@ -190,7 +190,7 @@ ScryfallCode=4ED
|
||||
330 R Jandor's Saddlebags @Dameon Willich
|
||||
331 R Jayemdae Tome @Mark Tedin
|
||||
79 C Jump @Mark Poole
|
||||
143 U Junun Efreet @Christopher Rush
|
||||
143 U Junún Efreet @Christopher Rush
|
||||
32 U Karma @Richard Thomas
|
||||
207 U Keldon Warlord @Kev Brockschmidt
|
||||
254 U Killer Bees @Phil Foglio
|
||||
|
||||
@@ -214,19 +214,19 @@ ScryfallCode=ICE
|
||||
327 U Lapis Lazuli Talisman @Amy Weber
|
||||
198 C Lava Burst @Tom Wänerstrand
|
||||
358 R Lava Tubes @Bryon Wackwitz
|
||||
142 C Legions of Lim-Dul @Anson Maddocks
|
||||
142 C Legions of Lim-Dûl @Anson Maddocks
|
||||
143 U Leshrac's Rite @Richard Thomas
|
||||
144 U Leshrac's Sigil @Drew Tucker
|
||||
252 R Lhurgoyf @Pete Venters
|
||||
42 R Lightning Blow @Harold McNeill
|
||||
145 C Lim-Dul's Cohort @Douglas Shuler
|
||||
146 U Lim-Dul's Hex @Liz Danforth
|
||||
145 C Lim-Dûl's Cohort @Douglas Shuler
|
||||
146 U Lim-Dûl's Hex @Liz Danforth
|
||||
43 R Lost Order of Jarkeld @Andi Rusu
|
||||
253 U Lure @Phil Foglio
|
||||
254 U Maddening Wind @Dameon Willich
|
||||
82 R Magus of the Unseen @Kaja Foglio
|
||||
328 U Malachite Talisman @Christopher Rush
|
||||
199 R Marton Stromgald @Mark Poole
|
||||
199 R Márton Stromgald @Mark Poole
|
||||
200 U Melee @Dameon Willich
|
||||
201 U Melting @Randy Gallegos
|
||||
44 R Mercenaries @Cornelius Brudi
|
||||
@@ -256,7 +256,7 @@ ScryfallCode=ICE
|
||||
255 U Nature's Lore @Rick Emond
|
||||
154 R Necropotence @Mark Tedin
|
||||
155 C Norritt @Mike Raabe
|
||||
156 R Oath of Lim-Dul @Douglas Shuler
|
||||
156 R Oath of Lim-Dûl @Douglas Shuler
|
||||
331 U Onyx Talisman @Sandra Everingham
|
||||
205 U Orcish Cannoneers @Dan Frazier
|
||||
206 C Orcish Conscripts @Douglas Shuler
|
||||
|
||||
@@ -10,7 +10,7 @@ B1 U Aura of Silence @D. Alexander Gregory
|
||||
B2 C Benevolent Bodyguard @Roger Raupp
|
||||
B3 R Ethersworn Canonist @Izzy
|
||||
B4 U Flickerwisp @Jeremy Enecio
|
||||
B5 U Jotun Grunt @Franz Vohwinkel
|
||||
B5 U Jötun Grunt @Franz Vohwinkel
|
||||
B6 U Kor Firewalker @Matt Stewart
|
||||
B7 R Mangara of Corondor @Zoltan Boros & Gabor Szikszai
|
||||
B8 C Oblivion Ring @Wayne England
|
||||
|
||||
@@ -137,7 +137,7 @@ ScryfallCode=ME2
|
||||
52 C Lat-Nam's Legacy @Tom Wänerstrand
|
||||
134 U Lava Burst @Tom Wänerstrand
|
||||
171 C Leaping Lizard @Amy Weber
|
||||
103 U Lim-Dul's High Guard @Anson Maddocks
|
||||
103 U Lim-Dûl's High Guard @Anson Maddocks
|
||||
213 R Lodestone Bauble @Douglas Shuler
|
||||
24 R Lost Order of Jarkeld @Andi Rusu
|
||||
53 R Magus of the Unseen @Kaja Foglio
|
||||
|
||||
@@ -132,7 +132,7 @@ ScryfallCode=ME4
|
||||
15 R Island Sanctuary @Mark Poole
|
||||
208 R Jade Monolith @Anson Maddocks
|
||||
209 U Juggernaut @Dan Frazier
|
||||
88 U Junun Efreet @Christopher Rush
|
||||
88 U Junún Efreet @Christopher Rush
|
||||
16 C Just Fate @Bradley Williams
|
||||
17 R Kismet @Kaja Foglio
|
||||
210 R Kormus Bell @Christopher Rush
|
||||
@@ -144,7 +144,7 @@ ScryfallCode=ME4
|
||||
211 C Library of Leng @Daniel Gelon
|
||||
89 R Lich @Daniel Gelon
|
||||
160 R Lifeforce @Dameon Willich
|
||||
90 C Lim-Dul's Cohort @Douglas Shuler
|
||||
90 C Lim-Dûl's Cohort @Douglas Shuler
|
||||
161 R Living Lands @Jesper Myrfors
|
||||
212 U Living Wall @Anson Maddocks
|
||||
52 R Mahamoti Djinn @Dan Frazier
|
||||
|
||||
@@ -71,7 +71,7 @@ ScryfallCode=ME1
|
||||
195 L Forest @Christopher Rush
|
||||
118 C Fyndhorn Elves @Justin Hampton
|
||||
119 R Gargantuan Gorilla @Greg Simanson
|
||||
120 C Ghazban Ogre @Jesper Myrfors
|
||||
120 C Ghazbán Ogre @Jesper Myrfors
|
||||
34 C Giant Tortoise @Kaja Foglio
|
||||
94 C Goblin Chirurgeon @Dan Frazier
|
||||
95 U Goblin Grenade @Ron Spencer
|
||||
@@ -94,7 +94,7 @@ ScryfallCode=ME1
|
||||
17 C Icatian Lieutenant @Pete Venters
|
||||
18 U Icatian Town @Tom Wänerstrand
|
||||
122 U Ice Storm @Dan Frazier
|
||||
123 R Ifh-Biff Efreet @Jesper Myrfors
|
||||
123 R Ifh-Bíff Efreet @Jesper Myrfors
|
||||
38 U Illusionary Forces @Justin Hampton
|
||||
39 C Illusionary Wall @Mark Poole
|
||||
40 R Illusions of Grandeur @Quinton Hoover
|
||||
@@ -106,16 +106,16 @@ ScryfallCode=ME1
|
||||
147 R Jacques le Vert @Andi Rusu
|
||||
100 R Jokulhaups @Richard Thomas
|
||||
41 U Juxtapose @Justin Hampton
|
||||
74 R Juzam Djinn @Mark Tedin
|
||||
74 R Juzám Djinn @Mark Tedin
|
||||
101 U Keldon Warlord @Kev Brockschmidt
|
||||
75 R Khabal Ghoul @Douglas Shuler
|
||||
75 R Khabál Ghoul @Douglas Shuler
|
||||
19 C Knights of Thorn @Christopher Rush
|
||||
177 R Lake of the Dead @Pete Venters
|
||||
102 C Lightning Bolt @Christopher Rush
|
||||
148 U Lim-Dul's Vault @Rob Alexander
|
||||
148 U Lim-Dûl's Vault @Rob Alexander
|
||||
149 R Lord of Tresserhorn @Anson Maddocks
|
||||
103 R Mana Flare @Christopher Rush
|
||||
104 R Marton Stromgald @Mark Poole
|
||||
104 R Márton Stromgald @Mark Poole
|
||||
20 C Mesa Pegasus @Melissa A. Benson
|
||||
76 C Mindstab Thrull @Mark Tedin
|
||||
159 R Mirror Universe @Phil Foglio
|
||||
@@ -153,7 +153,7 @@ ScryfallCode=ME1
|
||||
126 U Rabid Wombat @Kaja Foglio
|
||||
179 R Rainbow Vale @Kaja Foglio
|
||||
25 C Righteous Avengers @Heather Hudson
|
||||
163 R Ring of Ma'ruf @Dan Frazier
|
||||
163 R Ring of Ma'rûf @Dan Frazier
|
||||
47 C River Merfolk @Douglas Shuler
|
||||
127 C Roots @Nicola Leonard
|
||||
128 C Scryb Sprites @Amy Weber
|
||||
|
||||
@@ -32,7 +32,7 @@ ScryfallCode=MM3
|
||||
19 R Ranger of Eos @Ryan Pancoast
|
||||
20 R Restoration Angel @Johannes Voss
|
||||
21 C Rootborn Defenses @Mark Zug
|
||||
22 R Seance @David Rapoza
|
||||
22 R Séance @David Rapoza
|
||||
23 C Sensor Splicer @Izzy
|
||||
24 C Soul Warden @Randy Gallegos
|
||||
25 R Stony Silence @Mark Poole
|
||||
|
||||
@@ -105,11 +105,11 @@ ScryfallCode=PRM
|
||||
43634 S Hymn to Tourach @Greg Staples
|
||||
59639 S Icatian Javelineers @Michael Phillippi
|
||||
35980 S Icatian Javelineers @Michael Phillippi
|
||||
213 S Ifh-Biff Efreet @Jesper Myrfors
|
||||
213 S Ifh-Bíff Efreet @Jesper Myrfors
|
||||
62387 S Izzet Signet @Raoul Vitale
|
||||
70942 S Jokulhaups @Mike Kerr
|
||||
35820 S Joraga Warcaller @Steven Belledin
|
||||
215 S Khabal Ghoul @Douglas Shuler
|
||||
215 S Khabál Ghoul @Douglas Shuler
|
||||
43628 S Kjeldoran Outpost @Noah Bradley
|
||||
23952 S Kjeldoran Outpost @Jeff A. Menges
|
||||
33442 S Kongming, "Sleeping Dragon" @Gao Yan
|
||||
|
||||
@@ -51,7 +51,7 @@ ScryfallCode=P02
|
||||
72 U Dark Offering @Edward P. Beard, Jr.
|
||||
125 R Deathcoil Wurm @Rebecca Guay
|
||||
126 U Deep Wood @Jeff Miracola
|
||||
36 C Deja Vu @David Horne
|
||||
36 C Déjà Vu @David Horne
|
||||
35 R Denizen of the Deep @Anson Maddocks
|
||||
94 R Earthquake @Jeffrey R. Busch
|
||||
37 R Exhaustion @Kaja Foglio
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user