Split the Judge Gift Cards set (JP) into the individual sets as listed on Scryfall.

- Removed the JP set.
- Added G02-G11, J12-J20
- Fixed all usages in the test code
- Updated the sample decks that used these cards.
  The deck lists now contain the updated references.
- Added all Judge Gift sets to the "bling" sets list
This commit is contained in:
Thomas Hess 2020-02-03 13:14:18 +01:00
parent d628303f3a
commit 6297650c3b
No known key found for this signature in database
GPG key ID: 98602F47D161B13C
33 changed files with 630 additions and 150 deletions

View file

@ -19,7 +19,7 @@
3 [THS:227] Temple of Silence 3 [THS:227] Temple of Silence
1 [APC:141] Llanowar Wastes 1 [APC:141] Llanowar Wastes
2 [KTK:31] Wingmate Roc 2 [KTK:31] Wingmate Roc
1 [JR:46] Windswept Heath 1 [G09:9] Windswept Heath
1 [JOU:163] Mana Confluence 1 [JOU:163] Mana Confluence
1 [BNG:165] Temple of Plenty 1 [BNG:165] Temple of Plenty
2 [LRW:145] Thoughtseize 2 [LRW:145] Thoughtseize

View file

@ -20,7 +20,7 @@
1 [RAV:300] Mountain 1 [RAV:300] Mountain
2 [GPX:6] Goblin Guide 2 [GPX:6] Goblin Guide
4 [M11:135] Ember Hauler 4 [M11:135] Ember Hauler
2 [JR:1] Lightning Bolt 2 [JGP:1] Lightning Bolt
1 [M10:146] Lightning Bolt 1 [M10:146] Lightning Bolt
1 [M10:243] Mountain 1 [M10:243] Mountain
1 [M12:242] Mountain 1 [M12:242] Mountain

View file

@ -18,7 +18,7 @@
1 [PO2:157] Mountain 1 [PO2:157] Mountain
1 [SOM:238] Swamp 1 [SOM:238] Swamp
1 [DDO:1] Elspeth, Sun's Champion 1 [DDO:1] Elspeth, Sun's Champion
1 [JR:43] Bloodstained Mire 1 [G09:6] Bloodstained Mire
2 [MBP:98] Goblin Rabblemaster 2 [MBP:98] Goblin Rabblemaster
1 [KTK:31] Wingmate Roc 1 [KTK:31] Wingmate Roc
2 [KTK:97] Arc Lightning 2 [KTK:97] Arc Lightning

View file

@ -15,7 +15,7 @@
2 [ALA:9] Elspeth, Knight-Errant 2 [ALA:9] Elspeth, Knight-Errant
2 [UNH:138] Swamp 2 [UNH:138] Swamp
1 [CON:113] Knight of the Reliquary 1 [CON:113] Knight of the Reliquary
1 [JR:66] Noble Hierarch 1 [J12:3] Noble Hierarch
1 [CON:95] Thornling 1 [CON:95] Thornling
1 [C14:313] Tectonic Edge 1 [C14:313] Tectonic Edge
4 [ARB:92] Maelstrom Pulse 4 [ARB:92] Maelstrom Pulse

View file

@ -19,7 +19,7 @@
4 [ALA:152] Wild Nacatl 4 [ALA:152] Wild Nacatl
2 [ALA:154] Ajani Vengeant 2 [ALA:154] Ajani Vengeant
3 [CON:113] Knight of the Reliquary 3 [CON:113] Knight of the Reliquary
2 [JR:66] Noble Hierarch 2 [J12:3] Noble Hierarch
4 [ZEN:211] Arid Mesa 4 [ZEN:211] Arid Mesa
2 [M12:165] Birds of Paradise 2 [M12:165] Birds of Paradise
2 [C14:315] Terramorphic Expanse 2 [C14:315] Terramorphic Expanse

View file

@ -19,7 +19,7 @@
1 [UNH:138] Swamp 1 [UNH:138] Swamp
4 [MOR:147] Murmuring Bosk 4 [MOR:147] Murmuring Bosk
4 [SHM:245] Wilt-Leaf Liege 4 [SHM:245] Wilt-Leaf Liege
1 [JR:66] Noble Hierarch 1 [J12:3] Noble Hierarch
4 [M12:165] Birds of Paradise 4 [M12:165] Birds of Paradise
1 [M15:241] Caves of Koilos 1 [M15:241] Caves of Koilos
2 [CON:87] Noble Hierarch 2 [CON:87] Noble Hierarch

View file

@ -18,7 +18,7 @@
3 [UNH:136] Plains 3 [UNH:136] Plains
1 [UNH:137] Island 1 [UNH:137] Island
3 [UNH:138] Swamp 3 [UNH:138] Swamp
1 [JR:81] Greater Good 1 [J14:2] Greater Good
4 [CMD:163] Kodama's Reach 4 [CMD:163] Kodama's Reach
1 [GTC:249] Watery Grave 1 [GTC:249] Watery Grave
4 [C13:27] Wrath of God 4 [C13:27] Wrath of God

View file

@ -17,7 +17,7 @@
2 [M13:228] Rootbound Crag 2 [M13:228] Rootbound Crag
4 [CMD:25] Path to Exile 4 [CMD:25] Path to Exile
4 [UNH:140] Forest 4 [UNH:140] Forest
2 [JR:66] Noble Hierarch 2 [J12:3] Noble Hierarch
4 [C13:299] Jungle Shrine 4 [C13:299] Jungle Shrine
SB: 2 [M13:22] Oblivion Ring SB: 2 [M13:22] Oblivion Ring
SB: 1 [ALA:154] Ajani Vengeant SB: 1 [ALA:154] Ajani Vengeant

View file

@ -6,7 +6,7 @@
2 [UDS:117] Plow Under 2 [UDS:117] Plow Under
4 [NMS:139] Tangle Wire 4 [NMS:139] Tangle Wire
1 [UDS:134] Masticore 1 [UDS:134] Masticore
2 [JR:18] Deranged Hermit 2 [G04:5] Deranged Hermit
4 [C14:210] Priest of Titania 4 [C14:210] Priest of Titania
1 [USG:306] Phyrexian Processor 1 [USG:306] Phyrexian Processor
4 [C14:204] Llanowar Elves 4 [C14:204] Llanowar Elves

View file

