CardDb: add normalized Names (#4376)

This commit is contained in:
Hans Mackowiak
2023-12-19 18:39:18 +01:00
committed by GitHub
parent c4001825b2
commit ce9ca390f8
202 changed files with 629 additions and 589 deletions

View File

@@ -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) {

View File

@@ -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);

View File

@@ -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() {

View File

@@ -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);

View File

@@ -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);

View File

@@ -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());
}
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());
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());
}
}
} else if (st != CardSplitType.None) {
card.addAlternateState(st.getChangedStateName(), false);

View File

@@ -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

View File

@@ -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

View File

@@ -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-r|LTR|1
1 Bleeding Edge|WAR|1
4 Blood Crypt|RNA|1
1 Blood-Chin Fanatic|DTK|1

View File

@@ -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-r|LTR|1
1 Bleeding Edge|WAR|1
4 Blood Crypt|RNA|1
2 Blood-Chin Fanatic|DTK|1

View File

@@ -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]

View File

@@ -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

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
Name:Anduril, Narsil Reforged
Name:Andúril, Narsil Reforged
ManaCost:2
Types:Legendary Artifact Equipment
K:Ascend

View File

@@ -1,4 +1,4 @@
Name:Arwen Undomiel
Name:Arwen Undómiel
ManaCost:G U
Types:Legendary Creature Elf Noble
PT:2/2

View File

@@ -1,4 +1,4 @@
Name:Barad-Dur
Name:Barad-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-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.

View File

@@ -1,4 +1,4 @@
Name:Bartolome del Presidio
Name:Bartolomé del Presidio
ManaCost:W B
Types:Legendary Creature Vampire Knight
PT:2/1

View File

@@ -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.

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
Name:Dandan
Name:Dandân
ManaCost:U U
Types:Creature Fish
PT:4/1

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
Name:Dunedain Blade
Name:Dúnedain Blade
ManaCost:1 W
Types:Artifact Equipment
K:Equip:1:Human.YouCtrl:Human

View File

@@ -1,7 +1,7 @@
Name:Dunedain Rangers
ManaCost:3 G
Types:Creature Human Ranger
PT:4/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | IsPresent$ Card.YouCtrl+IsRingbearer | PresentCompare$ EQ0 | Execute$ TrigTempt | TriggerDescription$ Landfall — Whenever a land enters the battlefield under your control, if you don't control a Ring-bearer, the Ring tempts you.
SVar:TrigTempt:DB$ RingTemptsYou
Oracle:Landfall — Whenever a land enters the battlefield under your control, if you don't control a Ring-bearer, the Ring tempts you.
Name:Dúnedain Rangers
ManaCost:3 G
Types:Creature Human Ranger
PT:4/4
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | IsPresent$ Card.YouCtrl+IsRingbearer | PresentCompare$ EQ0 | Execute$ TrigTempt | TriggerDescription$ Landfall — Whenever a land enters the battlefield under your control, if you don't control a Ring-bearer, the Ring tempts you.
SVar:TrigTempt:DB$ RingTemptsYou
Oracle:Landfall — Whenever a land enters the battlefield under your control, if you don't control a Ring-bearer, the Ring tempts you.

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -1,4 +1,4 @@
Name:Eowyn, Shieldmaiden
Name:Éowyn, Shieldmaiden
ManaCost:2 U R W
Types:Legendary Creature Human Knight
PT:5/4

View File

@@ -1,9 +1,9 @@
Name:Galadriel of Lothlorien
ManaCost:1 G U
Types:Legendary Creature Elf Noble
PT:3/3
T:Mode$ RingTemptsYou | ValidCard$ Creature.YouCtrl+Other | TriggerZones$ Battlefield | Execute$ TrigScry | TriggerDescription$ Whenever the Ring tempts you, if you chose a creature other than CARDNAME as your Ring-bearer, scry 3.
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.
Name:Galadriel of Lothlórien
ManaCost:1 G U
Types:Legendary Creature Elf Noble
PT:3/3
T:Mode$ RingTemptsYou | ValidCard$ Creature.YouCtrl+Other | TriggerZones$ Battlefield | Execute$ TrigScry | TriggerDescription$ Whenever the Ring tempts you, if you chose a creature other than CARDNAME as your Ring-bearer, scry 3.
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 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.

View File

@@ -1,4 +1,4 @@
Name:Ghazban Ogre
Name:Ghazbán Ogre
ManaCost:G
Types:Creature Ogre
PT:2/2

View File

@@ -1,4 +1,4 @@
Name:Gilraen, Dunedain Protector
Name:Gilraen, Dúnedain Protector
ManaCost:2 W
Types:Legendary Creature Human Noble
PT:2/3

View File

@@ -1,4 +1,4 @@
Name:Gloin, Dwarf Emissary
Name:Glóin, Dwarf Emissary
ManaCost:2 R
Types:Legendary Creature Dwarf Advisor
PT:3/3

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
Name:Jotun Grunt
Name:Jötun Grunt
ManaCost:1 W
Types:Creature Giant Soldier
PT:4/4

