mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
Sets refactor:
* Duels of the Planeswalkers Promos set split to multiple sets (scryfall style); * Fixed Masterpiece Series sets name;
This commit is contained in:
parent
7599acf1c8
commit
735588cc0d
19 changed files with 268 additions and 177 deletions
|
@ -1509,6 +1509,8 @@ public class DragCardGrid extends JPanel implements DragCardSource, DragCardTarg
|
|||
Map<CardView, Integer> pimpedCards = new HashMap<>();
|
||||
pimpedSets.put("PCMP", 1);
|
||||
pimpedSets.put("MPS", 1);
|
||||
pimpedSets.put("MP2", 1);
|
||||
pimpedSets.put("EXP", 1);
|
||||
pimpedSets.put("CP1", 1);
|
||||
pimpedSets.put("CP2", 1);
|
||||
pimpedSets.put("CP3", 1);
|
||||
|
|
|
@ -63,7 +63,7 @@ public class GathererSets implements Iterable<DownloadJob> {
|
|||
"W16", "W17",
|
||||
// "PALP" -- Gatherer does not have the set Asia Pacific Land Program
|
||||
// "ATH" -- has cards from many sets, symbol does not exist on gatherer
|
||||
// "CP", "DPA", "PELP", "PGPX", "PGRU", "H17", "JR", "PPRE", "SWS", "WMCQ", // need to fix
|
||||
// "CP", "DPA", "PELP", "PGPX", "PGRU", "H17", "JR", "PPRE", "SWS", // need to fix
|
||||
"H09", "PD2", "PD3", "UNH", "CM1", "V11", "A25", "UST", "IMA", "DD2", "EVG", "DDC", "DDE", "DDD", "8EB", "9EB", "CHR", "G18", "GVL", "S00", "S99", "UGL" // ok
|
||||
// current testing
|
||||
};
|
||||
|
|
|
@ -18,7 +18,6 @@ public class ScryfallImageSupportCards {
|
|||
//put("xmage", "scryfall").
|
||||
build();
|
||||
|
||||
|
||||
private static final Set<String> supportedSets = new ArraySet<String>() {
|
||||
{
|
||||
// Sorted by release date, as listed on Scryfall
|
||||
|
@ -57,7 +56,7 @@ public class ScryfallImageSupportCards {
|
|||
add("ITP"); // Introductory Two-Player Set
|
||||
add("VIS"); // Visions
|
||||
add("5ED"); // Fifth Edition
|
||||
add("PVAN"); // Vanguard Series
|
||||
//add("PVAN"); // Vanguard Series
|
||||
add("PPOD"); // Portal Demo Game
|
||||
add("POR"); // Portal
|
||||
add("WTH"); // Weatherlight
|
||||
|
@ -105,7 +104,7 @@ public class ScryfallImageSupportCards {
|
|||
add("ODY"); // Odyssey
|
||||
add("DKM"); // Deckmasters
|
||||
add("PAL02"); // Arena League 2002
|
||||
add("PR2"); // Magic Player Rewards 2002
|
||||
//add("PR2"); // Magic Player Rewards 2002
|
||||
add("G02"); // Judge Gift Cards 2002
|
||||
add("F02"); // Friday Night Magic 2002
|
||||
add("TOR"); // Torment
|
||||
|
@ -113,7 +112,7 @@ public class ScryfallImageSupportCards {
|
|||
//add("PHJ"); // Hobby Japan Promos
|
||||
add("WC02"); // World Championship Decks 2002
|
||||
add("ONS"); // Onslaught
|
||||
add("PMOA"); // Magic Online Avatars
|
||||
//add("PMOA"); // Magic Online Avatars
|
||||
add("PAL03"); // Arena League 2003
|
||||
add("P03"); // Magic Player Rewards 2003
|
||||
add("G03"); // Judge Gift Cards 2003
|
||||
|
@ -121,6 +120,7 @@ public class ScryfallImageSupportCards {
|
|||
add("LGN"); // Legions
|
||||
add("SCG"); // Scourge
|
||||
add("8ED"); // Eighth Edition
|
||||
add("8EB"); // Eighth Edition Box
|
||||
add("WC03"); // World Championship Decks 2003
|
||||
add("MRD"); // Mirrodin
|
||||
add("PAL04"); // Arena League 2004
|
||||
|
@ -140,6 +140,7 @@ public class ScryfallImageSupportCards {
|
|||
add("BOK"); // Betrayers of Kamigawa
|
||||
add("SOK"); // Saviors of Kamigawa
|
||||
add("9ED"); // Ninth Edition
|
||||
add("9EB"); // Ninth Edition Box
|
||||
//add("PSAL"); // Salvat 2005
|
||||
add("RAV"); // Ravnica: City of Guilds
|
||||
add("P2HG"); // Two-Headed Giant Tournament
|
||||
|
@ -296,7 +297,7 @@ public class ScryfallImageSupportCards {
|
|||
add("J14"); // Judge Gift Cards 2014
|
||||
add("F14"); // Friday Night Magic 2014
|
||||
add("PBNG"); // Born of the Gods Promos
|
||||
add("THP2"); // Born of the Gods Hero's Path
|
||||
//add("THP2"); // Born of the Gods Hero's Path
|
||||
add("BNG"); // Born of the Gods
|
||||
add("DDM"); // Duel Decks: Jace vs. Vraska
|
||||
add("PJOU"); // Journey into Nyx Promos
|
||||
|
@ -306,7 +307,7 @@ public class ScryfallImageSupportCards {
|
|||
add("CNS"); // Conspiracy
|
||||
add("VMA"); // Vintage Masters
|
||||
add("PS14"); // San Diego Comic-Con 2014
|
||||
add("PPC1"); // M15 Prerelease Challenge
|
||||
//add("PPC1"); // M15 Prerelease Challenge
|
||||
add("PM15"); // Magic 2015 Promos
|
||||
add("M15"); // Magic 2015
|
||||
add("CP1"); // Magic 2015 Clash Pack
|
||||
|
@ -472,27 +473,16 @@ public class ScryfallImageSupportCards {
|
|||
//add("SS3"); // Signature Spellbook: Chandra
|
||||
add("HA3"); // Historic Anthology 3
|
||||
|
||||
// TODO: DuelsOfThePlaneswalkersPromos
|
||||
add("DPAP");
|
||||
//
|
||||
// add("TD0"); // Commander Theme Decks
|
||||
// add("TD2"); // Duel Decks: Mirrodin Pure vs. New Phyrexia
|
||||
// add("MD1"); // Modern Event Deck
|
||||
// add("DD3"); // Duel Decks Anthology
|
||||
// add("PZ1"); // Legendary Cube
|
||||
// add("PZ2");
|
||||
add("WMCQ");
|
||||
add("MEDM");
|
||||
add("IKO");
|
||||
add("C20");
|
||||
add("IKO"); // Ikoria: Lair of Behemoths
|
||||
add("C20"); // Commander 2020 Edition
|
||||
//
|
||||
add("MPS-AKH");
|
||||
add("M21");
|
||||
add("JMP");
|
||||
|
||||
//
|
||||
add("8EB"); // Eighth Edition Box
|
||||
add("9EB"); // Ninth Edition Box
|
||||
add("M21"); // Core Set 2021
|
||||
add("JMP"); // Jumpstart
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -525,28 +515,6 @@ public class ScryfallImageSupportCards {
|
|||
put("PAL99/Island/3+", "https://api.scryfall.com/cards/pal99/3†/");
|
||||
put("PSOI/Tamiyo's Journal/265s+", "https://api.scryfall.com/cards/psoi/265s†/");
|
||||
|
||||
// Duels of the Planeswalkers Promos -- xmage uses one set (DPAP), but scryfall store it by years
|
||||
// 2009 - https://scryfall.com/sets/pdtp
|
||||
put("DPAP/Garruk Wildspeaker", "https://api.scryfall.com/cards/pdtp/1/");
|
||||
// 2010 - https://scryfall.com/sets/pdp10
|
||||
put("DPAP/Liliana Vess", "https://api.scryfall.com/cards/pdp10/1/");
|
||||
put("DPAP/Nissa Revane", "https://api.scryfall.com/cards/pdp10/2/");
|
||||
// 2011 - https://scryfall.com/sets/pdp11
|
||||
put("DPAP/Frost Titan", "https://api.scryfall.com/cards/pdp11/1/");
|
||||
put("DPAP/Grave Titan", "https://api.scryfall.com/cards/pdp11/2/");
|
||||
put("DPAP/Inferno Titan", "https://api.scryfall.com/cards/pdp11/3/");
|
||||
// 2012 - https://scryfall.com/sets/pdp12
|
||||
put("DPAP/Primordial Hydra", "https://api.scryfall.com/cards/pdp12/1/");
|
||||
put("DPAP/Serra Avatar", "https://api.scryfall.com/cards/pdp12/2/");
|
||||
put("DPAP/Vampire Nocturnus", "https://api.scryfall.com/cards/pdp12/3/");
|
||||
// 2013 - https://scryfall.com/sets/pdp13
|
||||
put("DPAP/Bonescythe Sliver", "https://api.scryfall.com/cards/pdp13/1/");
|
||||
put("DPAP/Ogre Battledriver", "https://api.scryfall.com/cards/pdp13/2/");
|
||||
put("DPAP/Scavenging Ooze", "https://api.scryfall.com/cards/pdp13/3/");
|
||||
// 2014 - https://scryfall.com/sets/pdp14
|
||||
put("DPAP/Soul of Ravnica", "https://api.scryfall.com/cards/pdp14/1/");
|
||||
put("DPAP/Soul of Zendikar", "https://api.scryfall.com/cards/pdp14/2/");
|
||||
|
||||
// 8th Edition box set and 9th Edition box set
|
||||
// scryfall stores it with one set, by xmage split into two -- 8ED and 8EB, 9ED and 9EB
|
||||
put("8EB/Eager Cadet", "https://api.scryfall.com/cards/8ed/S1");
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#|Generate|TOK:PPRE|Soldier||
|
||||
#|Generate|TOK:PPRE|Wolf||
|
||||
#|Generate|TOK:PPRE|Wurm||
|
||||
#|Generate|TOK:WMCQ|Angel||
|
||||
|
||||
# Emblems
|
||||
|Generate|EMBLEM!:BFZ|Emblem Gideon|||GideonAllyOfZendikarEmblem|
|
||||
|
|
|
@ -6,19 +6,20 @@ import mage.constants.Rarity;
|
|||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/mp2
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class MasterpieceSeriesAmonkhet extends ExpansionSet {
|
||||
public final class AmonkhetInvocations extends ExpansionSet {
|
||||
|
||||
private static final MasterpieceSeriesAmonkhet instance = new MasterpieceSeriesAmonkhet();
|
||||
private static final AmonkhetInvocations instance = new AmonkhetInvocations();
|
||||
|
||||
public static MasterpieceSeriesAmonkhet getInstance() {
|
||||
public static AmonkhetInvocations getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private MasterpieceSeriesAmonkhet() {
|
||||
super("Masterpiece Series Amonkhet", "MP2", ExpansionSet.buildDate(2017, 4, 28), SetType.PROMOTIONAL);
|
||||
private AmonkhetInvocations() {
|
||||
super("Amonkhet Invocations", "MP2", ExpansionSet.buildDate(2017, 4, 28), SetType.PROMOTIONAL);
|
||||
this.blockName = "Masterpiece Series";
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
|
@ -343,7 +343,7 @@ public final class BattleForZendikar extends ExpansionSet {
|
|||
CardCriteria criteria = new CardCriteria();
|
||||
criteria.setCodes("EXP");
|
||||
criteria.minCardNumber(1);
|
||||
criteria.maxCardNumber(25);
|
||||
criteria.maxCardNumber(45);
|
||||
savedSpecialLand.addAll(CardRepository.instance.findCards(criteria));
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdtp
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2009Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2009Promos instance = new DuelsOfThePlaneswalkers2009Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2009Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2009Promos() {
|
||||
super("Duels of the Planeswalkers 2009 Promos", "PDTP", ExpansionSet.buildDate(2009, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Garruk Wildspeaker", 1, Rarity.MYTHIC, mage.cards.g.GarrukWildspeaker.class));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdp10
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2010Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2010Promos instance = new DuelsOfThePlaneswalkers2010Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2010Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2010Promos() {
|
||||
super("Duels of the Planeswalkers 2010 Promos", "PDP10", ExpansionSet.buildDate(2010, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Liliana Vess", 1, Rarity.MYTHIC, mage.cards.l.LilianaVess.class));
|
||||
cards.add(new SetCardInfo("Nissa Revane", 2, Rarity.MYTHIC, mage.cards.n.NissaRevane.class));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdp11
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2011Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2011Promos instance = new DuelsOfThePlaneswalkers2011Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2011Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2011Promos() {
|
||||
super("Duels of the Planeswalkers 2011 Promos", "PDP11", ExpansionSet.buildDate(2011, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Frost Titan", 1, Rarity.MYTHIC, mage.cards.f.FrostTitan.class));
|
||||
cards.add(new SetCardInfo("Grave Titan", 2, Rarity.MYTHIC, mage.cards.g.GraveTitan.class));
|
||||
cards.add(new SetCardInfo("Inferno Titan", 3, Rarity.MYTHIC, mage.cards.i.InfernoTitan.class));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdp12
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2012Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2012Promos instance = new DuelsOfThePlaneswalkers2012Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2012Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2012Promos() {
|
||||
super("Duels of the Planeswalkers 2012 Promos", "PDP12", ExpansionSet.buildDate(2012, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Primordial Hydra", 1, Rarity.MYTHIC, mage.cards.p.PrimordialHydra.class));
|
||||
cards.add(new SetCardInfo("Serra Avatar", 2, Rarity.MYTHIC, mage.cards.s.SerraAvatar.class));
|
||||
cards.add(new SetCardInfo("Vampire Nocturnus", 3, Rarity.MYTHIC, mage.cards.v.VampireNocturnus.class));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdp13
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2013Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2013Promos instance = new DuelsOfThePlaneswalkers2013Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2013Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2013Promos() {
|
||||
super("Duels of the Planeswalkers 2013 Promos", "PDP13", ExpansionSet.buildDate(2013, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Bonescythe Sliver", 10, Rarity.RARE, mage.cards.b.BonescytheSliver.class));
|
||||
cards.add(new SetCardInfo("Ogre Battledriver", 11, Rarity.RARE, mage.cards.o.OgreBattledriver.class));
|
||||
cards.add(new SetCardInfo("Scavenging Ooze", 12, Rarity.RARE, mage.cards.s.ScavengingOoze.class));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/pdp14
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkers2014Promos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkers2014Promos instance = new DuelsOfThePlaneswalkers2014Promos();
|
||||
|
||||
public static DuelsOfThePlaneswalkers2014Promos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkers2014Promos() {
|
||||
super("Duels of the Planeswalkers 2014 Promos", "PDP14", ExpansionSet.buildDate(2014, 1, 1), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Soul of Ravnica", 1, Rarity.MYTHIC, mage.cards.s.SoulOfRavnica.class));
|
||||
cards.add(new SetCardInfo("Soul of Zendikar", 1, Rarity.MYTHIC, mage.cards.s.SoulOfZendikar.class));
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JayDi85
|
||||
*/
|
||||
public final class DuelsOfThePlaneswalkersPromos extends ExpansionSet {
|
||||
|
||||
private static final DuelsOfThePlaneswalkersPromos instance = new DuelsOfThePlaneswalkersPromos();
|
||||
|
||||
public static DuelsOfThePlaneswalkersPromos getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private DuelsOfThePlaneswalkersPromos() {
|
||||
super("Duels of the Planeswalkers Promos", "DPAP", ExpansionSet.buildDate(2010, 6, 4), SetType.PROMOTIONAL);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
// all promos in one inner set (2009 - 2014)
|
||||
// cards numbers must be unqiue
|
||||
// use replacement list for scryfall download
|
||||
|
||||
// 2009 - https://scryfall.com/sets/pdtp
|
||||
cards.add(new SetCardInfo("Garruk Wildspeaker", 1, Rarity.MYTHIC, mage.cards.g.GarrukWildspeaker.class));
|
||||
|
||||
// 2010 - https://scryfall.com/sets/pdp10
|
||||
cards.add(new SetCardInfo("Liliana Vess", 2, Rarity.MYTHIC, mage.cards.l.LilianaVess.class));
|
||||
cards.add(new SetCardInfo("Nissa Revane", 3, Rarity.MYTHIC, mage.cards.n.NissaRevane.class));
|
||||
|
||||
// 2011 - https://scryfall.com/sets/pdp11
|
||||
cards.add(new SetCardInfo("Frost Titan", 4, Rarity.MYTHIC, mage.cards.f.FrostTitan.class));
|
||||
cards.add(new SetCardInfo("Grave Titan", 5, Rarity.MYTHIC, mage.cards.g.GraveTitan.class));
|
||||
cards.add(new SetCardInfo("Inferno Titan", 6, Rarity.MYTHIC, mage.cards.i.InfernoTitan.class));
|
||||
|
||||
// 2012 - https://scryfall.com/sets/pdp12
|
||||
cards.add(new SetCardInfo("Primordial Hydra", 7, Rarity.MYTHIC, mage.cards.p.PrimordialHydra.class));
|
||||
cards.add(new SetCardInfo("Serra Avatar", 8, Rarity.MYTHIC, mage.cards.s.SerraAvatar.class));
|
||||
cards.add(new SetCardInfo("Vampire Nocturnus", 9, Rarity.MYTHIC, mage.cards.v.VampireNocturnus.class));
|
||||
|
||||
// 2013 - https://scryfall.com/sets/pdp13
|
||||
cards.add(new SetCardInfo("Bonescythe Sliver", 10, Rarity.RARE, mage.cards.b.BonescytheSliver.class));
|
||||
cards.add(new SetCardInfo("Ogre Battledriver", 11, Rarity.RARE, mage.cards.o.OgreBattledriver.class));
|
||||
cards.add(new SetCardInfo("Scavenging Ooze", 12, Rarity.RARE, mage.cards.s.ScavengingOoze.class));
|
||||
|
||||
// 2014 - https://scryfall.com/sets/pdp14
|
||||
cards.add(new SetCardInfo("Soul of Ravnica", 13, Rarity.MYTHIC, mage.cards.s.SoulOfRavnica.class));
|
||||
cards.add(new SetCardInfo("Soul of Zendikar", 14, Rarity.MYTHIC, mage.cards.s.SoulOfZendikar.class));
|
||||
}
|
||||
}
|
|
@ -253,7 +253,7 @@ public final class HourOfDevastation extends ExpansionSet {
|
|||
public List<CardInfo> getSpecialLand() {
|
||||
if (savedSpecialLand.isEmpty()) {
|
||||
CardCriteria criteria = new CardCriteria();
|
||||
criteria.setCodes("MPS-AKH");
|
||||
criteria.setCodes("MP2");
|
||||
criteria.minCardNumber(31);
|
||||
criteria.maxCardNumber(54);
|
||||
savedSpecialLand.addAll(CardRepository.instance.findCards(criteria));
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.CardGraphicInfo;
|
||||
|
@ -8,23 +7,26 @@ import mage.constants.Rarity;
|
|||
import mage.constants.SetType;
|
||||
|
||||
/**
|
||||
* https://scryfall.com/sets/mps
|
||||
*
|
||||
* @author fireshoes
|
||||
*/
|
||||
public final class MasterpieceSeries extends ExpansionSet {
|
||||
public final class KaladeshInventions extends ExpansionSet {
|
||||
|
||||
private static final MasterpieceSeries instance = new MasterpieceSeries();
|
||||
private static final KaladeshInventions instance = new KaladeshInventions();
|
||||
|
||||
public static MasterpieceSeries getInstance() {
|
||||
public static KaladeshInventions getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private MasterpieceSeries() {
|
||||
super("Masterpiece Series", "MPS", ExpansionSet.buildDate(2016, 9, 30), SetType.PROMOTIONAL);
|
||||
private KaladeshInventions() {
|
||||
super("Kaladesh Inventions", "MPS", ExpansionSet.buildDate(2016, 9, 30), SetType.PROMOTIONAL);
|
||||
this.blockName = "Masterpiece Series";
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
CardGraphicInfo cardGraphicInfo = new CardGraphicInfo(FrameStyle.KLD_INVENTION, false);
|
||||
|
||||
cards.add(new SetCardInfo("Aether Vial", 6, Rarity.MYTHIC, mage.cards.a.AetherVial.class, cardGraphicInfo));
|
||||
cards.add(new SetCardInfo("Arcbound Ravager", 31, Rarity.MYTHIC, mage.cards.a.ArcboundRavager.class, cardGraphicInfo));
|
||||
cards.add(new SetCardInfo("Black Vise", 32, Rarity.MYTHIC, mage.cards.b.BlackVise.class, cardGraphicInfo));
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
|
@ -19,8 +18,10 @@ public final class ZendikarExpeditions extends ExpansionSet {
|
|||
|
||||
private ZendikarExpeditions() {
|
||||
super("Zendikar Expeditions", "EXP", ExpansionSet.buildDate(2015, 10, 2), SetType.PROMOTIONAL);
|
||||
this.blockName = "Masterpiece Series";
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Ancient Tomb", 36, Rarity.MYTHIC, mage.cards.a.AncientTomb.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Arid Mesa", 24, Rarity.MYTHIC, mage.cards.a.AridMesa.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Blood Crypt", 8, Rarity.MYTHIC, mage.cards.b.BloodCrypt.class, FULL_ART_BFZ_VARIOUS));
|
||||
|
|
|
@ -41,7 +41,6 @@ public final class MtgJson {
|
|||
mtgJsonToXMageCodes.put("DD3_EVG", "EVG");
|
||||
mtgJsonToXMageCodes.put("DD3_DVD", "DDC");
|
||||
mtgJsonToXMageCodes.put("NMS", "NEM");
|
||||
mtgJsonToXMageCodes.put("MPS_AKH", "MPS-AKH");
|
||||
mtgJsonToXMageCodes.put("FRF_UGIN", "UGIN");
|
||||
|
||||
// revert search
|
||||
|
|
|
@ -89,7 +89,7 @@ public class VerifyCardDataTest {
|
|||
private static final String SKIP_LIST_NUMBER = "NUMBER";
|
||||
private static final String SKIP_LIST_MISSING_ABILITIES = "MISSING_ABILITIES";
|
||||
private static final String SKIP_LIST_DOUBLE_RARE = "DOUBLE_RARE";
|
||||
private static final String SKIP_LIST_INVALID_SETS = "INVALID_SETS";
|
||||
private static final String SKIP_LIST_UNSUPPORTED_SETS = "UNSUPPORTED_SETS";
|
||||
private static final String SKIP_LIST_SCRYFALL_DOWNLOAD_SETS = "SCRYFALL_DOWNLOAD_SETS";
|
||||
|
||||
static {
|
||||
|
@ -135,68 +135,76 @@ public class VerifyCardDataTest {
|
|||
// double rare cards
|
||||
skipListCreate(SKIP_LIST_DOUBLE_RARE);
|
||||
|
||||
// Non-English or empty sets: Token sets, Archenemy Schemes, Plane-Chase Planes, etc.
|
||||
skipListCreate(SKIP_LIST_INVALID_SETS);
|
||||
// Un-supported sets (mtgjson/scryfall contains that set but xmage don't implement it)
|
||||
// Example: Non-English or empty sets: Token sets, Archenemy Schemes, Plane-Chase Planes, etc.
|
||||
skipListCreate(SKIP_LIST_UNSUPPORTED_SETS);
|
||||
//
|
||||
// Non-English-only sets should not be added. https://github.com/magefree/mage/pull/6190#issuecomment-582354790
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "4BB"); // 4th Edition Foreign black border.
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "FBB"); // Foreign Black Border. Not on Scryfall, but other sources use this to distinguish non-English Revised cards
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PHJ"); // Hobby Japan Promos
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PJJT"); // Japan Junior Tournament
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PRED"); // Redemption Program
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PSAL"); // Salvat 2005
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PS11"); // Salvat 2011
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS"); // Magic Premiere Shop 2005, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS06"); // Magic Premiere Shop 2006, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS07"); // Magic Premiere Shop 2007, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS08"); // Magic Premiere Shop 2008, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS09"); // Magic Premiere Shop 2009, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS10"); // Magic Premiere Shop 2010, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMPS11"); // Magic Premiere Shop 2011, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "REN"); // Renaissance
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "RIN"); // Rinascimento
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "4BB"); // 4th Edition Foreign black border.
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "FBB"); // Foreign Black Border. Not on Scryfall, but other sources use this to distinguish non-English Revised cards
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PHJ"); // Hobby Japan Promos
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PJJT"); // Japan Junior Tournament
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PRED"); // Redemption Program
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PSAL"); // Salvat 2005
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PS11"); // Salvat 2011
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS"); // Magic Premiere Shop 2005, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS06"); // Magic Premiere Shop 2006, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS07"); // Magic Premiere Shop 2007, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS08"); // Magic Premiere Shop 2008, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS09"); // Magic Premiere Shop 2009, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS10"); // Magic Premiere Shop 2010, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMPS11"); // Magic Premiere Shop 2011, Japanese Basic lands
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "REN"); // Renaissance
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "RIN"); // Rinascimento
|
||||
//
|
||||
// Archenemy Schemes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OARC"); // Archenemy Schemes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OE01"); // Archenemy: Nicol Bolas Schemes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PARC"); // Promotional Schemes
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OARC"); // Archenemy Schemes
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OE01"); // Archenemy: Nicol Bolas Schemes
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PARC"); // Promotional Schemes
|
||||
//
|
||||
// Plane-chase Planes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OHOP"); // Planechase Planes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OPC2"); // Planechase 2012 Plane
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OPCA"); // Planechase Anthology Planes
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PHOP"); // Promotional Planes
|
||||
// Token sets
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L12"); // League Tokens 2012
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L13"); // League Tokens 2013
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L14"); // League Tokens 2014
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L15"); // League Tokens 2015
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L16"); // League Tokens 2016
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "L17"); // League Tokens 2017
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PLNY"); // 2018 Lunar New Year
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "F18"); // Friday Night Magic 2018
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PR2"); // Magic Player Rewards 2002
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OHOP"); // Planechase Planes
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OPC2"); // Planechase 2012 Plane
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OPCA"); // Planechase Anthology Planes
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PHOP"); // Promotional Planes
|
||||
//
|
||||
// Token sets TODO: implement tokens only sets
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L12"); // League Tokens 2012
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L13"); // League Tokens 2013
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L14"); // League Tokens 2014
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L15"); // League Tokens 2015
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L16"); // League Tokens 2016
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "L17"); // League Tokens 2017
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PLNY"); // 2018 Lunar New Year
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "F18"); // Friday Night Magic 2018
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PR2"); // Magic Player Rewards 2002
|
||||
//
|
||||
// PvE sets containing non-traditional cards. These enable casual PvE battles against a "random AI"-driven opponent.
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PPC1"); // M15 Prerelease Challenge
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "TBTH"); // Battle the Horde
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "TDAG"); // Defeat a God
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "TFTH"); // Face the Hydra
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "THP1"); // Theros Hero's Path
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "THP2"); // Born of the Gods Hero's Path
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "THP3"); // Journey into Nyx Hero's Path
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PPC1"); // M15 Prerelease Challenge
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "TBTH"); // Battle the Horde
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "TDAG"); // Defeat a God
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "TFTH"); // Face the Hydra
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "THP1"); // Theros Hero's Path
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "THP2"); // Born of the Gods Hero's Path
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "THP3"); // Journey into Nyx Hero's Path
|
||||
//
|
||||
// Commander Oversized cards.
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OCMD"); // Commander 2011 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC13"); // Commander 2013 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC14"); // Commander 2014 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC15"); // Commander 2015 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC16"); // Commander 2016 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC17"); // Commander 2017 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC18"); // Commander 2018 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OC19"); // Commander 2019 Oversized
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "OCM1"); // Commander's Arsenal Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OCMD"); // Commander 2011 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC13"); // Commander 2013 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC14"); // Commander 2014 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC15"); // Commander 2015 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC16"); // Commander 2016 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC17"); // Commander 2017 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC18"); // Commander 2018 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OC19"); // Commander 2019 Oversized
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "OCM1"); // Commander's Arsenal Oversized
|
||||
//
|
||||
// Other
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PCEL"); // Celebration Cards
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PMOA"); // Magic Online Avatar
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PVAN"); // Vanguard Series
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "AMH1"); // Modern Horizons Art Series
|
||||
skipListAddName(SKIP_LIST_INVALID_SETS, "PTG"); // Ponies: The Galloping
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PCEL"); // Celebration Cards
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PMOA"); // Magic Online Avatar
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PVAN"); // Vanguard Series
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "AMH1"); // Modern Horizons Art Series
|
||||
skipListAddName(SKIP_LIST_UNSUPPORTED_SETS, "PTG"); // Ponies: The Galloping
|
||||
|
||||
// scryfall download sets (missing from scryfall website)
|
||||
skipListCreate(SKIP_LIST_SCRYFALL_DOWNLOAD_SETS);
|
||||
|
@ -396,7 +404,7 @@ public class VerifyCardDataTest {
|
|||
|
||||
// replace codes for aliases
|
||||
String searchSet = MtgJson.mtgJsonToXMageCodes.getOrDefault(refSet.code, refSet.code);
|
||||
if (skipListHaveName(SKIP_LIST_INVALID_SETS, searchSet))
|
||||
if (skipListHaveName(SKIP_LIST_UNSUPPORTED_SETS, searchSet))
|
||||
continue;
|
||||
|
||||
ExpansionSet mageSet = Sets.findSet(searchSet.toUpperCase(Locale.ENGLISH));
|
||||
|
|
|
@ -45,7 +45,6 @@ Commander|CMD|
|
|||
Conspiracy|CNS|
|
||||
Conspiracy: Take the Crown|CN2|
|
||||
Conflux|CON|
|
||||
Champs|CP|
|
||||
Coldsnap|CSP|
|
||||
Duel Decks: Jace vs. Chandra|DD2|
|
||||
Duel Decks: Anthology, Divine vs. Demonic|DVD|
|
||||
|
@ -88,7 +87,6 @@ European Land Program|EURO|
|
|||
Eventide|EVE|
|
||||
Duel Decks: Elves vs. Goblins|EVG|
|
||||
Duel Decks: Elves vs. Inventors|DDU|
|
||||
Duels of the Planeswalkers Promos|DPAP|
|
||||
Pro Tour Promos|PPRO|
|
||||
Exodus|EXO|
|
||||
Zendikar Expeditions|EXP|
|
||||
|
@ -155,7 +153,6 @@ Mercadian Masques|MMQ|
|
|||
Morningtide|MOR|
|
||||
Magic Player Rewards|MPRP|
|
||||
Masterpiece Series|MPS|
|
||||
Masterpiece Series Amonkhet|MPS-AKH|
|
||||
Mirrodin|MRD|
|
||||
Nemesis|NEM|
|
||||
New Phyrexia|NPH|
|
||||
|
@ -223,7 +220,6 @@ Vintage Masters|VMA|
|
|||
War of the Spark|WAR|
|
||||
Welcome Deck 2016|W16|
|
||||
Welcome Deck 2017|W17|
|
||||
World Magic Cup Qualifier|WMCQ|
|
||||
Weatherlight|WTH|
|
||||
Worldwake|WWK|
|
||||
Ixalan|XLN|
|
||||
|
|
Loading…
Reference in a new issue