* Fixed missing lands from some sets in lands/decks generation;

This commit is contained in:
Oleg Agafonov 2018-10-03 00:45:58 +04:00
parent 63937351c1
commit 434044eb0f
47 changed files with 64 additions and 53 deletions

View file

@ -13,7 +13,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author North * @author North
*/ */
public final class ArabianNights extends ExpansionSet { public final class ArabianNights extends ExpansionSet {
@ -26,13 +25,14 @@ public final class ArabianNights extends ExpansionSet {
private ArabianNights() { private ArabianNights() {
super("Arabian Nights", "ARN", ExpansionSet.buildDate(1993, 11, 1), SetType.EXPANSION); super("Arabian Nights", "ARN", ExpansionSet.buildDate(1993, 11, 1), SetType.EXPANSION);
this.hasBasicLands = false; this.hasBasicLands = true;
this.hasBoosters = true; this.hasBoosters = true;
this.numBoosterLands = 1; this.numBoosterLands = 1;
this.numBoosterCommon = 10; this.numBoosterCommon = 10;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;
this.numBoosterRare = 1; this.numBoosterRare = 1;
this.ratioBoosterMythic = 0; this.ratioBoosterMythic = 0;
cards.add(new SetCardInfo("Abu Ja'far", 1, Rarity.UNCOMMON, mage.cards.a.AbuJafar.class)); cards.add(new SetCardInfo("Abu Ja'far", 1, Rarity.UNCOMMON, mage.cards.a.AbuJafar.class));
cards.add(new SetCardInfo("Aladdin", 34, Rarity.RARE, mage.cards.a.Aladdin.class)); cards.add(new SetCardInfo("Aladdin", 34, Rarity.RARE, mage.cards.a.Aladdin.class));
cards.add(new SetCardInfo("Aladdin's Lamp", 56, Rarity.RARE, mage.cards.a.AladdinsLamp.class)); cards.add(new SetCardInfo("Aladdin's Lamp", 56, Rarity.RARE, mage.cards.a.AladdinsLamp.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class Champs extends ExpansionSet { public final class Champs extends ExpansionSet {
@ -20,6 +19,8 @@ public final class Champs extends ExpansionSet {
private Champs() { private Champs() {
super("Champs", "CP", ExpansionSet.buildDate(2006, 3, 18), SetType.PROMOTIONAL); super("Champs", "CP", ExpansionSet.buildDate(2006, 3, 18), SetType.PROMOTIONAL);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Blood Knight", 7, Rarity.SPECIAL, mage.cards.b.BloodKnight.class)); cards.add(new SetCardInfo("Blood Knight", 7, Rarity.SPECIAL, mage.cards.b.BloodKnight.class));
cards.add(new SetCardInfo("Bramblewood Paragon", 11, Rarity.SPECIAL, mage.cards.b.BramblewoodParagon.class)); cards.add(new SetCardInfo("Bramblewood Paragon", 11, Rarity.SPECIAL, mage.cards.b.BramblewoodParagon.class));
cards.add(new SetCardInfo("Doran, the Siege Tower", 10, Rarity.SPECIAL, mage.cards.d.DoranTheSiegeTower.class)); cards.add(new SetCardInfo("Doran, the Siege Tower", 10, Rarity.SPECIAL, mage.cards.d.DoranTheSiegeTower.class));

View file

@ -18,7 +18,7 @@ public final class CommanderAnthology extends ExpansionSet {
private CommanderAnthology() { private CommanderAnthology() {
super("Commander Anthology", "CMA", ExpansionSet.buildDate(2017, 6, 9), SetType.SUPPLEMENTAL); super("Commander Anthology", "CMA", ExpansionSet.buildDate(2017, 6, 9), SetType.SUPPLEMENTAL);
this.blockName = "Command Zone"; this.blockName = "Command Zone";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Acidic Slime", 90, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class)); cards.add(new SetCardInfo("Acidic Slime", 90, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class));
cards.add(new SetCardInfo("Aerie Mystics", 1, Rarity.UNCOMMON, mage.cards.a.AerieMystics.class)); cards.add(new SetCardInfo("Aerie Mystics", 1, Rarity.UNCOMMON, mage.cards.a.AerieMystics.class));

View file

@ -18,7 +18,7 @@ public class CommanderAnthologyVolumeII extends ExpansionSet {
private CommanderAnthologyVolumeII() { private CommanderAnthologyVolumeII() {
super("Commander Anthology Volume II", "CM2", ExpansionSet.buildDate(2018, 6, 8), SetType.SUPPLEMENTAL); super("Commander Anthology Volume II", "CM2", ExpansionSet.buildDate(2018, 6, 8), SetType.SUPPLEMENTAL);
this.blockName = "Command Zone"; this.blockName = "Command Zone";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abzan Falconer", 15, Rarity.UNCOMMON, mage.cards.a.AbzanFalconer.class)); cards.add(new SetCardInfo("Abzan Falconer", 15, Rarity.UNCOMMON, mage.cards.a.AbzanFalconer.class));
cards.add(new SetCardInfo("Acidic Slime", 132, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class)); cards.add(new SetCardInfo("Acidic Slime", 132, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class CommandersArsenal extends ExpansionSet { public final class CommandersArsenal extends ExpansionSet {
@ -20,6 +19,8 @@ public final class CommandersArsenal extends ExpansionSet {
private CommandersArsenal() { private CommandersArsenal() {
super("Commander's Arsenal", "CM1", ExpansionSet.buildDate(2012, 11, 2), SetType.SUPPLEMENTAL); super("Commander's Arsenal", "CM1", ExpansionSet.buildDate(2012, 11, 2), SetType.SUPPLEMENTAL);
this.blockName = "Command Zone"; this.blockName = "Command Zone";
this.hasBasicLands = false;
cards.add(new SetCardInfo("Chaos Warp", 1, Rarity.RARE, mage.cards.c.ChaosWarp.class)); cards.add(new SetCardInfo("Chaos Warp", 1, Rarity.RARE, mage.cards.c.ChaosWarp.class));
cards.add(new SetCardInfo("Command Tower", 2, Rarity.COMMON, mage.cards.c.CommandTower.class)); cards.add(new SetCardInfo("Command Tower", 2, Rarity.COMMON, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Decree of Pain", 3, Rarity.RARE, mage.cards.d.DecreeOfPain.class)); cards.add(new SetCardInfo("Decree of Pain", 3, Rarity.RARE, mage.cards.d.DecreeOfPain.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author LevelX2 * @author LevelX2
*/ */
public final class DuelDecksAjaniVsNicolBolas extends ExpansionSet { public final class DuelDecksAjaniVsNicolBolas extends ExpansionSet {
@ -20,7 +19,8 @@ public final class DuelDecksAjaniVsNicolBolas extends ExpansionSet {
private DuelDecksAjaniVsNicolBolas() { private DuelDecksAjaniVsNicolBolas() {
super("Duel Decks: Ajani vs. Nicol Bolas", "DDH", ExpansionSet.buildDate(2011, 9, 2), SetType.SUPPLEMENTAL); super("Duel Decks: Ajani vs. Nicol Bolas", "DDH", ExpansionSet.buildDate(2011, 9, 2), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Ageless Entity", 18, Rarity.RARE, mage.cards.a.AgelessEntity.class)); cards.add(new SetCardInfo("Ageless Entity", 18, Rarity.RARE, mage.cards.a.AgelessEntity.class));
cards.add(new SetCardInfo("Agonizing Demise", 66, Rarity.COMMON, mage.cards.a.AgonizingDemise.class)); cards.add(new SetCardInfo("Agonizing Demise", 66, Rarity.COMMON, mage.cards.a.AgonizingDemise.class));
cards.add(new SetCardInfo("Ajani's Mantra", 22, Rarity.COMMON, mage.cards.a.AjanisMantra.class)); cards.add(new SetCardInfo("Ajani's Mantra", 22, Rarity.COMMON, mage.cards.a.AjanisMantra.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksAnthologyDivineVsDemonic extends ExpansionSet {
super("Duel Decks: Anthology, Divine vs. Demonic", "DD3DVD", ExpansionSet.buildDate(2014, 12, 5), super("Duel Decks: Anthology, Divine vs. Demonic", "DD3DVD", ExpansionSet.buildDate(2014, 12, 5),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks: Anthology"; this.blockName = "Duel Decks: Anthology";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abyssal Gatekeeper", 31, Rarity.COMMON, mage.cards.a.AbyssalGatekeeper.class)); cards.add(new SetCardInfo("Abyssal Gatekeeper", 31, Rarity.COMMON, mage.cards.a.AbyssalGatekeeper.class));
cards.add(new SetCardInfo("Abyssal Specter", 40, Rarity.UNCOMMON, mage.cards.a.AbyssalSpecter.class)); cards.add(new SetCardInfo("Abyssal Specter", 40, Rarity.UNCOMMON, mage.cards.a.AbyssalSpecter.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class DuelDecksAnthologyElvesVsGoblins extends ExpansionSet { public final class DuelDecksAnthologyElvesVsGoblins extends ExpansionSet {
@ -21,7 +20,8 @@ public final class DuelDecksAnthologyElvesVsGoblins extends ExpansionSet {
super("Duel Decks: Anthology, Elves vs. Goblins", "DD3EVG", ExpansionSet.buildDate(2014, 12, 5), super("Duel Decks: Anthology, Elves vs. Goblins", "DD3EVG", ExpansionSet.buildDate(2014, 12, 5),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks: Anthology"; this.blockName = "Duel Decks: Anthology";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Akki Coalflinger", 33, Rarity.UNCOMMON, mage.cards.a.AkkiCoalflinger.class)); cards.add(new SetCardInfo("Akki Coalflinger", 33, Rarity.UNCOMMON, mage.cards.a.AkkiCoalflinger.class));
cards.add(new SetCardInfo("Allosaurus Rider", 2, Rarity.RARE, mage.cards.a.AllosaurusRider.class)); cards.add(new SetCardInfo("Allosaurus Rider", 2, Rarity.RARE, mage.cards.a.AllosaurusRider.class));
cards.add(new SetCardInfo("Ambush Commander", 1, Rarity.RARE, mage.cards.a.AmbushCommander.class)); cards.add(new SetCardInfo("Ambush Commander", 1, Rarity.RARE, mage.cards.a.AmbushCommander.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class DuelDecksAnthologyGarrukVsLiliana extends ExpansionSet { public final class DuelDecksAnthologyGarrukVsLiliana extends ExpansionSet {
@ -21,7 +20,8 @@ public final class DuelDecksAnthologyGarrukVsLiliana extends ExpansionSet {
super("Duel Decks: Anthology, Garruk vs. Liliana", "DD3GVL", ExpansionSet.buildDate(2014, 12, 5), super("Duel Decks: Anthology, Garruk vs. Liliana", "DD3GVL", ExpansionSet.buildDate(2014, 12, 5),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks: Anthology"; this.blockName = "Duel Decks: Anthology";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Albino Troll", 3, Rarity.UNCOMMON, mage.cards.a.AlbinoTroll.class)); cards.add(new SetCardInfo("Albino Troll", 3, Rarity.UNCOMMON, mage.cards.a.AlbinoTroll.class));
cards.add(new SetCardInfo("Bad Moon", 48, Rarity.RARE, mage.cards.b.BadMoon.class)); cards.add(new SetCardInfo("Bad Moon", 48, Rarity.RARE, mage.cards.b.BadMoon.class));
cards.add(new SetCardInfo("Basking Rootwalla", 2, Rarity.COMMON, mage.cards.b.BaskingRootwalla.class)); cards.add(new SetCardInfo("Basking Rootwalla", 2, Rarity.COMMON, mage.cards.b.BaskingRootwalla.class));

View file

@ -20,7 +20,7 @@ public final class DuelDecksAnthologyJaceVsChandra extends ExpansionSet {
super("Duel Decks: Anthology, Jace vs. Chandra", "DD3JVC", ExpansionSet.buildDate(2014, 12, 5), super("Duel Decks: Anthology, Jace vs. Chandra", "DD3JVC", ExpansionSet.buildDate(2014, 12, 5),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks: Anthology"; this.blockName = "Duel Decks: Anthology";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Aethersnipe", 17, Rarity.COMMON, mage.cards.a.Aethersnipe.class)); cards.add(new SetCardInfo("Aethersnipe", 17, Rarity.COMMON, mage.cards.a.Aethersnipe.class));
cards.add(new SetCardInfo("Air Elemental", 13, Rarity.UNCOMMON, mage.cards.a.AirElemental.class)); cards.add(new SetCardInfo("Air Elemental", 13, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class DuelDecksBlessedVsCursed extends ExpansionSet { public final class DuelDecksBlessedVsCursed extends ExpansionSet {
@ -20,7 +19,8 @@ public final class DuelDecksBlessedVsCursed extends ExpansionSet {
private DuelDecksBlessedVsCursed() { private DuelDecksBlessedVsCursed() {
super("Duel Decks: Blessed vs. Cursed", "DDQ", ExpansionSet.buildDate(2016, 2, 26), SetType.SUPPLEMENTAL); super("Duel Decks: Blessed vs. Cursed", "DDQ", ExpansionSet.buildDate(2016, 2, 26), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abattoir Ghoul", 50, Rarity.UNCOMMON, mage.cards.a.AbattoirGhoul.class)); cards.add(new SetCardInfo("Abattoir Ghoul", 50, Rarity.UNCOMMON, mage.cards.a.AbattoirGhoul.class));
cards.add(new SetCardInfo("Appetite for Brains", 51, Rarity.UNCOMMON, mage.cards.a.AppetiteForBrains.class)); cards.add(new SetCardInfo("Appetite for Brains", 51, Rarity.UNCOMMON, mage.cards.a.AppetiteForBrains.class));
cards.add(new SetCardInfo("Barter in Blood", 52, Rarity.UNCOMMON, mage.cards.b.BarterInBlood.class)); cards.add(new SetCardInfo("Barter in Blood", 52, Rarity.UNCOMMON, mage.cards.b.BarterInBlood.class));

View file

@ -18,7 +18,7 @@ public final class DuelDecksDivineVsDemonic extends ExpansionSet {
private DuelDecksDivineVsDemonic() { private DuelDecksDivineVsDemonic() {
super("Duel Decks: Divine vs. Demonic", "DDC", ExpansionSet.buildDate(2009, 04, 10), SetType.SUPPLEMENTAL); super("Duel Decks: Divine vs. Demonic", "DDC", ExpansionSet.buildDate(2009, 04, 10), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abyssal Gatekeeper", 31, Rarity.COMMON, mage.cards.a.AbyssalGatekeeper.class)); cards.add(new SetCardInfo("Abyssal Gatekeeper", 31, Rarity.COMMON, mage.cards.a.AbyssalGatekeeper.class));
cards.add(new SetCardInfo("Abyssal Specter", 40, Rarity.UNCOMMON, mage.cards.a.AbyssalSpecter.class)); cards.add(new SetCardInfo("Abyssal Specter", 40, Rarity.UNCOMMON, mage.cards.a.AbyssalSpecter.class));

View file

@ -20,7 +20,7 @@ public final class DuelDecksElspethVsKiora extends ExpansionSet {
private DuelDecksElspethVsKiora() { private DuelDecksElspethVsKiora() {
super("Duel Decks: Elspeth vs. Kiora", "DDO", ExpansionSet.buildDate(2015, 2, 27), SetType.SUPPLEMENTAL); super("Duel Decks: Elspeth vs. Kiora", "DDO", ExpansionSet.buildDate(2015, 2, 27), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Accumulated Knowledge", 35, Rarity.COMMON, mage.cards.a.AccumulatedKnowledge.class)); cards.add(new SetCardInfo("Accumulated Knowledge", 35, Rarity.COMMON, mage.cards.a.AccumulatedKnowledge.class));
cards.add(new SetCardInfo("Aetherize", 36, Rarity.UNCOMMON, mage.cards.a.Aetherize.class)); cards.add(new SetCardInfo("Aetherize", 36, Rarity.UNCOMMON, mage.cards.a.Aetherize.class));

View file

@ -15,7 +15,7 @@ public final class DuelDecksElspethVsTezzeret extends ExpansionSet {
private DuelDecksElspethVsTezzeret() { private DuelDecksElspethVsTezzeret() {
super("Duel Decks: Elspeth vs. Tezzeret", "DDF", ExpansionSet.buildDate(2010, 8, 3), SetType.SUPPLEMENTAL); super("Duel Decks: Elspeth vs. Tezzeret", "DDF", ExpansionSet.buildDate(2010, 8, 3), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abolish", 29, Rarity.UNCOMMON, mage.cards.a.Abolish.class)); cards.add(new SetCardInfo("Abolish", 29, Rarity.UNCOMMON, mage.cards.a.Abolish.class));
cards.add(new SetCardInfo("Aether Spellbomb", 61, Rarity.COMMON, mage.cards.a.AetherSpellbomb.class)); cards.add(new SetCardInfo("Aether Spellbomb", 61, Rarity.COMMON, mage.cards.a.AetherSpellbomb.class));

View file

@ -18,7 +18,7 @@ public final class DuelDecksElvesVsGoblins extends ExpansionSet {
private DuelDecksElvesVsGoblins() { private DuelDecksElvesVsGoblins() {
super("Duel Decks: Elves vs. Goblins", "EVG", ExpansionSet.buildDate(2007, 11, 16), SetType.SUPPLEMENTAL); super("Duel Decks: Elves vs. Goblins", "EVG", ExpansionSet.buildDate(2007, 11, 16), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Akki Coalflinger", 33, Rarity.UNCOMMON, mage.cards.a.AkkiCoalflinger.class)); cards.add(new SetCardInfo("Akki Coalflinger", 33, Rarity.UNCOMMON, mage.cards.a.AkkiCoalflinger.class));
cards.add(new SetCardInfo("Allosaurus Rider", 2, Rarity.RARE, mage.cards.a.AllosaurusRider.class)); cards.add(new SetCardInfo("Allosaurus Rider", 2, Rarity.RARE, mage.cards.a.AllosaurusRider.class));

View file

@ -23,7 +23,7 @@ public final class DuelDecksGarrukVsLiliana extends ExpansionSet {
private DuelDecksGarrukVsLiliana() { private DuelDecksGarrukVsLiliana() {
super("Duel Decks: Garruk vs. Liliana", "DDD", ExpansionSet.buildDate(2009, 10, 30), SetType.SUPPLEMENTAL); super("Duel Decks: Garruk vs. Liliana", "DDD", ExpansionSet.buildDate(2009, 10, 30), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Albino Troll", 3, Rarity.UNCOMMON, mage.cards.a.AlbinoTroll.class)); cards.add(new SetCardInfo("Albino Troll", 3, Rarity.UNCOMMON, mage.cards.a.AlbinoTroll.class));
cards.add(new SetCardInfo("Bad Moon", 48, Rarity.RARE, mage.cards.b.BadMoon.class)); cards.add(new SetCardInfo("Bad Moon", 48, Rarity.RARE, mage.cards.b.BadMoon.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksHeroesVsMonsters extends ExpansionSet {
private DuelDecksHeroesVsMonsters() { private DuelDecksHeroesVsMonsters() {
super("Duel Decks: Heroes vs. Monsters", "DDL", ExpansionSet.buildDate(2013, 9, 6), SetType.SUPPLEMENTAL); super("Duel Decks: Heroes vs. Monsters", "DDL", ExpansionSet.buildDate(2013, 9, 6), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Anax and Cymede", 11, Rarity.RARE, mage.cards.a.AnaxAndCymede.class)); cards.add(new SetCardInfo("Anax and Cymede", 11, Rarity.RARE, mage.cards.a.AnaxAndCymede.class));
cards.add(new SetCardInfo("Armory Guard", 12, Rarity.COMMON, mage.cards.a.ArmoryGuard.class)); cards.add(new SetCardInfo("Armory Guard", 12, Rarity.COMMON, mage.cards.a.ArmoryGuard.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksIzzetVsGolgari extends ExpansionSet {
private DuelDecksIzzetVsGolgari() { private DuelDecksIzzetVsGolgari() {
super("Duel Decks: Izzet vs. Golgari", "DDJ", ExpansionSet.buildDate(2012, 9, 7), SetType.SUPPLEMENTAL); super("Duel Decks: Izzet vs. Golgari", "DDJ", ExpansionSet.buildDate(2012, 9, 7), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Barren Moor", 78, Rarity.COMMON, mage.cards.b.BarrenMoor.class)); cards.add(new SetCardInfo("Barren Moor", 78, Rarity.COMMON, mage.cards.b.BarrenMoor.class));
cards.add(new SetCardInfo("Boneyard Wurm", 51, Rarity.UNCOMMON, mage.cards.b.BoneyardWurm.class)); cards.add(new SetCardInfo("Boneyard Wurm", 51, Rarity.UNCOMMON, mage.cards.b.BoneyardWurm.class));

View file

@ -23,7 +23,7 @@ public final class DuelDecksJaceVsChandra extends ExpansionSet {
private DuelDecksJaceVsChandra() { private DuelDecksJaceVsChandra() {
super("Duel Decks: Jace vs. Chandra", "DD2", ExpansionSet.buildDate(2008, 11, 07), SetType.SUPPLEMENTAL); super("Duel Decks: Jace vs. Chandra", "DD2", ExpansionSet.buildDate(2008, 11, 07), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Aethersnipe", 17, Rarity.COMMON, mage.cards.a.Aethersnipe.class)); cards.add(new SetCardInfo("Aethersnipe", 17, Rarity.COMMON, mage.cards.a.Aethersnipe.class));
cards.add(new SetCardInfo("Air Elemental", 13, Rarity.UNCOMMON, mage.cards.a.AirElemental.class)); cards.add(new SetCardInfo("Air Elemental", 13, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksJaceVsVraska extends ExpansionSet {
private DuelDecksJaceVsVraska() { private DuelDecksJaceVsVraska() {
super("Duel Decks: Jace vs. Vraska", "DDM", ExpansionSet.buildDate(2014, 3, 14), SetType.SUPPLEMENTAL); super("Duel Decks: Jace vs. Vraska", "DDM", ExpansionSet.buildDate(2014, 3, 14), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Acidic Slime", 64, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class)); cards.add(new SetCardInfo("Acidic Slime", 64, Rarity.UNCOMMON, mage.cards.a.AcidicSlime.class));
cards.add(new SetCardInfo("Aeon Chronicler", 17, Rarity.RARE, mage.cards.a.AeonChronicler.class)); cards.add(new SetCardInfo("Aeon Chronicler", 17, Rarity.RARE, mage.cards.a.AeonChronicler.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksKnightsVsDragons extends ExpansionSet {
private DuelDecksKnightsVsDragons() { private DuelDecksKnightsVsDragons() {
super("Duel Decks: Knights vs. Dragons", "DDG", ExpansionSet.buildDate(2011, 4, 1), SetType.SUPPLEMENTAL); super("Duel Decks: Knights vs. Dragons", "DDG", ExpansionSet.buildDate(2011, 4, 1), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Alaborn Cavalier", 18, Rarity.UNCOMMON, mage.cards.a.AlabornCavalier.class)); cards.add(new SetCardInfo("Alaborn Cavalier", 18, Rarity.UNCOMMON, mage.cards.a.AlabornCavalier.class));
cards.add(new SetCardInfo("Armillary Sphere", 62, Rarity.COMMON, mage.cards.a.ArmillarySphere.class)); cards.add(new SetCardInfo("Armillary Sphere", 62, Rarity.COMMON, mage.cards.a.ArmillarySphere.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksMerfolkVsGoblins extends ExpansionSet {
private DuelDecksMerfolkVsGoblins() { private DuelDecksMerfolkVsGoblins() {
super("Duel Decks: Merfolk vs. Goblins", "DDT", ExpansionSet.buildDate(2017, 11, 10), SetType.SUPPLEMENTAL); super("Duel Decks: Merfolk vs. Goblins", "DDT", ExpansionSet.buildDate(2017, 11, 10), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Aquitect's Will", 2, Rarity.COMMON, mage.cards.a.AquitectsWill.class)); cards.add(new SetCardInfo("Aquitect's Will", 2, Rarity.COMMON, mage.cards.a.AquitectsWill.class));
cards.add(new SetCardInfo("Battle Squadron", 33, Rarity.UNCOMMON, mage.cards.b.BattleSquadron.class)); cards.add(new SetCardInfo("Battle Squadron", 33, Rarity.UNCOMMON, mage.cards.b.BattleSquadron.class));

View file

@ -5,7 +5,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class DuelDecksMindVsMight extends ExpansionSet { public final class DuelDecksMindVsMight extends ExpansionSet {
@ -19,7 +18,7 @@ public final class DuelDecksMindVsMight extends ExpansionSet {
private DuelDecksMindVsMight() { private DuelDecksMindVsMight() {
super("Duel Decks: Mind vs. Might", "DDS", ExpansionSet.buildDate(2017, 3, 31), SetType.SUPPLEMENTAL); super("Duel Decks: Mind vs. Might", "DDS", ExpansionSet.buildDate(2017, 3, 31), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Ambassador Oak", 42, Rarity.COMMON, mage.cards.a.AmbassadorOak.class)); cards.add(new SetCardInfo("Ambassador Oak", 42, Rarity.COMMON, mage.cards.a.AmbassadorOak.class));
cards.add(new SetCardInfo("Beacon of Destruction", 35, Rarity.RARE, mage.cards.b.BeaconOfDestruction.class)); cards.add(new SetCardInfo("Beacon of Destruction", 35, Rarity.RARE, mage.cards.b.BeaconOfDestruction.class));

View file

@ -18,7 +18,7 @@ public final class DuelDecksNissaVsObNixilis extends ExpansionSet {
private DuelDecksNissaVsObNixilis() { private DuelDecksNissaVsObNixilis() {
super("Duel Decks: Nissa vs. Ob Nixilis", "DDR", ExpansionSet.buildDate(2016, 9, 2), SetType.SUPPLEMENTAL); super("Duel Decks: Nissa vs. Ob Nixilis", "DDR", ExpansionSet.buildDate(2016, 9, 2), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abundance", 2, Rarity.RARE, mage.cards.a.Abundance.class)); cards.add(new SetCardInfo("Abundance", 2, Rarity.RARE, mage.cards.a.Abundance.class));
cards.add(new SetCardInfo("Altar's Reap", 37, Rarity.COMMON, mage.cards.a.AltarsReap.class)); cards.add(new SetCardInfo("Altar's Reap", 37, Rarity.COMMON, mage.cards.a.AltarsReap.class));

View file

@ -20,7 +20,7 @@ public final class DuelDecksPhyrexiaVsTheCoalition extends ExpansionSet {
super("Duel Decks: Phyrexia vs. the Coalition", "DDE", ExpansionSet.buildDate(2010, 3, 19), super("Duel Decks: Phyrexia vs. the Coalition", "DDE", ExpansionSet.buildDate(2010, 3, 19),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Allied Strategies", 63, Rarity.UNCOMMON, mage.cards.a.AlliedStrategies.class)); cards.add(new SetCardInfo("Allied Strategies", 63, Rarity.UNCOMMON, mage.cards.a.AlliedStrategies.class));
cards.add(new SetCardInfo("Armadillo Cloak", 58, Rarity.COMMON, mage.cards.a.ArmadilloCloak.class)); cards.add(new SetCardInfo("Armadillo Cloak", 58, Rarity.COMMON, mage.cards.a.ArmadilloCloak.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksSorinVsTibalt extends ExpansionSet {
private DuelDecksSorinVsTibalt() { private DuelDecksSorinVsTibalt() {
super("Duel Decks: Sorin vs. Tibalt", "DDK", ExpansionSet.buildDate(2013, 3, 15), SetType.SUPPLEMENTAL); super("Duel Decks: Sorin vs. Tibalt", "DDK", ExpansionSet.buildDate(2013, 3, 15), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Absorb Vis", 31, Rarity.COMMON, mage.cards.a.AbsorbVis.class)); cards.add(new SetCardInfo("Absorb Vis", 31, Rarity.COMMON, mage.cards.a.AbsorbVis.class));
cards.add(new SetCardInfo("Akoum Refuge", 73, Rarity.UNCOMMON, mage.cards.a.AkoumRefuge.class)); cards.add(new SetCardInfo("Akoum Refuge", 73, Rarity.UNCOMMON, mage.cards.a.AkoumRefuge.class));

View file

@ -19,7 +19,7 @@ public final class DuelDecksSpeedVsCunning extends ExpansionSet {
private DuelDecksSpeedVsCunning() { private DuelDecksSpeedVsCunning() {
super("Duel Decks: Speed vs. Cunning", "DDN", ExpansionSet.buildDate(2014, 9, 5), SetType.SUPPLEMENTAL); super("Duel Decks: Speed vs. Cunning", "DDN", ExpansionSet.buildDate(2014, 9, 5), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Act of Treason", 26, Rarity.COMMON, mage.cards.a.ActOfTreason.class)); cards.add(new SetCardInfo("Act of Treason", 26, Rarity.COMMON, mage.cards.a.ActOfTreason.class));
cards.add(new SetCardInfo("Aquamorph Entity", 54, Rarity.COMMON, mage.cards.a.AquamorphEntity.class)); cards.add(new SetCardInfo("Aquamorph Entity", 54, Rarity.COMMON, mage.cards.a.AquamorphEntity.class));

View file

@ -18,7 +18,7 @@ public final class DuelDecksVenserVsKoth extends ExpansionSet {
private DuelDecksVenserVsKoth() { private DuelDecksVenserVsKoth() {
super("Duel Decks: Venser vs. Koth", "DDI", ExpansionSet.buildDate(2012, 3, 30), SetType.SUPPLEMENTAL); super("Duel Decks: Venser vs. Koth", "DDI", ExpansionSet.buildDate(2012, 3, 30), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Aether Membrane", 48, Rarity.UNCOMMON, mage.cards.a.AetherMembrane.class)); cards.add(new SetCardInfo("Aether Membrane", 48, Rarity.UNCOMMON, mage.cards.a.AetherMembrane.class));
cards.add(new SetCardInfo("Angelic Shield", 27, Rarity.UNCOMMON, mage.cards.a.AngelicShield.class)); cards.add(new SetCardInfo("Angelic Shield", 27, Rarity.UNCOMMON, mage.cards.a.AngelicShield.class));

View file

@ -18,7 +18,7 @@ public final class DuelDecksZendikarVsEldrazi extends ExpansionSet {
private DuelDecksZendikarVsEldrazi() { private DuelDecksZendikarVsEldrazi() {
super("Duel Decks: Zendikar vs. Eldrazi", "DDP", ExpansionSet.buildDate(2015, 8, 28), SetType.SUPPLEMENTAL); super("Duel Decks: Zendikar vs. Eldrazi", "DDP", ExpansionSet.buildDate(2015, 8, 28), SetType.SUPPLEMENTAL);
this.blockName = "Duel Decks"; this.blockName = "Duel Decks";
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Affa Guard Hound", 2, Rarity.UNCOMMON, mage.cards.a.AffaGuardHound.class)); cards.add(new SetCardInfo("Affa Guard Hound", 2, Rarity.UNCOMMON, mage.cards.a.AffaGuardHound.class));
cards.add(new SetCardInfo("Akoum Refuge", 67, Rarity.UNCOMMON, mage.cards.a.AkoumRefuge.class)); cards.add(new SetCardInfo("Akoum Refuge", 67, Rarity.UNCOMMON, mage.cards.a.AkoumRefuge.class));

View file

@ -370,6 +370,7 @@ public final class EighthEdition extends ExpansionSet {
cards.add(new SetCardInfo("Zombify", 174, Rarity.UNCOMMON, mage.cards.z.Zombify.class)); cards.add(new SetCardInfo("Zombify", 174, Rarity.UNCOMMON, mage.cards.z.Zombify.class));
cards.add(new SetCardInfo("Zur's Weirding", 116, Rarity.RARE, mage.cards.z.ZursWeirding.class)); cards.add(new SetCardInfo("Zur's Weirding", 116, Rarity.RARE, mage.cards.z.ZursWeirding.class));
// 8ed Edition Box Set (we need to create own set) // 8ed Edition Box Set (we need to create own set)
// http://www.magiclibrarities.net/540-rarities-eighth-edition-box-set-cards-english-cards-index.html
// cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class)); // cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class));
// cards.add(new SetCardInfo("Vengeance", 2, Rarity.UNCOMMON, mage.cards.v.Vengeance.class)); // cards.add(new SetCardInfo("Vengeance", 2, Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
// cards.add(new SetCardInfo("Sea Eagle", 4, Rarity.COMMON, mage.cards.s.SeaEagle.class)); // cards.add(new SetCardInfo("Sea Eagle", 4, Rarity.COMMON, mage.cards.s.SeaEagle.class));

View file

@ -15,6 +15,9 @@ public final class EighthEditionBox extends ExpansionSet {
private EighthEditionBox() { private EighthEditionBox() {
super("EighthEditionBox", "8EB", ExpansionSet.buildDate(2003, 7, 28), SetType.CORE); super("EighthEditionBox", "8EB", ExpansionSet.buildDate(2003, 7, 28), SetType.CORE);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false;
// // http://www.magiclibrarities.net/540-rarities-eighth-edition-box-set-cards-english-cards-index.html
cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class)); cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class));
cards.add(new SetCardInfo("Vengeance", 2, Rarity.UNCOMMON, mage.cards.v.Vengeance.class)); cards.add(new SetCardInfo("Vengeance", 2, Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
cards.add(new SetCardInfo("Giant Octopus", 3, Rarity.COMMON, mage.cards.g.GiantOctopus.class)); cards.add(new SetCardInfo("Giant Octopus", 3, Rarity.COMMON, mage.cards.g.GiantOctopus.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author JayDi85 * @author JayDi85
*/ */
public final class ExplorersOfIxalan extends ExpansionSet { public final class ExplorersOfIxalan extends ExpansionSet {
@ -20,6 +19,7 @@ public final class ExplorersOfIxalan extends ExpansionSet {
private ExplorersOfIxalan() { private ExplorersOfIxalan() {
super("Explorers of Ixalan", "E02", ExpansionSet.buildDate(2017, 11, 24), SetType.SUPPLEMENTAL); super("Explorers of Ixalan", "E02", ExpansionSet.buildDate(2017, 11, 24), SetType.SUPPLEMENTAL);
this.blockName = "Explorers of Ixalan"; this.blockName = "Explorers of Ixalan";
this.hasBasicLands = false;
cards.add(new SetCardInfo("Adaptive Automaton", 42, Rarity.RARE, mage.cards.a.AdaptiveAutomaton.class)); cards.add(new SetCardInfo("Adaptive Automaton", 42, Rarity.RARE, mage.cards.a.AdaptiveAutomaton.class));
cards.add(new SetCardInfo("Aether Gale", 7, Rarity.RARE, mage.cards.a.AetherGale.class)); cards.add(new SetCardInfo("Aether Gale", 7, Rarity.RARE, mage.cards.a.AetherGale.class));

View file

@ -13,7 +13,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class FateReforged extends ExpansionSet { public final class FateReforged extends ExpansionSet {
@ -31,7 +30,7 @@ public final class FateReforged extends ExpansionSet {
super("Fate Reforged", "FRF", ExpansionSet.buildDate(2015, 1, 23), SetType.EXPANSION); super("Fate Reforged", "FRF", ExpansionSet.buildDate(2015, 1, 23), SetType.EXPANSION);
this.blockName = "Khans of Tarkir"; this.blockName = "Khans of Tarkir";
this.parentSet = KhansOfTarkir.getInstance(); this.parentSet = KhansOfTarkir.getInstance();
this.hasBasicLands = false; this.hasBasicLands = true;
this.hasBoosters = true; this.hasBoosters = true;
this.numBoosterSpecial = 1; this.numBoosterSpecial = 1;
this.numBoosterLands = 0; this.numBoosterLands = 0;
@ -40,6 +39,7 @@ public final class FateReforged extends ExpansionSet {
this.numBoosterRare = 1; this.numBoosterRare = 1;
this.numBoosterDoubleFaced = -1; this.numBoosterDoubleFaced = -1;
this.ratioBoosterMythic = 8; this.ratioBoosterMythic = 8;
cards.add(new SetCardInfo("Abzan Advantage", 2, Rarity.COMMON, mage.cards.a.AbzanAdvantage.class)); cards.add(new SetCardInfo("Abzan Advantage", 2, Rarity.COMMON, mage.cards.a.AbzanAdvantage.class));
cards.add(new SetCardInfo("Abzan Beastmaster", 119, Rarity.UNCOMMON, mage.cards.a.AbzanBeastmaster.class)); cards.add(new SetCardInfo("Abzan Beastmaster", 119, Rarity.UNCOMMON, mage.cards.a.AbzanBeastmaster.class));
cards.add(new SetCardInfo("Abzan Kin-Guard", 120, Rarity.UNCOMMON, mage.cards.a.AbzanKinGuard.class)); cards.add(new SetCardInfo("Abzan Kin-Guard", 120, Rarity.UNCOMMON, mage.cards.a.AbzanKinGuard.class));

View file

@ -19,7 +19,7 @@ public final class GrandPrixPromos extends ExpansionSet {
private GrandPrixPromos() { private GrandPrixPromos() {
super("Grand Prix Promos", "GPX", ExpansionSet.buildDate(2011, 6, 17), SetType.PROMOTIONAL); super("Grand Prix Promos", "GPX", ExpansionSet.buildDate(2011, 6, 17), SetType.PROMOTIONAL);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("All Is Dust", "2013b", Rarity.RARE, mage.cards.a.AllIsDust.class)); cards.add(new SetCardInfo("All Is Dust", "2013b", Rarity.RARE, mage.cards.a.AllIsDust.class));
cards.add(new SetCardInfo("Batterskull", 2014, Rarity.MYTHIC, mage.cards.b.Batterskull.class)); cards.add(new SetCardInfo("Batterskull", 2014, Rarity.MYTHIC, mage.cards.b.Batterskull.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author Saga * @author Saga
*/ */
public final class HASCONPromo2017 extends ExpansionSet { public final class HASCONPromo2017 extends ExpansionSet {
@ -19,6 +18,8 @@ public final class HASCONPromo2017 extends ExpansionSet {
private HASCONPromo2017() { private HASCONPromo2017() {
super("HASCON Promo 2017", "H17", ExpansionSet.buildDate(2017, 9, 8), SetType.JOKESET); super("HASCON Promo 2017", "H17", ExpansionSet.buildDate(2017, 9, 8), SetType.JOKESET);
this.hasBasicLands = false;
cards.add(new ExpansionSet.SetCardInfo("Grimlock, Dinobot Leader", "1a", Rarity.MYTHIC, mage.cards.g.GrimlockDinobotLeader.class)); cards.add(new ExpansionSet.SetCardInfo("Grimlock, Dinobot Leader", "1a", Rarity.MYTHIC, mage.cards.g.GrimlockDinobotLeader.class));
cards.add(new ExpansionSet.SetCardInfo("Grimlock, Ferocious King", "1b", Rarity.MYTHIC, mage.cards.g.GrimlockFerociousKing.class)); cards.add(new ExpansionSet.SetCardInfo("Grimlock, Ferocious King", "1b", Rarity.MYTHIC, mage.cards.g.GrimlockFerociousKing.class));
cards.add(new ExpansionSet.SetCardInfo("Sword of Dungeons & Dragons", 3, Rarity.MYTHIC, mage.cards.s.SwordOfDungeonsAndDragons.class)); cards.add(new ExpansionSet.SetCardInfo("Sword of Dungeons & Dragons", 3, Rarity.MYTHIC, mage.cards.s.SwordOfDungeonsAndDragons.class));

View file

@ -5,7 +5,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author spjspj * @author spjspj
*/ */
public final class HappyHolidays extends ExpansionSet { public final class HappyHolidays extends ExpansionSet {
@ -18,6 +17,7 @@ public final class HappyHolidays extends ExpansionSet {
private HappyHolidays() { private HappyHolidays() {
super("Happy Holidays", "HHO", ExpansionSet.buildDate(2006, 12, 31), SetType.JOKESET); super("Happy Holidays", "HHO", ExpansionSet.buildDate(2006, 12, 31), SetType.JOKESET);
this.hasBasicLands = false;
cards.add(new SetCardInfo("Fruitcake Elemental", 6, Rarity.RARE, mage.cards.f.FruitcakeElemental.class)); cards.add(new SetCardInfo("Fruitcake Elemental", 6, Rarity.RARE, mage.cards.f.FruitcakeElemental.class));
cards.add(new SetCardInfo("Season's Beatings", 9, Rarity.RARE, mage.cards.s.SeasonsBeatings.class)); cards.add(new SetCardInfo("Season's Beatings", 9, Rarity.RARE, mage.cards.s.SeasonsBeatings.class));

View file

@ -18,7 +18,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author LevelX2 * @author LevelX2
*/ */
public final class MastersEditionII extends ExpansionSet { public final class MastersEditionII extends ExpansionSet {
@ -31,13 +30,14 @@ public final class MastersEditionII extends ExpansionSet {
private MastersEditionII() { private MastersEditionII() {
super("Masters Edition II", "ME2", ExpansionSet.buildDate(2008, 9, 22), SetType.MAGIC_ONLINE); super("Masters Edition II", "ME2", ExpansionSet.buildDate(2008, 9, 22), SetType.MAGIC_ONLINE);
this.hasBasicLands = false; this.hasBasicLands = true;
this.hasBoosters = true; this.hasBoosters = true;
this.numBoosterLands = 1; this.numBoosterLands = 1;
this.numBoosterCommon = 10; this.numBoosterCommon = 10;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;
this.numBoosterRare = 1; this.numBoosterRare = 1;
this.ratioBoosterMythic = 0; this.ratioBoosterMythic = 0;
cards.add(new SetCardInfo("Aether Storm", 39, Rarity.UNCOMMON, mage.cards.a.AetherStorm.class)); cards.add(new SetCardInfo("Aether Storm", 39, Rarity.UNCOMMON, mage.cards.a.AetherStorm.class));
cards.add(new SetCardInfo("Abbey Gargoyles", 1, Rarity.UNCOMMON, mage.cards.a.AbbeyGargoyles.class)); cards.add(new SetCardInfo("Abbey Gargoyles", 1, Rarity.UNCOMMON, mage.cards.a.AbbeyGargoyles.class));
cards.add(new SetCardInfo("Adarkar Sentinel", 201, Rarity.COMMON, mage.cards.a.AdarkarSentinel.class)); cards.add(new SetCardInfo("Adarkar Sentinel", 201, Rarity.COMMON, mage.cards.a.AdarkarSentinel.class));

View file

@ -15,6 +15,7 @@ public final class NinthEditionBox extends ExpansionSet {
private NinthEditionBox() { private NinthEditionBox() {
super("Ninth Edition Box", "9EB", ExpansionSet.buildDate(2005, 7, 29), SetType.CORE); super("Ninth Edition Box", "9EB", ExpansionSet.buildDate(2005, 7, 29), SetType.CORE);
this.hasBoosters = false; this.hasBoosters = false;
cards.add(new SetCardInfo("Coral Eel", 3, Rarity.COMMON, mage.cards.c.CoralEel.class)); cards.add(new SetCardInfo("Coral Eel", 3, Rarity.COMMON, mage.cards.c.CoralEel.class));
cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class)); cards.add(new SetCardInfo("Eager Cadet", 1, Rarity.COMMON, mage.cards.e.EagerCadet.class));
cards.add(new SetCardInfo("Enormous Baloth", 9, Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class)); cards.add(new SetCardInfo("Enormous Baloth", 9, Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));

View file

@ -17,7 +17,6 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class OathOfTheGatewatch extends ExpansionSet { public final class OathOfTheGatewatch extends ExpansionSet {
@ -35,7 +34,7 @@ public final class OathOfTheGatewatch extends ExpansionSet {
this.blockName = "Battle for Zendikar"; this.blockName = "Battle for Zendikar";
this.parentSet = BattleForZendikar.getInstance(); this.parentSet = BattleForZendikar.getInstance();
this.hasBoosters = true; this.hasBoosters = true;
this.hasBasicLands = false; this.hasBasicLands = true;
this.numBoosterLands = 1; this.numBoosterLands = 1;
this.numBoosterCommon = 10; this.numBoosterCommon = 10;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;

View file

@ -19,7 +19,7 @@ public final class PremiumDeckSeriesFireAndLightning extends ExpansionSet {
private PremiumDeckSeriesFireAndLightning() { private PremiumDeckSeriesFireAndLightning() {
super("Premium Deck Series: Fire and Lightning", "PD2", ExpansionSet.buildDate(2010, 11, 1), super("Premium Deck Series: Fire and Lightning", "PD2", ExpansionSet.buildDate(2010, 11, 1),
SetType.SUPPLEMENTAL); SetType.SUPPLEMENTAL);
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Ball Lightning", 12, Rarity.RARE, mage.cards.b.BallLightning.class)); cards.add(new SetCardInfo("Ball Lightning", 12, Rarity.RARE, mage.cards.b.BallLightning.class));
cards.add(new SetCardInfo("Barbarian Ring", 28, Rarity.UNCOMMON, mage.cards.b.BarbarianRing.class)); cards.add(new SetCardInfo("Barbarian Ring", 28, Rarity.UNCOMMON, mage.cards.b.BarbarianRing.class));

View file

@ -18,7 +18,7 @@ public final class PremiumDeckSeriesGraveborn extends ExpansionSet {
private PremiumDeckSeriesGraveborn() { private PremiumDeckSeriesGraveborn() {
super("Premium Deck Series: Graveborn", "PD3", ExpansionSet.buildDate(2011, 11, 1), SetType.SUPPLEMENTAL); super("Premium Deck Series: Graveborn", "PD3", ExpansionSet.buildDate(2011, 11, 1), SetType.SUPPLEMENTAL);
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Animate Dead", 16, Rarity.UNCOMMON, mage.cards.a.AnimateDead.class)); cards.add(new SetCardInfo("Animate Dead", 16, Rarity.UNCOMMON, mage.cards.a.AnimateDead.class));
cards.add(new SetCardInfo("Avatar of Woe", 6, Rarity.RARE, mage.cards.a.AvatarOfWoe.class)); cards.add(new SetCardInfo("Avatar of Woe", 6, Rarity.RARE, mage.cards.a.AvatarOfWoe.class));

View file

@ -18,7 +18,7 @@ public final class PremiumDeckSeriesSlivers extends ExpansionSet {
private PremiumDeckSeriesSlivers() { private PremiumDeckSeriesSlivers() {
super("Premium Deck Series: Slivers", "H09", ExpansionSet.buildDate(2009, 11, 1), SetType.SUPPLEMENTAL); super("Premium Deck Series: Slivers", "H09", ExpansionSet.buildDate(2009, 11, 1), SetType.SUPPLEMENTAL);
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Acidic Sliver", 13, Rarity.UNCOMMON, mage.cards.a.AcidicSliver.class)); cards.add(new SetCardInfo("Acidic Sliver", 13, Rarity.UNCOMMON, mage.cards.a.AcidicSliver.class));
cards.add(new SetCardInfo("Amoeboid Changeling", 3, Rarity.COMMON, mage.cards.a.AmoeboidChangeling.class)); cards.add(new SetCardInfo("Amoeboid Changeling", 3, Rarity.COMMON, mage.cards.a.AmoeboidChangeling.class));

View file

@ -15,7 +15,8 @@ public final class PrereleaseEvents extends ExpansionSet {
private PrereleaseEvents() { private PrereleaseEvents() {
super("Prerelease Events", "PTC", ExpansionSet.buildDate(1990, 1, 1), SetType.PROMOTIONAL); super("Prerelease Events", "PTC", ExpansionSet.buildDate(1990, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false; this.hasBasicLands = true;
cards.add(new SetCardInfo("Abbot of Keral Keep", 198, Rarity.RARE, mage.cards.a.AbbotOfKeralKeep.class)); cards.add(new SetCardInfo("Abbot of Keral Keep", 198, Rarity.RARE, mage.cards.a.AbbotOfKeralKeep.class));
cards.add(new SetCardInfo("Abhorrent Overlord", 70, Rarity.SPECIAL, mage.cards.a.AbhorrentOverlord.class)); cards.add(new SetCardInfo("Abhorrent Overlord", 70, Rarity.SPECIAL, mage.cards.a.AbhorrentOverlord.class));
cards.add(new SetCardInfo("Abzan Ascendancy", 88, Rarity.SPECIAL, mage.cards.a.AbzanAscendancy.class)); cards.add(new SetCardInfo("Abzan Ascendancy", 88, Rarity.SPECIAL, mage.cards.a.AbzanAscendancy.class));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class RivalsOfIxalan extends ExpansionSet { public final class RivalsOfIxalan extends ExpansionSet {
@ -22,7 +21,7 @@ public final class RivalsOfIxalan extends ExpansionSet {
this.blockName = "Ixalan"; this.blockName = "Ixalan";
this.parentSet = Ixalan.getInstance(); this.parentSet = Ixalan.getInstance();
this.hasBoosters = true; this.hasBoosters = true;
this.hasBasicLands = false; this.hasBasicLands = true;
this.numBoosterLands = 0; this.numBoosterLands = 0;
this.numBoosterCommon = 11; this.numBoosterCommon = 11;
this.numBoosterUncommon = 3; this.numBoosterUncommon = 3;

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class SuperSeries extends ExpansionSet { public final class SuperSeries extends ExpansionSet {
@ -20,6 +19,8 @@ public final class SuperSeries extends ExpansionSet {
private SuperSeries() { private SuperSeries() {
super("Super Series", "SUS", ExpansionSet.buildDate(1996, 1, 1), SetType.PROMOTIONAL); super("Super Series", "SUS", ExpansionSet.buildDate(1996, 1, 1), SetType.PROMOTIONAL);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("City of Brass", 6, Rarity.SPECIAL, mage.cards.c.CityOfBrass.class)); cards.add(new SetCardInfo("City of Brass", 6, Rarity.SPECIAL, mage.cards.c.CityOfBrass.class));
cards.add(new SetCardInfo("Crusade", 4, Rarity.SPECIAL, mage.cards.c.Crusade.class)); cards.add(new SetCardInfo("Crusade", 4, Rarity.SPECIAL, mage.cards.c.Crusade.class));
cards.add(new SetCardInfo("Elvish Champion", 17, Rarity.SPECIAL, mage.cards.e.ElvishChampion.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Elvish Champion", 17, Rarity.SPECIAL, mage.cards.e.ElvishChampion.class, NON_FULL_USE_VARIOUS));

View file

@ -6,7 +6,6 @@ import mage.constants.Rarity;
import mage.constants.SetType; import mage.constants.SetType;
/** /**
*
* @author fireshoes * @author fireshoes
*/ */
public final class UginsFate extends ExpansionSet { public final class UginsFate extends ExpansionSet {
@ -20,6 +19,8 @@ public final class UginsFate extends ExpansionSet {
private UginsFate() { private UginsFate() {
super("Ugin's Fate", "UGIN", ExpansionSet.buildDate(2015, 1, 16), SetType.PROMOTIONAL); super("Ugin's Fate", "UGIN", ExpansionSet.buildDate(2015, 1, 16), SetType.PROMOTIONAL);
this.hasBoosters = false; this.hasBoosters = false;
this.hasBasicLands = false;
cards.add(new SetCardInfo("Ainok Tracker", 96, Rarity.COMMON, mage.cards.a.AinokTracker.class)); cards.add(new SetCardInfo("Ainok Tracker", 96, Rarity.COMMON, mage.cards.a.AinokTracker.class));
cards.add(new SetCardInfo("Altar of the Brood", 216, Rarity.RARE, mage.cards.a.AltarOfTheBrood.class)); cards.add(new SetCardInfo("Altar of the Brood", 216, Rarity.RARE, mage.cards.a.AltarOfTheBrood.class));
cards.add(new SetCardInfo("Arashin War Beast", 123, Rarity.UNCOMMON, mage.cards.a.ArashinWarBeast.class)); cards.add(new SetCardInfo("Arashin War Beast", 123, Rarity.UNCOMMON, mage.cards.a.ArashinWarBeast.class));

View file

@ -88,6 +88,8 @@ public abstract class ExpansionSet implements Serializable {
protected Date releaseDate; protected Date releaseDate;
protected ExpansionSet parentSet; protected ExpansionSet parentSet;
protected SetType setType; protected SetType setType;
// TODO: 03.10.2018, hasBasicLands can be removed someday -- it's uses to optimize lands search in deck generation and lands adding (search all available lands from sets)
protected boolean hasBasicLands = true; protected boolean hasBasicLands = true;
protected String blockName; protected String blockName;
@ -559,6 +561,7 @@ public abstract class ExpansionSet implements Serializable {
if (savedCardsInfos == null) { if (savedCardsInfos == null) {
CardCriteria criteria = new CardCriteria(); CardCriteria criteria = new CardCriteria();
if (rarity == Rarity.LAND) { if (rarity == Rarity.LAND) {
// get basic lands from parent set if current haven't it
criteria.setCodes(!hasBasicLands && parentSet != null ? parentSet.code : this.code); criteria.setCodes(!hasBasicLands && parentSet != null ? parentSet.code : this.code);
} else { } else {
criteria.setCodes(this.code); criteria.setCodes(this.code);