View File

@@ -1,4 +1,4 @@
Name:Jotun Owl Keeper
Name:Jötun Owl Keeper
ManaCost:2 W
Types:Creature Giant
PT:3/3

View File

@@ -1,4 +1,4 @@
Name:Junun Efreet
Name:Junún Efreet
ManaCost:1 B B
Types:Creature Efreet
PT:3/3

View File

@@ -1,4 +1,4 @@
Name:Juzam Djinn
Name:Juzám Djinn
ManaCost:2 B B
Types:Creature Djinn
PT:5/5

View File

@@ -1,4 +1,4 @@
Name:Khabal Ghoul
Name:Khabál Ghoul
ManaCost:2 B
Types:Creature Zombie
PT:1/1

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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}.

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -1,4 +1,4 @@
Name:Mists of Lorien
Name:Mists of Lórien
ManaCost:2 U
Types:Sorcery
K:Replicate:U

View File

@@ -1,13 +1,13 @@
Name:Nazgul
ManaCost:2 B
Types:Creature Wraith Knight
PT:1/2
K:Deathtouch
K:DeckLimit:9:A deck can have up to nine cards named CARDNAME.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTempt | TriggerDescription$ When CARDNAME enters the battlefield, the Ring tempts you.
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
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.
Name:Nazgûl
ManaCost:2 B
Types:Creature Wraith Knight
PT:1/2
K:Deathtouch
K:DeckLimit:9:A deck can have up to nine cards named CARDNAME.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigTempt | TriggerDescription$ When CARDNAME enters the battlefield, the Ring tempts you.
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$Nazgûl
DeckHas:Ability$Token
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.

View File

@@ -1,4 +1,4 @@
Name:Nazgul Battle-Mace
Name:Nazgûl Battle-Mace
ManaCost:5
Types:Artifact Equipment
K:Equip:3

View File

@@ -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.)

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -1,10 +1,10 @@
Name:Smeagol, Helpful Guide
ManaCost:1 B G
Types:Legendary Creature Halfling Horror
PT:4/2
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigTempt | TriggerDescription$ At the beginning of your end step, if a creature died under your control this turn, the Ring tempts you.
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl
SVar:TrigTempt:DB$ RingTemptsYou
T:Mode$ RingTemptsYou | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDigUntil | TriggerDescription$ Whenever the Ring tempts you, target opponent reveals cards from the top of their library until they reveal a land card. Put that card onto the battlefield tapped under your control and the rest into their graveyard.
SVar:TrigDigUntil:DB$ DigUntil | Reveal$ True | ValidTgts$ Opponent | IsCurse$ True | Valid$ Land | ValidDescription$ land card | FoundDestination$ Battlefield | GainControl$ True | Tapped$ True | RevealedDestination$ Graveyard
Oracle:At the beginning of your end step, if a creature died under your control this turn, the Ring tempts you.\nWhenever the Ring tempts you, target opponent reveals cards from the top of their library until they reveal a land card. Put that card onto the battlefield tapped under your control and the rest into their graveyard.
Name:Sméagol, Helpful Guide
ManaCost:1 B G
Types:Legendary Creature Halfling Horror
PT:4/2
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | CheckSVar$ X | SVarCompare$ GE1 | TriggerZones$ Battlefield | Execute$ TrigTempt | TriggerDescription$ At the beginning of your end step, if a creature died under your control this turn, the Ring tempts you.
SVar:X:Count$ThisTurnEntered_Graveyard_from_Battlefield_Creature.YouCtrl
SVar:TrigTempt:DB$ RingTemptsYou
T:Mode$ RingTemptsYou | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDigUntil | TriggerDescription$ Whenever the Ring tempts you, target opponent reveals cards from the top of their library until they reveal a land card. Put that card onto the battlefield tapped under your control and the rest into their graveyard.
SVar:TrigDigUntil:DB$ DigUntil | Reveal$ True | ValidTgts$ Opponent | IsCurse$ True | Valid$ Land | ValidDescription$ land card | FoundDestination$ Battlefield | GainControl$ True | Tapped$ True | RevealedDestination$ Graveyard
Oracle:At the beginning of your end step, if a creature died under your control this turn, the Ring tempts you.\nWhenever the Ring tempts you, target opponent reveals cards from the top of their library until they reveal a land card. Put that card onto the battlefield tapped under your control and the rest into their graveyard.

View File

@@ -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

View File

@@ -1,6 +1,6 @@
Name:Soothing of Smeagol
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.
SVar:TrigTempt:DB$ RingTemptsYou
Oracle:Return target nontoken creature to its owner's hand. The Ring tempts you.
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.
SVar:TrigTempt:DB$ RingTemptsYou
Oracle:Return target nontoken creature to its owner's hand. The Ring tempts you.

View File

@@ -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.

View File

@@ -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

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
Name:Troll of Khazad-dum
Name:Troll of Khazad-dûm
ManaCost:5 B
Types:Creature Troll
PT:6/5

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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