@ -1502,9 +1502,34 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
Map<String, Integer> pimpedSets = new HashMap<>(); Map<String, Integer> pimpedSets = new HashMap<>();
Map<CardView, Integer> pimpedCards = new HashMap<>(); Map<CardView, Integer> pimpedCards = new HashMap<>();
pimpedSets.put("CP", 1); pimpedSets.put("CP", 1);
pimpedSets.put("JR", 1);
pimpedSets.put("MPS", 1); pimpedSets.put("MPS", 1);
pimpedSets.put("CLASH", 1); pimpedSets.put("CLASH", 1);
// Judge Reward Gifts
pimpedSets.put("JGP", 1);
pimpedSets.put("G99", 1);
pimpedSets.put("G00", 1);
pimpedSets.put("G01", 1);
pimpedSets.put("G02", 1);
pimpedSets.put("G03", 1);
pimpedSets.put("G04", 1);
pimpedSets.put("G05", 1);
pimpedSets.put("G06", 1);
pimpedSets.put("G07", 1);
pimpedSets.put("G08", 1);
pimpedSets.put("G09", 1);
pimpedSets.put("G10", 1);
pimpedSets.put("G11", 1);
pimpedSets.put("J12", 1);
pimpedSets.put("J13", 1);
pimpedSets.put("J14", 1);
pimpedSets.put("J15", 1);
pimpedSets.put("J16", 1);
pimpedSets.put("J17", 1);
pimpedSets.put("J18", 1);
pimpedSets.put("J19", 1);
pimpedSets.put("J20", 1);
// Arena League // Arena League
pimpedSets.put("PARL", 1); pimpedSets.put("PARL", 1);
pimpedSets.put("PAL99", 1); pimpedSets.put("PAL99", 1);
@ -1515,6 +1540,7 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
pimpedSets.put("PAL04", 1); pimpedSets.put("PAL04", 1);
pimpedSets.put("PAL05", 1); pimpedSets.put("PAL05", 1);
pimpedSets.put("PAL06", 1); pimpedSets.put("PAL06", 1);
pimpedSets.put("UGIN", 1); pimpedSets.put("UGIN", 1);
pimpedSets.put("WMCQ", 1); pimpedSets.put("WMCQ", 1);
pimpedSets.put("PALP", 1); pimpedSets.put("PALP", 1);

View file

@ -17,7 +17,7 @@ public enum MagidexImageSource implements CardImageSource {
MagidexImageSource() { MagidexImageSource() {
supportedSets = new LinkedHashSet<>(); supportedSets = new LinkedHashSet<>();
// supportedSets.add("PPRE"); // Prerelease Events // supportedSets.add("PPRE"); // Prerelease Events
supportedSets.add("JR"); // supportedSets.add("JR"); // TODO: Set was split into the individual sets as listed on Scryfall
supportedSets.add("LEA"); supportedSets.add("LEA");
supportedSets.add("LEB"); supportedSets.add("LEB");
supportedSets.add("2ED"); supportedSets.add("2ED");
@ -257,9 +257,10 @@ public enum MagidexImageSource implements CardImageSource {
return setName; return setName;
} }
private static final Map<String, String> setNameReplacement = new HashMap<String, String>() { private static final Map<String, String> setNameReplacement = new HashMap<String, String>() {
{ {
put("JR", "pJGP"); // put("JR", "pJGP"); // TODO: Set was split into the individual sets as listed on Scryfall
} }
}; };

View file

@ -350,7 +350,7 @@ public enum WizardCardsImageSource implements CardImageSource {
setsAliases.put("INV", "Invasion"); setsAliases.put("INV", "Invasion");
setsAliases.put("ISD", "Innistrad"); setsAliases.put("ISD", "Innistrad");
setsAliases.put("JOU", "Journey into Nyx"); setsAliases.put("JOU", "Journey into Nyx");
setsAliases.put("JR", "Judge Promo"); // setsAliases.put("JR", "Judge Promo"); // TODO: Set was split into the individual sets as listed on Scryfall
setsAliases.put("JUD", "Judgment"); setsAliases.put("JUD", "Judgment");
setsAliases.put("KLD", "Kaladesh"); setsAliases.put("KLD", "Kaladesh");
setsAliases.put("KTK", "Khans of Tarkir"); setsAliases.put("KTK", "Khans of Tarkir");

View file

@ -0,0 +1,26 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g02
*/
public class JudgeGiftCards2002 extends ExpansionSet {
private static final JudgeGiftCards2002 instance = new JudgeGiftCards2002();
public static JudgeGiftCards2002 getInstance() {
return instance;
}
private JudgeGiftCards2002() {
super("Judge Gift Cards 2002", "G02", ExpansionSet.buildDate(2002, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Hammer of Bogardan", 1, Rarity.RARE, mage.cards.h.HammerOfBogardan.class));
cards.add(new SetCardInfo("Tradewind Rider", 2, Rarity.RARE, mage.cards.t.TradewindRider.class));
}
}

View file

@ -0,0 +1,27 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g03
*/
public class JudgeGiftCards2003 extends ExpansionSet {
private static final JudgeGiftCards2003 instance = new JudgeGiftCards2003();
public static JudgeGiftCards2003 getInstance() {
return instance;
}
private JudgeGiftCards2003() {
super("Judge Gift Cards 2003", "G03", ExpansionSet.buildDate(2003, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Argothian Enchantress", 2, Rarity.RARE, mage.cards.a.ArgothianEnchantress.class));
cards.add(new SetCardInfo("Intuition", 1, Rarity.RARE, mage.cards.i.Intuition.class));
cards.add(new SetCardInfo("Living Death", 3, Rarity.RARE, mage.cards.l.LivingDeath.class));
}
}

View file

@ -0,0 +1,30 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g04
*/
public class JudgeGiftCards2004 extends ExpansionSet {
private static final JudgeGiftCards2004 instance = new JudgeGiftCards2004();
public static JudgeGiftCards2004 getInstance() {
return instance;
}
private JudgeGiftCards2004() {
super("Judge Gift Cards 2004", "G04", ExpansionSet.buildDate(2004, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Armageddon", 1, Rarity.RARE, mage.cards.a.Armageddon.class));
cards.add(new SetCardInfo("Balance", 2, Rarity.RARE, mage.cards.b.Balance.class));
cards.add(new SetCardInfo("Deranged Hermit", 5, Rarity.RARE, mage.cards.d.DerangedHermit.class));
cards.add(new SetCardInfo("Hermit Druid", 6, Rarity.RARE, mage.cards.h.HermitDruid.class));
cards.add(new SetCardInfo("Phyrexian Negator", 4, Rarity.RARE, mage.cards.p.PhyrexianNegator.class));
cards.add(new SetCardInfo("Time Warp", 3, Rarity.RARE, mage.cards.t.TimeWarp.class));
}
}

View file

@ -0,0 +1,28 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g05
*/
public class JudgeGiftCards2005 extends ExpansionSet {
private static final JudgeGiftCards2005 instance = new JudgeGiftCards2005();
public static JudgeGiftCards2005 getInstance() {
return instance;
}
private JudgeGiftCards2005() {
super("Judge Gift Cards 2005", "G05", ExpansionSet.buildDate(2005, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Gemstone Mine", 1, Rarity.RARE, mage.cards.g.GemstoneMine.class));
cards.add(new SetCardInfo("Mishra's Factory", 4, Rarity.RARE, mage.cards.m.MishrasFactory.class));
cards.add(new SetCardInfo("Regrowth", 2, Rarity.RARE, mage.cards.r.Regrowth.class));
cards.add(new SetCardInfo("Sol Ring", 3, Rarity.RARE, mage.cards.s.SolRing.class));
}
}

View file

@ -0,0 +1,28 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g06
*/
public class JudgeGiftCards2006 extends ExpansionSet {
private static final JudgeGiftCards2006 instance = new JudgeGiftCards2006();
public static JudgeGiftCards2006 getInstance() {
return instance;
}
private JudgeGiftCards2006() {
super("Judge Gift Cards 2006", "G06", ExpansionSet.buildDate(2006, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Exalted Angel", 1, Rarity.RARE, mage.cards.e.ExaltedAngel.class));
cards.add(new SetCardInfo("Grim Lavamancer", 2, Rarity.RARE, mage.cards.g.GrimLavamancer.class));
cards.add(new SetCardInfo("Meddling Mage", 3, Rarity.RARE, mage.cards.m.MeddlingMage.class));
cards.add(new SetCardInfo("Pernicious Deed", 4, Rarity.RARE, mage.cards.p.PerniciousDeed.class));
}
}

View file

@ -0,0 +1,29 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g07
*/
public class JudgeGiftCards2007 extends ExpansionSet {
private static final JudgeGiftCards2007 instance = new JudgeGiftCards2007();
public static JudgeGiftCards2007 getInstance() {
return instance;
}
private JudgeGiftCards2007() {
super("Judge Gift Cards 2007", "G07", ExpansionSet.buildDate(2007, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Cunning Wish", 2, Rarity.RARE, mage.cards.c.CunningWish.class));
cards.add(new SetCardInfo("Decree of Justice", 5, Rarity.RARE, mage.cards.d.DecreeOfJustice.class));
cards.add(new SetCardInfo("Ravenous Baloth", 1, Rarity.RARE, mage.cards.r.RavenousBaloth.class));
cards.add(new SetCardInfo("Vindicate", 4, Rarity.RARE, mage.cards.v.Vindicate.class));
cards.add(new SetCardInfo("Yawgmoth's Will", 3, Rarity.RARE, mage.cards.y.YawgmothsWill.class));
}
}

View file

@ -0,0 +1,29 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g08
*/
public class JudgeGiftCards2008 extends ExpansionSet {
private static final JudgeGiftCards2008 instance = new JudgeGiftCards2008();
public static JudgeGiftCards2008 getInstance() {
return instance;
}
private JudgeGiftCards2008() {
super("Judge Gift Cards 2008", "G08", ExpansionSet.buildDate(2008, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Demonic Tutor", 3, Rarity.RARE, mage.cards.d.DemonicTutor.class));
cards.add(new SetCardInfo("Goblin Piledriver", 4, Rarity.RARE, mage.cards.g.GoblinPiledriver.class));
cards.add(new SetCardInfo("Living Wish", 5, Rarity.RARE, mage.cards.l.LivingWish.class));
cards.add(new SetCardInfo("Mind's Desire", 2, Rarity.RARE, mage.cards.m.MindsDesire.class));
cards.add(new SetCardInfo("Orim's Chant", 1, Rarity.RARE, mage.cards.o.OrimsChant.class));
}
}

View file

@ -0,0 +1,34 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g09
*/
public class JudgeGiftCards2009 extends ExpansionSet {
private static final JudgeGiftCards2009 instance = new JudgeGiftCards2009();
public static JudgeGiftCards2009 getInstance() {
return instance;
}
private JudgeGiftCards2009() {
super("Judge Gift Cards 2009", "G09", ExpansionSet.buildDate(2009, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Bloodstained Mire", 6, Rarity.RARE, mage.cards.b.BloodstainedMire.class));
cards.add(new SetCardInfo("Burning Wish", 5, Rarity.RARE, mage.cards.b.BurningWish.class));
cards.add(new SetCardInfo("Dark Ritual", 1, Rarity.RARE, mage.cards.d.DarkRitual.class));
cards.add(new SetCardInfo("Flooded Strand", 7, Rarity.RARE, mage.cards.f.FloodedStrand.class));
cards.add(new SetCardInfo("Maze of Ith", 2, Rarity.RARE, mage.cards.m.MazeOfIth.class));
cards.add(new SetCardInfo("Polluted Delta", 8, Rarity.RARE, mage.cards.p.PollutedDelta.class));
cards.add(new SetCardInfo("Stifle", 3, Rarity.RARE, mage.cards.s.Stifle.class));
cards.add(new SetCardInfo("Survival of the Fittest", 4, Rarity.RARE, mage.cards.s.SurvivalOfTheFittest.class));
cards.add(new SetCardInfo("Windswept Heath", 9, Rarity.RARE, mage.cards.w.WindsweptHeath.class));
cards.add(new SetCardInfo("Wooded Foothills", 10, Rarity.RARE, mage.cards.w.WoodedFoothills.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g10
*/
public class JudgeGiftCards2010 extends ExpansionSet {
private static final JudgeGiftCards2010 instance = new JudgeGiftCards2010();
public static JudgeGiftCards2010 getInstance() {
return instance;
}
private JudgeGiftCards2010() {
super("Judge Gift Cards 2010", "G10", ExpansionSet.buildDate(2010, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Land Tax", 5, Rarity.RARE, mage.cards.l.LandTax.class));
cards.add(new SetCardInfo("Morphling", 6, Rarity.RARE, mage.cards.m.Morphling.class));
cards.add(new SetCardInfo("Natural Order", 2, Rarity.RARE, mage.cards.n.NaturalOrder.class));
cards.add(new SetCardInfo("Phyrexian Dreadnought", 3, Rarity.RARE, mage.cards.p.PhyrexianDreadnought.class));
cards.add(new SetCardInfo("Sinkhole", 1, Rarity.RARE, mage.cards.s.Sinkhole.class));
cards.add(new SetCardInfo("Thawing Glaciers", 4, Rarity.RARE, mage.cards.t.ThawingGlaciers.class));
cards.add(new SetCardInfo("Wasteland", 8, Rarity.RARE, mage.cards.w.Wasteland.class));
cards.add(new SetCardInfo("Wheel of Fortune", 7, Rarity.RARE, mage.cards.w.WheelOfFortune.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/g11
*/
public class JudgeGiftCards2011 extends ExpansionSet {
private static final JudgeGiftCards2011 instance = new JudgeGiftCards2011();
public static JudgeGiftCards2011 getInstance() {
return instance;
}
private JudgeGiftCards2011() {
super("Judge Gift Cards 2011", "G11", ExpansionSet.buildDate(2011, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Bitterblossom", 1, Rarity.RARE, mage.cards.b.Bitterblossom.class));
cards.add(new SetCardInfo("Dark Confidant", 6, Rarity.RARE, mage.cards.d.DarkConfidant.class));
cards.add(new SetCardInfo("Doubling Season", 7, Rarity.RARE, mage.cards.d.DoublingSeason.class));
cards.add(new SetCardInfo("Entomb", 4, Rarity.RARE, mage.cards.e.Entomb.class));
cards.add(new SetCardInfo("Goblin Welder", 8, Rarity.RARE, mage.cards.g.GoblinWelder.class));
cards.add(new SetCardInfo("Mana Crypt", 5, Rarity.RARE, mage.cards.m.ManaCrypt.class));
cards.add(new SetCardInfo("Sword of Fire and Ice", 2, Rarity.RARE, mage.cards.s.SwordOfFireAndIce.class));
cards.add(new SetCardInfo("Vendilion Clique", 3, Rarity.RARE, mage.cards.v.VendilionClique.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j12
*/
public class JudgeGiftCards2012 extends ExpansionSet {
private static final JudgeGiftCards2012 instance = new JudgeGiftCards2012();
public static JudgeGiftCards2012 getInstance() {
return instance;
}
private JudgeGiftCards2012() {
super("Judge Gift Cards 2012", "J12", ExpansionSet.buildDate(2012, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Command Tower", 8, Rarity.RARE, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Flusterstorm", 2, Rarity.RARE, mage.cards.f.Flusterstorm.class));
cards.add(new SetCardInfo("Karakas", 6, Rarity.RARE, mage.cards.k.Karakas.class));
cards.add(new SetCardInfo("Karmic Guide", 4, Rarity.RARE, mage.cards.k.KarmicGuide.class));
cards.add(new SetCardInfo("Noble Hierarch", 3, Rarity.RARE, mage.cards.n.NobleHierarch.class));
cards.add(new SetCardInfo("Sneak Attack", 5, Rarity.RARE, mage.cards.s.SneakAttack.class));
cards.add(new SetCardInfo("Sword of Light and Shadow", 7, Rarity.RARE, mage.cards.s.SwordOfLightAndShadow.class));
cards.add(new SetCardInfo("Xiahou Dun, the One-Eyed", 1, Rarity.RARE, mage.cards.x.XiahouDunTheOneEyed.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j13
*/
public class JudgeGiftCards2013 extends ExpansionSet {
private static final JudgeGiftCards2013 instance = new JudgeGiftCards2013();
public static JudgeGiftCards2013 getInstance() {
return instance;
}
private JudgeGiftCards2013() {
super("Judge Gift Cards 2013", "J13", ExpansionSet.buildDate(2013, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Bribery", 2, Rarity.RARE, mage.cards.b.Bribery.class));
cards.add(new SetCardInfo("Crucible of Worlds", 4, Rarity.RARE, mage.cards.c.CrucibleOfWorlds.class));
cards.add(new SetCardInfo("Genesis", 5, Rarity.RARE, mage.cards.g.Genesis.class));
cards.add(new SetCardInfo("Imperial Recruiter", 3, Rarity.RARE, mage.cards.i.ImperialRecruiter.class));
cards.add(new SetCardInfo("Overwhelming Forces", 6, Rarity.RARE, mage.cards.o.OverwhelmingForces.class));
cards.add(new SetCardInfo("Show and Tell", 8, Rarity.RARE, mage.cards.s.ShowAndTell.class));
cards.add(new SetCardInfo("Swords to Plowshares", 1, Rarity.RARE, mage.cards.s.SwordsToPlowshares.class));
cards.add(new SetCardInfo("Vindicate", 7, Rarity.RARE, mage.cards.v.Vindicate.class));
}
}

View file

@ -0,0 +1,39 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j14
*/
public class JudgeGiftCards2014 extends ExpansionSet {
private static final JudgeGiftCards2014 instance = new JudgeGiftCards2014();
public static JudgeGiftCards2014 getInstance() {
return instance;
}
private JudgeGiftCards2014() {
super("Judge Gift Cards 2014", "J14", ExpansionSet.buildDate(2014, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = true;
// Phyrexian-only printing. Non-English, so not adding it https://github.com/magefree/mage/pull/6190#issuecomment-582354790
//cards.add(new SetCardInfo("Elesh Norn, Grand Cenobite", 8, Rarity.RARE, mage.cards.e.EleshNornGrandCenobite.class));
cards.add(new SetCardInfo("Force of Will", 4, Rarity.RARE, mage.cards.f.ForceOfWill.class));
cards.add(new SetCardInfo("Forest", "5*", Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_ZEN_VARIOUS));
cards.add(new SetCardInfo("Greater Good", 2, Rarity.RARE, mage.cards.g.GreaterGood.class));
cards.add(new SetCardInfo("Hanna, Ship's Navigator", 5, Rarity.RARE, mage.cards.h.HannaShipsNavigator.class));
cards.add(new SetCardInfo("Island", "2*", Rarity.LAND, mage.cards.basiclands.Island.class, FULL_ART_ZEN_VARIOUS));
cards.add(new SetCardInfo("Karador, Ghost Chieftain", 1, Rarity.RARE, mage.cards.k.KaradorGhostChieftain.class));
cards.add(new SetCardInfo("Mountain", "4*", Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_ZEN_VARIOUS));
cards.add(new SetCardInfo("Nekusar, the Mindrazer", 7, Rarity.RARE, mage.cards.n.NekusarTheMindrazer.class));
cards.add(new SetCardInfo("Oloro, Ageless Ascetic", 9, Rarity.RARE, mage.cards.o.OloroAgelessAscetic.class));
cards.add(new SetCardInfo("Plains", "1*", Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_ZEN_VARIOUS));
cards.add(new SetCardInfo("Riku of Two Reflections", 3, Rarity.MYTHIC, mage.cards.r.RikuOfTwoReflections.class));
cards.add(new SetCardInfo("Swamp", "3*", Rarity.LAND, mage.cards.basiclands.Swamp.class, FULL_ART_ZEN_VARIOUS));
cards.add(new SetCardInfo("Sword of Feast and Famine", 6, Rarity.RARE, mage.cards.s.SwordOfFeastAndFamine.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j15
*/
public class JudgeGiftCards2015 extends ExpansionSet {
private static final JudgeGiftCards2015 instance = new JudgeGiftCards2015();
public static JudgeGiftCards2015 getInstance() {
return instance;
}
private JudgeGiftCards2015() {
super("Judge Gift Cards 2015", "J15", ExpansionSet.buildDate(2015, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Damnation", 5, Rarity.RARE, mage.cards.d.Damnation.class));
cards.add(new SetCardInfo("Dualcaster Mage", 6, Rarity.RARE, mage.cards.d.DualcasterMage.class));
cards.add(new SetCardInfo("Feldon of the Third Path", 7, Rarity.MYTHIC, mage.cards.f.FeldonOfTheThirdPath.class));
cards.add(new SetCardInfo("Ravages of War", 4, Rarity.RARE, mage.cards.r.RavagesOfWar.class));
cards.add(new SetCardInfo("Rishadan Port", 3, Rarity.RARE, mage.cards.r.RishadanPort.class));
cards.add(new SetCardInfo("Shardless Agent", 2, Rarity.RARE, mage.cards.s.ShardlessAgent.class));
cards.add(new SetCardInfo("Temporal Manipulation", 1, Rarity.RARE, mage.cards.t.TemporalManipulation.class));
cards.add(new SetCardInfo("Wasteland", 8, Rarity.RARE, mage.cards.w.Wasteland.class));
}
}

View file

@ -0,0 +1,31 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j16
*/
public class JudgeGiftCards2016 extends ExpansionSet {
private static final JudgeGiftCards2016 instance = new JudgeGiftCards2016();
public static JudgeGiftCards2016 getInstance() {
return instance;
}
private JudgeGiftCards2016() {
super("Judge Gift Cards 2016", "J16", ExpansionSet.buildDate(2016, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Azusa, Lost but Seeking", 3, Rarity.RARE, mage.cards.a.AzusaLostButSeeking.class));
cards.add(new SetCardInfo("Command Beacon", 4, Rarity.RARE, mage.cards.c.CommandBeacon.class));
cards.add(new SetCardInfo("Defense of the Heart", 7, Rarity.RARE, mage.cards.d.DefenseOfTheHeart.class));
cards.add(new SetCardInfo("Imperial Seal", 6, Rarity.RARE, mage.cards.i.ImperialSeal.class));
cards.add(new SetCardInfo("Mana Drain", 2, Rarity.RARE, mage.cards.m.ManaDrain.class));
cards.add(new SetCardInfo("Mystic Confluence", 5, Rarity.RARE, mage.cards.m.MysticConfluence.class));
cards.add(new SetCardInfo("Zur the Enchanter", 8, Rarity.RARE, mage.cards.z.ZurTheEnchanter.class));
}
}

View file

@ -0,0 +1,34 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j17
*/
public class JudgeGiftCards2017 extends ExpansionSet {
private static final JudgeGiftCards2017 instance = new JudgeGiftCards2017();
public static JudgeGiftCards2017 getInstance() {
return instance;
}
private JudgeGiftCards2017() {
super("Judge Gift Cards 2017", "J17", ExpansionSet.buildDate(2017, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Avacyn, Angel of Hope", 1, Rarity.MYTHIC, mage.cards.a.AvacynAngelOfHope.class));
cards.add(new SetCardInfo("Capture of Jingzhou", 2, Rarity.RARE, mage.cards.c.CaptureOfJingzhou.class));
cards.add(new SetCardInfo("Doran, the Siege Tower", 5, Rarity.MYTHIC, mage.cards.d.DoranTheSiegeTower.class));
cards.add(new SetCardInfo("Gaddock Teeg", 3, Rarity.RARE, mage.cards.g.GaddockTeeg.class));
cards.add(new SetCardInfo("Homeward Path", 4, Rarity.RARE, mage.cards.h.HomewardPath.class));
cards.add(new SetCardInfo("Pendelhaven", 8, Rarity.RARE, mage.cards.p.Pendelhaven.class));
cards.add(new SetCardInfo("Prismatic Geoscope", 6, Rarity.RARE, mage.cards.p.PrismaticGeoscope.class));
// Card not implemented
// cards.add(new SetCardInfo("Rules Lawyer", 9, Rarity.RARE, mage.cards.r.RulesLawyer.class));
cards.add(new SetCardInfo("Spellskite", 7, Rarity.RARE, mage.cards.s.Spellskite.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j18
*/
public class JudgeGiftCards2018 extends ExpansionSet {
private static final JudgeGiftCards2018 instance = new JudgeGiftCards2018();
public static JudgeGiftCards2018 getInstance() {
return instance;
}
private JudgeGiftCards2018() {
super("Judge Gift Cards 2018", "J18", ExpansionSet.buildDate(2018, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Commander's Sphere", 4, Rarity.RARE, mage.cards.c.CommandersSphere.class));
cards.add(new SetCardInfo("Food Chain", 8, Rarity.RARE, mage.cards.f.FoodChain.class));
cards.add(new SetCardInfo("Lord of Atlantis", 6, Rarity.RARE, mage.cards.l.LordOfAtlantis.class));
cards.add(new SetCardInfo("Merchant Scroll", 1, Rarity.RARE, mage.cards.m.MerchantScroll.class));
cards.add(new SetCardInfo("Nin, the Pain Artist", 3, Rarity.RARE, mage.cards.n.NinThePainArtist.class));
cards.add(new SetCardInfo("Rhystic Study", 7, Rarity.RARE, mage.cards.r.RhysticStudy.class));
cards.add(new SetCardInfo("Teferi's Protection", 5, Rarity.RARE, mage.cards.t.TeferisProtection.class));
cards.add(new SetCardInfo("Vampiric Tutor", 2, Rarity.RARE, mage.cards.v.VampiricTutor.class));
}
}

View file

@ -0,0 +1,32 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j19
*/
public class JudgeGiftCards2019 extends ExpansionSet {
private static final JudgeGiftCards2019 instance = new JudgeGiftCards2019();
public static JudgeGiftCards2019 getInstance() {
return instance;
}
private JudgeGiftCards2019() {
super("Judge Gift Cards 2019", "J19", ExpansionSet.buildDate(2019, 4, 10), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Chalice of the Void", 7, Rarity.RARE, mage.cards.c.ChaliceOfTheVoid.class));
cards.add(new SetCardInfo("Isolated Watchtower", 4, Rarity.MYTHIC, mage.cards.i.IsolatedWatchtower.class));
cards.add(new SetCardInfo("Mirri's Guile", 1, Rarity.MYTHIC, mage.cards.m.MirrisGuile.class));
cards.add(new SetCardInfo("Monastery Mentor", 5, Rarity.MYTHIC, mage.cards.m.MonasteryMentor.class));
cards.add(new SetCardInfo("Mox Opal", 3, Rarity.MYTHIC, mage.cards.m.MoxOpal.class));
cards.add(new SetCardInfo("Reflecting Pool", 8, Rarity.RARE, mage.cards.r.ReflectingPool.class));
cards.add(new SetCardInfo("Sliver Legion", 2, Rarity.MYTHIC, mage.cards.s.SliverLegion.class));
cards.add(new SetCardInfo("Yuriko, the Tiger's Shadow", 6, Rarity.RARE, mage.cards.y.YurikoTheTigersShadow.class));
}
}

View file

@ -0,0 +1,30 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
* https://scryfall.com/sets/j20
*/
public class JudgeGiftCards2020 extends ExpansionSet {
private static final JudgeGiftCards2020 instance = new JudgeGiftCards2020();
public static JudgeGiftCards2020 getInstance() {
return instance;
}
private JudgeGiftCards2020() {
super("Judge Gift Cards 2020", "J20", ExpansionSet.buildDate(2020, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Arena Rector", 1, Rarity.RARE, mage.cards.a.ArenaRector.class));
cards.add(new SetCardInfo("Demonic Tutor", 4, Rarity.RARE, mage.cards.d.DemonicTutor.class));
cards.add(new SetCardInfo("Enlightened Tutor", 2, Rarity.RARE, mage.cards.e.EnlightenedTutor.class));
cards.add(new SetCardInfo("Gamble", 6, Rarity.RARE, mage.cards.g.Gamble.class));
cards.add(new SetCardInfo("Spellseeker", 3, Rarity.RARE, mage.cards.s.Spellseeker.class));
cards.add(new SetCardInfo("Sylvan Tutor", 8, Rarity.RARE, mage.cards.s.SylvanTutor.class));
}
}

View file

@ -1,136 +0,0 @@
package mage.sets;
import mage.cards.ExpansionSet;
import mage.constants.Rarity;
import mage.constants.SetType;
/**
*
* @author fireshoes
*/
public final class JudgePromo extends ExpansionSet {
private static final JudgePromo instance = new JudgePromo();
public static JudgePromo getInstance() {
return instance;
}
private JudgePromo() {
super("Judge Promo", "JR", ExpansionSet.buildDate(2011, 6, 17), SetType.PROMOTIONAL);
this.hasBoosters = false;
cards.add(new SetCardInfo("Argothian Enchantress", 12, Rarity.RARE, mage.cards.a.ArgothianEnchantress.class));
cards.add(new SetCardInfo("Armageddon", 14, Rarity.RARE, mage.cards.a.Armageddon.class));
cards.add(new SetCardInfo("Avacyn, Angel of Hope", 110, Rarity.SPECIAL, mage.cards.a.AvacynAngelOfHope.class));
cards.add(new SetCardInfo("Azusa, Lost but Seeking", 102, Rarity.RARE, mage.cards.a.AzusaLostButSeeking.class));// 2016 003/008
cards.add(new SetCardInfo("Balance", 15, Rarity.RARE, mage.cards.b.Balance.class));
cards.add(new SetCardInfo("Ball Lightning", 7, Rarity.RARE, mage.cards.b.BallLightning.class));
cards.add(new SetCardInfo("Bitterblossom", 59, Rarity.RARE, mage.cards.b.Bitterblossom.class));
cards.add(new SetCardInfo("Bloodstained Mire", 43, Rarity.RARE, mage.cards.b.BloodstainedMire.class));
cards.add(new SetCardInfo("Bribery", 73, Rarity.RARE, mage.cards.b.Bribery.class));
cards.add(new SetCardInfo("Burning Wish", 42, Rarity.RARE, mage.cards.b.BurningWish.class));
cards.add(new SetCardInfo("Command Beacon", 105, Rarity.RARE, mage.cards.c.CommandBeacon.class));// 2016 004/008
cards.add(new SetCardInfo("Command Tower", 71, Rarity.COMMON, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Counterspell", 5, Rarity.COMMON, mage.cards.c.Counterspell.class));
cards.add(new SetCardInfo("Crucible of Worlds", 75, Rarity.RARE, mage.cards.c.CrucibleOfWorlds.class));
cards.add(new SetCardInfo("Cunning Wish", 29, Rarity.RARE, mage.cards.c.CunningWish.class));
cards.add(new SetCardInfo("Damnation", 98, Rarity.RARE, mage.cards.d.Damnation.class));
cards.add(new SetCardInfo("Dark Confidant", 61, Rarity.RARE, mage.cards.d.DarkConfidant.class));
cards.add(new SetCardInfo("Dark Ritual", 38, Rarity.COMMON, mage.cards.d.DarkRitual.class));
cards.add(new SetCardInfo("Decree of Justice", 32, Rarity.RARE, mage.cards.d.DecreeOfJustice.class));
cards.add(new SetCardInfo("Defense of the Heart", 106, Rarity.RARE, mage.cards.d.DefenseOfTheHeart.class)); // 2016 007/008
cards.add(new SetCardInfo("Demonic Tutor", 35, Rarity.UNCOMMON, mage.cards.d.DemonicTutor.class));
cards.add(new SetCardInfo("Deranged Hermit", 18, Rarity.RARE, mage.cards.d.DerangedHermit.class));
cards.add(new SetCardInfo("Doubling Season", 62, Rarity.RARE, mage.cards.d.DoublingSeason.class));
cards.add(new SetCardInfo("Dualcaster Mage", 99, Rarity.RARE, mage.cards.d.DualcasterMage.class));
cards.add(new SetCardInfo("Elesh Norn, Grand Cenobite", 87, Rarity.MYTHIC, mage.cards.e.EleshNornGrandCenobite.class));
cards.add(new SetCardInfo("Entomb", 56, Rarity.RARE, mage.cards.e.Entomb.class));
cards.add(new SetCardInfo("Exalted Angel", 24, Rarity.RARE, mage.cards.e.ExaltedAngel.class));
cards.add(new SetCardInfo("Feldon of the Third Path", 100, Rarity.MYTHIC, mage.cards.f.FeldonOfTheThirdPath.class));
cards.add(new SetCardInfo("Flooded Strand", 44, Rarity.RARE, mage.cards.f.FloodedStrand.class));
cards.add(new SetCardInfo("Flusterstorm", 65, Rarity.RARE, mage.cards.f.Flusterstorm.class));
cards.add(new SetCardInfo("Force of Will", 83, Rarity.UNCOMMON, mage.cards.f.ForceOfWill.class));
cards.add(new SetCardInfo("Forest", 93, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Gaddock Teeg", 112, Rarity.SPECIAL, mage.cards.g.GaddockTeeg.class));
cards.add(new SetCardInfo("Gaea's Cradle", 3, Rarity.RARE, mage.cards.g.GaeasCradle.class));
cards.add(new SetCardInfo("Gemstone Mine", 20, Rarity.UNCOMMON, mage.cards.g.GemstoneMine.class));
cards.add(new SetCardInfo("Genesis", 79, Rarity.RARE, mage.cards.g.Genesis.class));
cards.add(new SetCardInfo("Goblin Piledriver", 36, Rarity.RARE, mage.cards.g.GoblinPiledriver.class));
cards.add(new SetCardInfo("Goblin Welder", 63, Rarity.RARE, mage.cards.g.GoblinWelder.class));
cards.add(new SetCardInfo("Greater Good", 81, Rarity.RARE, mage.cards.g.GreaterGood.class));
cards.add(new SetCardInfo("Grim Lavamancer", 25, Rarity.RARE, mage.cards.g.GrimLavamancer.class));
cards.add(new SetCardInfo("Grindstone", 104, Rarity.RARE, mage.cards.g.Grindstone.class));
cards.add(new SetCardInfo("Hammer of Bogardan", 9, Rarity.RARE, mage.cards.h.HammerOfBogardan.class));
cards.add(new SetCardInfo("Hanna, Ship's Navigator", 84, Rarity.RARE, mage.cards.h.HannaShipsNavigator.class));
cards.add(new SetCardInfo("Hermit Druid", 19, Rarity.RARE, mage.cards.h.HermitDruid.class));
cards.add(new SetCardInfo("Homeward Path", 113, Rarity.SPECIAL, mage.cards.h.HomewardPath.class));
cards.add(new SetCardInfo("Imperial Recruiter", 74, Rarity.UNCOMMON, mage.cards.i.ImperialRecruiter.class));
cards.add(new SetCardInfo("Imperial Seal", 109, Rarity.SPECIAL, mage.cards.i.ImperialSeal.class));// 2016 006/008
cards.add(new SetCardInfo("Intuition", 11, Rarity.RARE, mage.cards.i.Intuition.class));
cards.add(new SetCardInfo("Island", 90, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Karador, Ghost Chieftain", 80, Rarity.MYTHIC, mage.cards.k.KaradorGhostChieftain.class));
cards.add(new SetCardInfo("Karakas", 69, Rarity.UNCOMMON, mage.cards.k.Karakas.class));
cards.add(new SetCardInfo("Karmic Guide", 67, Rarity.RARE, mage.cards.k.KarmicGuide.class));
cards.add(new SetCardInfo("Land Tax", 52, Rarity.RARE, mage.cards.l.LandTax.class));
cards.add(new SetCardInfo("Lightning Bolt", 1, Rarity.COMMON, mage.cards.l.LightningBolt.class));
cards.add(new SetCardInfo("Living Death", 13, Rarity.RARE, mage.cards.l.LivingDeath.class));
cards.add(new SetCardInfo("Living Wish", 37, Rarity.RARE, mage.cards.l.LivingWish.class));
cards.add(new SetCardInfo("Mana Crypt", 60, Rarity.RARE, mage.cards.m.ManaCrypt.class));
cards.add(new SetCardInfo("Mana Drain", 103, Rarity.UNCOMMON, mage.cards.m.ManaDrain.class));// 2016 002/008
cards.add(new SetCardInfo("Maze of Ith", 39, Rarity.UNCOMMON, mage.cards.m.MazeOfIth.class));
cards.add(new SetCardInfo("Meddling Mage", 26, Rarity.RARE, mage.cards.m.MeddlingMage.class));
cards.add(new SetCardInfo("Memory Lapse", 4, Rarity.COMMON, mage.cards.m.MemoryLapse.class));
cards.add(new SetCardInfo("Mind's Desire", 34, Rarity.RARE, mage.cards.m.MindsDesire.class));
cards.add(new SetCardInfo("Mishra's Factory", 23, Rarity.UNCOMMON, mage.cards.m.MishrasFactory.class));
cards.add(new SetCardInfo("Morphling", 53, Rarity.RARE, mage.cards.m.Morphling.class));
cards.add(new SetCardInfo("Mountain", 92, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mystic Confluence", 108, Rarity.SPECIAL, mage.cards.m.MysticConfluence.class, NON_FULL_USE_VARIOUS)); // 2016 005/008
cards.add(new SetCardInfo("Natural Order", 49, Rarity.RARE, mage.cards.n.NaturalOrder.class));
cards.add(new SetCardInfo("Nekusar, the Mindrazer", 86, Rarity.MYTHIC, mage.cards.n.NekusarTheMindrazer.class));
cards.add(new SetCardInfo("Noble Hierarch", 66, Rarity.RARE, mage.cards.n.NobleHierarch.class));
cards.add(new SetCardInfo("Oath of Druids", 8, Rarity.RARE, mage.cards.o.OathOfDruids.class));
cards.add(new SetCardInfo("Oloro, Ageless Ascetic", 88, Rarity.MYTHIC, mage.cards.o.OloroAgelessAscetic.class));
cards.add(new SetCardInfo("Orim's Chant", 33, Rarity.RARE, mage.cards.o.OrimsChant.class));
cards.add(new SetCardInfo("Overwhelming Forces", 76, Rarity.RARE, mage.cards.o.OverwhelmingForces.class));
cards.add(new SetCardInfo("Pernicious Deed", 27, Rarity.RARE, mage.cards.p.PerniciousDeed.class));
cards.add(new SetCardInfo("Phyrexian Dreadnought", 50, Rarity.RARE, mage.cards.p.PhyrexianDreadnought.class));
cards.add(new SetCardInfo("Phyrexian Negator", 17, Rarity.RARE, mage.cards.p.PhyrexianNegator.class));
cards.add(new SetCardInfo("Plains", 89, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Polluted Delta", 45, Rarity.RARE, mage.cards.p.PollutedDelta.class));
cards.add(new SetCardInfo("Ravages of War", 97, Rarity.RARE, mage.cards.r.RavagesOfWar.class));
cards.add(new SetCardInfo("Ravenous Baloth", 28, Rarity.RARE, mage.cards.r.RavenousBaloth.class));
cards.add(new SetCardInfo("Regrowth", 21, Rarity.UNCOMMON, mage.cards.r.Regrowth.class));
cards.add(new SetCardInfo("Riku of Two Reflections", 82, Rarity.MYTHIC, mage.cards.r.RikuOfTwoReflections.class));
cards.add(new SetCardInfo("Rishadan Port", 96, Rarity.RARE, mage.cards.r.RishadanPort.class));
cards.add(new SetCardInfo("Shardless Agent", 95, Rarity.UNCOMMON, mage.cards.s.ShardlessAgent.class));
cards.add(new SetCardInfo("Show and Tell", 77, Rarity.RARE, mage.cards.s.ShowAndTell.class));
cards.add(new SetCardInfo("Sinkhole", 48, Rarity.COMMON, mage.cards.s.Sinkhole.class));
cards.add(new SetCardInfo("Sneak Attack", 68, Rarity.RARE, mage.cards.s.SneakAttack.class));
cards.add(new SetCardInfo("Sol Ring", 22, Rarity.UNCOMMON, mage.cards.s.SolRing.class));
cards.add(new SetCardInfo("Stifle", 40, Rarity.RARE, mage.cards.s.Stifle.class));
cards.add(new SetCardInfo("Stroke of Genius", 2, Rarity.RARE, mage.cards.s.StrokeOfGenius.class));
cards.add(new SetCardInfo("Survival of the Fittest", 41, Rarity.RARE, mage.cards.s.SurvivalOfTheFittest.class));
cards.add(new SetCardInfo("Swamp", 91, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Sword of Feast and Famine", 85, Rarity.MYTHIC, mage.cards.s.SwordOfFeastAndFamine.class));
cards.add(new SetCardInfo("Sword of Fire and Ice", 57, Rarity.RARE, mage.cards.s.SwordOfFireAndIce.class));
cards.add(new SetCardInfo("Sword of Light and Shadow", 70, Rarity.RARE, mage.cards.s.SwordOfLightAndShadow.class));
cards.add(new SetCardInfo("Swords to Plowshares", 72, Rarity.UNCOMMON, mage.cards.s.SwordsToPlowshares.class));
cards.add(new SetCardInfo("Thawing Glaciers", 51, Rarity.RARE, mage.cards.t.ThawingGlaciers.class));
cards.add(new SetCardInfo("Time Warp", 16, Rarity.MYTHIC, mage.cards.t.TimeWarp.class));
cards.add(new SetCardInfo("Tradewind Rider", 10, Rarity.RARE, mage.cards.t.TradewindRider.class));
cards.add(new SetCardInfo("Vampiric Tutor", 6, Rarity.RARE, mage.cards.v.VampiricTutor.class));
cards.add(new SetCardInfo("Vendilion Clique", 58, Rarity.RARE, mage.cards.v.VendilionClique.class));
cards.add(new SetCardInfo("Vindicate", 31, Rarity.RARE, mage.cards.v.Vindicate.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Vindicate", 78, Rarity.RARE, mage.cards.v.Vindicate.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wasteland", 55, Rarity.UNCOMMON, mage.cards.w.Wasteland.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wasteland", 101, Rarity.RARE, mage.cards.w.Wasteland.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wheel of Fortune", 54, Rarity.RARE, mage.cards.w.WheelOfFortune.class));
cards.add(new SetCardInfo("Windswept Heath", 46, Rarity.RARE, mage.cards.w.WindsweptHeath.class));
cards.add(new SetCardInfo("Wooded Foothills", 47, Rarity.RARE, mage.cards.w.WoodedFoothills.class));
cards.add(new SetCardInfo("Xiahou Dun, the One-Eyed", 64, Rarity.RARE, mage.cards.x.XiahouDunTheOneEyed.class));
cards.add(new SetCardInfo("Yawgmoth's Will", 30, Rarity.RARE, mage.cards.y.YawgmothsWill.class));
cards.add(new SetCardInfo("Zur the Enchanter", 107, Rarity.RARE, mage.cards.z.ZurTheEnchanter.class)); // 2016 008/008
}
}

View file

@ -135,7 +135,7 @@ public class DeckValidatorTest extends MageTestBase {
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList)); Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));
deckList.clear(); deckList.clear();
deckList.add(new CardNameAmount("JR", 5, 4)); deckList.add(new CardNameAmount("G00", 1, 4));
deckList.add(new CardNameAmount("Mountain", 56)); deckList.add(new CardNameAmount("Mountain", 56));
Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList)); Assert.assertFalse("Counterspell not allowed in modern", testDeckValid(new Modern(), deckList));