mirror of
https://github.com/correl/mage.git
synced 2025-01-12 19:25:44 +00:00
Merge pull request #8385 from awjackson/remove_fake_sets
Remove unofficial "Box" sets
This commit is contained in:
commit
63ac539232
8 changed files with 43 additions and 107 deletions
|
@ -68,7 +68,7 @@ public class GathererSets implements Iterable<DownloadJob> {
|
|||
// "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", "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
|
||||
"H09", "PD2", "PD3", "UNH", "CM1", "V11", "A25", "UST", "IMA", "DD2", "EVG", "DDC", "DDE", "DDD", "CHR", "G18", "GVL", "S00", "S99", "UGL" // ok
|
||||
// current testing
|
||||
};
|
||||
|
||||
|
@ -160,8 +160,6 @@ public class GathererSets implements Iterable<DownloadJob> {
|
|||
codeReplacements.put("USG", "UZ");
|
||||
codeReplacements.put("VIS", "VI");
|
||||
codeReplacements.put("WTH", "WL");
|
||||
codeReplacements.put("8EB", "8ED"); // inner xmage set for 8th edition
|
||||
codeReplacements.put("9EB", "8ED"); // inner xmage set for 9th edition
|
||||
}
|
||||
|
||||
public GathererSets() {
|
||||
|
@ -175,15 +173,6 @@ public class GathererSets implements Iterable<DownloadJob> {
|
|||
|
||||
// checks for wrong card settings and support (easy to control what all good)
|
||||
private static final HashMap<String, CheckResult> setsToDownload = new HashMap<>();
|
||||
private static final HashMap<String, String> codesToIgnoreCheck = new HashMap<>();
|
||||
|
||||
static {
|
||||
// xMage have inner sets for 8th and 9th Edition for booster workaround (cards from core game do not include in boosters)
|
||||
// see https://mtg.gamepedia.com/8th_Edition/Core_Game
|
||||
// check must ignore that sets
|
||||
codesToIgnoreCheck.put("8EB", "8th Edition Box");
|
||||
codesToIgnoreCheck.put("9EB", "9th Edition Box");
|
||||
}
|
||||
|
||||
private void CheckSearchResult(String searchCode, ExpansionSet foundedExp, boolean canDownloadTask,
|
||||
boolean haveCommon, boolean haveUncommon, boolean haveRare, boolean haveMyth) {
|
||||
|
@ -220,11 +209,6 @@ public class GathererSets implements Iterable<DownloadJob> {
|
|||
|
||||
for (ExpansionSet set : Sets.getInstance().values()) {
|
||||
|
||||
// ignore some inner sets
|
||||
if (codesToIgnoreCheck.get(set.getCode()) != null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
CheckResult res = setsToDownload.get(set.getCode());
|
||||
|
||||
// 1. not configured at all
|
||||
|
|
|
@ -16,10 +16,6 @@ import java.util.regex.Pattern;
|
|||
*/
|
||||
public class ScryfallImageSupportCards {
|
||||
|
||||
private static final Map<String, String> xmageSetsToScryfall = ImmutableMap.<String, String>builder()
|
||||
.put("8EB", "8ED")
|
||||
.put("9EB", "9ED")
|
||||
.build();
|
||||
static final Pattern REGEXP_DIRECT_KEY_SET_CODE_PATTERN = Pattern.compile("(\\w+)\\/", Pattern.MULTILINE);
|
||||
static final Pattern REGEXP_DIRECT_KEY_CARD_NAME_PATTERN = Pattern.compile("\\/(.+?)\\/", Pattern.MULTILINE);
|
||||
|
||||
|
@ -125,7 +121,6 @@ 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
|
||||
|
@ -145,7 +140,6 @@ 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
|
||||
|
@ -957,7 +951,7 @@ public class ScryfallImageSupportCards {
|
|||
};
|
||||
|
||||
public static String findScryfallSetCode(String xmageCode) {
|
||||
return xmageSetsToScryfall.getOrDefault(xmageCode, xmageCode).toLowerCase(Locale.ENGLISH);
|
||||
return xmageCode.toLowerCase(Locale.ENGLISH);
|
||||
}
|
||||
|
||||
public static Set<String> getSupportedSets() {
|
||||
|
@ -987,8 +981,8 @@ public class ScryfallImageSupportCards {
|
|||
}
|
||||
|
||||
public static String extractSetCodeFromDirectKey(String key) {
|
||||
// from: 8EB/Giant Octopus
|
||||
// to: 8EB
|
||||
// from: 8ED/Giant Octopus
|
||||
// to: 8ED
|
||||
Matcher matcher = REGEXP_DIRECT_KEY_SET_CODE_PATTERN.matcher(key);
|
||||
if (matcher.find()) {
|
||||
return matcher.group(1);
|
||||
|
@ -997,7 +991,7 @@ public class ScryfallImageSupportCards {
|
|||
}
|
||||
|
||||
public static String extractCardNameFromDirectKey(String key) {
|
||||
// from: 8EB/Giant Octopus/
|
||||
// from: 8ED/Giant Octopus/
|
||||
// to: Giant Octopus
|
||||
Matcher matcher = REGEXP_DIRECT_KEY_CARD_NAME_PATTERN.matcher(key + "/"); // add / for regexp workaround
|
||||
if (matcher.find()) {
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.cards.repository.CardInfo;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class EighthEdition extends ExpansionSet {
|
||||
|
||||
private static final EighthEdition instance = new EighthEdition();
|
||||
|
@ -21,9 +24,6 @@ public final class EighthEdition extends ExpansionSet {
|
|||
this.numBoosterRare = 1;
|
||||
this.ratioBoosterMythic = 0;
|
||||
|
||||
// scryfall combines Eighth Edition and Eighth Edition Box sets in one, but xmage must split it
|
||||
// reason: remove box's cards from booster? TODO: implement booster ignore settings for cards instead max card number
|
||||
|
||||
cards.add(new SetCardInfo("Abyssal Specter", 117, Rarity.UNCOMMON, mage.cards.a.AbyssalSpecter.class));
|
||||
cards.add(new SetCardInfo("Air Elemental", 59, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));
|
||||
cards.add(new SetCardInfo("Aladdin's Ring", 291, Rarity.RARE, mage.cards.a.AladdinsRing.class));
|
||||
|
@ -101,6 +101,7 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Drudge Skeletons", 129, Rarity.COMMON, mage.cards.d.DrudgeSkeletons.class));
|
||||
cards.add(new SetCardInfo("Dusk Imp", 130, Rarity.COMMON, mage.cards.d.DuskImp.class));
|
||||
cards.add(new SetCardInfo("Dwarven Demolition Team", 184, Rarity.UNCOMMON, mage.cards.d.DwarvenDemolitionTeam.class));
|
||||
cards.add(new SetCardInfo("Eager Cadet", "S1", Rarity.COMMON, mage.cards.e.EagerCadet.class));
|
||||
cards.add(new SetCardInfo("Eastern Paladin", 131, Rarity.RARE, mage.cards.e.EasternPaladin.class));
|
||||
cards.add(new SetCardInfo("Elfhame Palace", 324, Rarity.UNCOMMON, mage.cards.e.ElfhamePalace.class));
|
||||
cards.add(new SetCardInfo("Elite Archers", 18, Rarity.RARE, mage.cards.e.EliteArchers.class));
|
||||
|
@ -111,6 +112,7 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Elvish Piper", 244, Rarity.RARE, mage.cards.e.ElvishPiper.class));
|
||||
cards.add(new SetCardInfo("Elvish Scrapper", 245, Rarity.UNCOMMON, mage.cards.e.ElvishScrapper.class));
|
||||
cards.add(new SetCardInfo("Emperor Crocodile", 246, Rarity.RARE, mage.cards.e.EmperorCrocodile.class));
|
||||
cards.add(new SetCardInfo("Enormous Baloth", "S6", Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));
|
||||
cards.add(new SetCardInfo("Enrage", 185, Rarity.UNCOMMON, mage.cards.e.Enrage.class));
|
||||
cards.add(new SetCardInfo("Ensnaring Bridge", 300, Rarity.RARE, mage.cards.e.EnsnaringBridge.class));
|
||||
cards.add(new SetCardInfo("Evacuation", 76, Rarity.RARE, mage.cards.e.Evacuation.class));
|
||||
|
@ -139,6 +141,7 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Giant Badger", 253, Rarity.COMMON, mage.cards.g.GiantBadger.class));
|
||||
cards.add(new SetCardInfo("Giant Cockroach", 135, Rarity.COMMON, mage.cards.g.GiantCockroach.class));
|
||||
cards.add(new SetCardInfo("Giant Growth", 254, Rarity.COMMON, mage.cards.g.GiantGrowth.class));
|
||||
cards.add(new SetCardInfo("Giant Octopus", "S3", Rarity.COMMON, mage.cards.g.GiantOctopus.class));
|
||||
cards.add(new SetCardInfo("Giant Spider", 255, Rarity.COMMON, mage.cards.g.GiantSpider.class));
|
||||
cards.add(new SetCardInfo("Glorious Anthem", 20, Rarity.RARE, mage.cards.g.GloriousAnthem.class));
|
||||
cards.add(new SetCardInfo("Glory Seeker", 21, Rarity.COMMON, mage.cards.g.GlorySeeker.class));
|
||||
|
@ -281,6 +284,7 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Sanctimony", 42, Rarity.UNCOMMON, mage.cards.s.Sanctimony.class));
|
||||
cards.add(new SetCardInfo("Savannah Lions", 43, Rarity.RARE, mage.cards.s.SavannahLions.class));
|
||||
cards.add(new SetCardInfo("Scathe Zombies", 160, Rarity.COMMON, mage.cards.s.ScatheZombies.class));
|
||||
cards.add(new SetCardInfo("Sea Eagle", "S4", Rarity.COMMON, mage.cards.s.SeaEagle.class));
|
||||
cards.add(new SetCardInfo("Sea Monster", 99, Rarity.COMMON, mage.cards.s.SeaMonster.class));
|
||||
cards.add(new SetCardInfo("Searing Wind", 218, Rarity.RARE, mage.cards.s.SearingWind.class));
|
||||
cards.add(new SetCardInfo("Seasoned Marshal", 44, Rarity.UNCOMMON, mage.cards.s.SeasonedMarshal.class));
|
||||
|
@ -295,6 +299,7 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Shivan Oasis", 326, Rarity.UNCOMMON, mage.cards.s.ShivanOasis.class));
|
||||
cards.add(new SetCardInfo("Shock", 222, Rarity.COMMON, mage.cards.s.Shock.class));
|
||||
cards.add(new SetCardInfo("Shock Troops", 223, Rarity.COMMON, mage.cards.s.ShockTroops.class));
|
||||
cards.add(new SetCardInfo("Silverback Ape", "S7", Rarity.UNCOMMON, mage.cards.s.SilverbackApe.class));
|
||||
cards.add(new SetCardInfo("Sizzle", 224, Rarity.COMMON, mage.cards.s.Sizzle.class));
|
||||
cards.add(new SetCardInfo("Skull of Orm", 313, Rarity.RARE, mage.cards.s.SkullOfOrm.class));
|
||||
cards.add(new SetCardInfo("Slay", 164, Rarity.UNCOMMON, mage.cards.s.Slay.class));
|
||||
|
@ -350,12 +355,14 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Urza's Tower", 330, Rarity.UNCOMMON, mage.cards.u.UrzasTower.class));
|
||||
cards.add(new SetCardInfo("Vampiric Spirit", 170, Rarity.RARE, mage.cards.v.VampiricSpirit.class));
|
||||
cards.add(new SetCardInfo("Venerable Monk", 55, Rarity.COMMON, mage.cards.v.VenerableMonk.class));
|
||||
cards.add(new SetCardInfo("Vengeance", "S2", Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
|
||||
cards.add(new SetCardInfo("Verduran Enchantress", 285, Rarity.RARE, mage.cards.v.VerduranEnchantress.class));
|
||||
cards.add(new SetCardInfo("Vernal Bloom", 286, Rarity.RARE, mage.cards.v.VernalBloom.class));
|
||||
cards.add(new SetCardInfo("Vexing Arcanix", 319, Rarity.RARE, mage.cards.v.VexingArcanix.class));
|
||||
cards.add(new SetCardInfo("Viashino Sandstalker", 230, Rarity.UNCOMMON, mage.cards.v.ViashinoSandstalker.class));
|
||||
cards.add(new SetCardInfo("Vicious Hunger", 171, Rarity.COMMON, mage.cards.v.ViciousHunger.class));
|
||||
cards.add(new SetCardInfo("Vine Trellis", 287, Rarity.COMMON, mage.cards.v.VineTrellis.class));
|
||||
cards.add(new SetCardInfo("Vizzerdrix", "S5", Rarity.RARE, mage.cards.v.Vizzerdrix.class));
|
||||
cards.add(new SetCardInfo("Volcanic Hammer", 231, Rarity.COMMON, mage.cards.v.VolcanicHammer.class));
|
||||
cards.add(new SetCardInfo("Wall of Air", 113, Rarity.UNCOMMON, mage.cards.w.WallOfAir.class));
|
||||
cards.add(new SetCardInfo("Wall of Spears", 320, Rarity.UNCOMMON, mage.cards.w.WallOfSpears.class));
|
||||
|
@ -373,15 +380,13 @@ public final class EighthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Yavimaya Enchantress", 290, Rarity.UNCOMMON, mage.cards.y.YavimayaEnchantress.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));
|
||||
// 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("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("Vizzerdrix", 5, Rarity.RARE, mage.cards.v.Vizzerdrix.class));
|
||||
// cards.add(new SetCardInfo("Enormous Baloth", 6, Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));
|
||||
// cards.add(new SetCardInfo("Silverback Ape", 7, Rarity.UNCOMMON, mage.cards.s.SilverbackApe.class));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<CardInfo> findCardsByRarity(Rarity rarity) {
|
||||
List<CardInfo> cardInfos = super.findCardsByRarity(rarity);
|
||||
// card numbers containing S are Starter Set cards not found in boosters
|
||||
cardInfos.removeIf(cardInfo -> cardInfo.getCardNumber().contains("S"));
|
||||
return cardInfos;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
public final class EighthEditionBox extends ExpansionSet {
|
||||
|
||||
private static final EighthEditionBox instance = new EighthEditionBox();
|
||||
|
||||
public static EighthEditionBox getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private EighthEditionBox() {
|
||||
super("Eighth Edition Box", "8EB", ExpansionSet.buildDate(2003, 7, 28), SetType.CORE);
|
||||
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", "S1", Rarity.COMMON, mage.cards.e.EagerCadet.class));
|
||||
cards.add(new SetCardInfo("Enormous Baloth", "S6", Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));
|
||||
cards.add(new SetCardInfo("Giant Octopus", "S3", Rarity.COMMON, mage.cards.g.GiantOctopus.class));
|
||||
cards.add(new SetCardInfo("Sea Eagle", "S4", Rarity.COMMON, mage.cards.s.SeaEagle.class));
|
||||
cards.add(new SetCardInfo("Silverback Ape", "S7", Rarity.UNCOMMON, mage.cards.s.SilverbackApe.class));
|
||||
cards.add(new SetCardInfo("Vengeance", "S2", Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
|
||||
cards.add(new SetCardInfo("Vizzerdrix", "S5", Rarity.RARE, mage.cards.v.Vizzerdrix.class));
|
||||
}
|
||||
}
|
|
@ -1,9 +1,12 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.cards.repository.CardInfo;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class NinthEdition extends ExpansionSet {
|
||||
|
||||
private static final NinthEdition instance = new NinthEdition();
|
||||
|
@ -21,9 +24,6 @@ public final class NinthEdition extends ExpansionSet {
|
|||
this.numBoosterRare = 1;
|
||||
this.ratioBoosterMythic = 0;
|
||||
|
||||
// scryfall combines Ninth Edition and Ninth Edition Box sets in one, but xmage must split it
|
||||
// reason: remove box's cards from booster? TODO: implement booster ignore settings for cards instead max card number
|
||||
|
||||
cards.add(new SetCardInfo("Adarkar Wastes", 317, Rarity.RARE, mage.cards.a.AdarkarWastes.class));
|
||||
cards.add(new SetCardInfo("Air Elemental", 58, Rarity.UNCOMMON, mage.cards.a.AirElemental.class));
|
||||
cards.add(new SetCardInfo("Aladdin's Ring", 286, Rarity.RARE, mage.cards.a.AladdinsRing.class));
|
||||
|
@ -73,6 +73,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Confiscate", 68, Rarity.UNCOMMON, mage.cards.c.Confiscate.class));
|
||||
cards.add(new SetCardInfo("Consume Spirit", 119, Rarity.UNCOMMON, mage.cards.c.ConsumeSpirit.class));
|
||||
cards.add(new SetCardInfo("Contaminated Bond", 120, Rarity.COMMON, mage.cards.c.ContaminatedBond.class));
|
||||
cards.add(new SetCardInfo("Coral Eel", "S3", Rarity.COMMON, mage.cards.c.CoralEel.class));
|
||||
cards.add(new SetCardInfo("Counsel of the Soratami", 69, Rarity.COMMON, mage.cards.c.CounselOfTheSoratami.class));
|
||||
cards.add(new SetCardInfo("Cowardice", 70, Rarity.RARE, mage.cards.c.Cowardice.class));
|
||||
cards.add(new SetCardInfo("Crafty Pathmage", 71, Rarity.COMMON, mage.cards.c.CraftyPathmage.class));
|
||||
|
@ -95,6 +96,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Dragon's Claw", 296, Rarity.UNCOMMON, mage.cards.d.DragonsClaw.class));
|
||||
cards.add(new SetCardInfo("Dream Prowler", 74, Rarity.UNCOMMON, mage.cards.d.DreamProwler.class));
|
||||
cards.add(new SetCardInfo("Drudge Skeletons", 126, Rarity.UNCOMMON, mage.cards.d.DrudgeSkeletons.class));
|
||||
cards.add(new SetCardInfo("Eager Cadet", "S1", Rarity.COMMON, mage.cards.e.EagerCadet.class));
|
||||
cards.add(new SetCardInfo("Early Harvest", 235, Rarity.RARE, mage.cards.e.EarlyHarvest.class));
|
||||
cards.add(new SetCardInfo("Elvish Bard", 236, Rarity.UNCOMMON, mage.cards.e.ElvishBard.class));
|
||||
cards.add(new SetCardInfo("Elvish Berserker", 237, Rarity.COMMON, mage.cards.e.ElvishBerserker.class));
|
||||
|
@ -103,6 +105,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Elvish Warrior", 240, Rarity.COMMON, mage.cards.e.ElvishWarrior.class));
|
||||
cards.add(new SetCardInfo("Emperor Crocodile", 241, Rarity.RARE, mage.cards.e.EmperorCrocodile.class));
|
||||
cards.add(new SetCardInfo("Enfeeblement", 127, Rarity.COMMON, mage.cards.e.Enfeeblement.class));
|
||||
cards.add(new SetCardInfo("Enormous Baloth", "S9", Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));
|
||||
cards.add(new SetCardInfo("Enrage", 180, Rarity.UNCOMMON, mage.cards.e.Enrage.class));
|
||||
cards.add(new SetCardInfo("Evacuation", 75, Rarity.RARE, mage.cards.e.Evacuation.class));
|
||||
cards.add(new SetCardInfo("Execute", 128, Rarity.UNCOMMON, mage.cards.e.Execute.class));
|
||||
|
@ -132,6 +135,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Furnace of Rath", 188, Rarity.RARE, mage.cards.f.FurnaceOfRath.class));
|
||||
cards.add(new SetCardInfo("Giant Cockroach", 133, Rarity.COMMON, mage.cards.g.GiantCockroach.class));
|
||||
cards.add(new SetCardInfo("Giant Growth", 243, Rarity.COMMON, mage.cards.g.GiantGrowth.class));
|
||||
cards.add(new SetCardInfo("Giant Octopus", "S4", Rarity.COMMON, mage.cards.g.GiantOctopus.class));
|
||||
cards.add(new SetCardInfo("Giant Spider", 244, Rarity.COMMON, mage.cards.g.GiantSpider.class));
|
||||
cards.add(new SetCardInfo("Gift of Estates", 15, Rarity.UNCOMMON, mage.cards.g.GiftOfEstates.class));
|
||||
cards.add(new SetCardInfo("Glorious Anthem", 16, Rarity.RARE, mage.cards.g.GloriousAnthem.class));
|
||||
|
@ -143,6 +147,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Goblin King", 192, Rarity.RARE, mage.cards.g.GoblinKing.class));
|
||||
cards.add(new SetCardInfo("Goblin Mountaineer", 193, Rarity.COMMON, mage.cards.g.GoblinMountaineer.class));
|
||||
cards.add(new SetCardInfo("Goblin Piker", 194, Rarity.COMMON, mage.cards.g.GoblinPiker.class));
|
||||
cards.add(new SetCardInfo("Goblin Raider", "S8", Rarity.COMMON, mage.cards.g.GoblinRaider.class));
|
||||
cards.add(new SetCardInfo("Goblin Sky Raider", 195, Rarity.COMMON, mage.cards.g.GoblinSkyRaider.class));
|
||||
cards.add(new SetCardInfo("Gravedigger", 136, Rarity.COMMON, mage.cards.g.Gravedigger.class));
|
||||
cards.add(new SetCardInfo("Grave Pact", 135, Rarity.RARE, mage.cards.g.GravePact.class));
|
||||
|
@ -164,6 +169,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Hypnotic Specter", 141, Rarity.RARE, mage.cards.h.HypnoticSpecter.class));
|
||||
cards.add(new SetCardInfo("Icy Manipulator", 299, Rarity.UNCOMMON, mage.cards.i.IcyManipulator.class));
|
||||
cards.add(new SetCardInfo("Imaginary Pet", 82, Rarity.RARE, mage.cards.i.ImaginaryPet.class));
|
||||
cards.add(new SetCardInfo("Index", "S5", Rarity.COMMON, mage.cards.i.Index.class));
|
||||
cards.add(new SetCardInfo("Infantry Veteran", 21, Rarity.COMMON, mage.cards.i.InfantryVeteran.class));
|
||||
cards.add(new SetCardInfo("Inspirit", 22, Rarity.UNCOMMON, mage.cards.i.Inspirit.class));
|
||||
cards.add(new SetCardInfo("Island", 335, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS));
|
||||
|
@ -301,6 +307,7 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Soul Feast", 164, Rarity.UNCOMMON, mage.cards.s.SoulFeast.class));
|
||||
cards.add(new SetCardInfo("Soul Warden", 46, Rarity.UNCOMMON, mage.cards.s.SoulWarden.class));
|
||||
cards.add(new SetCardInfo("Spellbook", 309, Rarity.UNCOMMON, mage.cards.s.Spellbook.class));
|
||||
cards.add(new SetCardInfo("Spined Wurm", "S10", Rarity.COMMON, mage.cards.s.SpinedWurm.class));
|
||||
cards.add(new SetCardInfo("Spineless Thug", 165, Rarity.COMMON, mage.cards.s.SpinelessThug.class));
|
||||
cards.add(new SetCardInfo("Spirit Link", 47, Rarity.UNCOMMON, mage.cards.s.SpiritLink.class));
|
||||
cards.add(new SetCardInfo("Stone Rain", 221, Rarity.COMMON, mage.cards.s.StoneRain.class));
|
||||
|
@ -345,11 +352,13 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Urza's Tower", 329, Rarity.UNCOMMON, mage.cards.u.UrzasTower.class));
|
||||
cards.add(new SetCardInfo("Utopia Tree", 277, Rarity.RARE, mage.cards.u.UtopiaTree.class));
|
||||
cards.add(new SetCardInfo("Venerable Monk", 51, Rarity.COMMON, mage.cards.v.VenerableMonk.class));
|
||||
cards.add(new SetCardInfo("Vengeance", "S2", Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
|
||||
cards.add(new SetCardInfo("Verdant Force", 278, Rarity.RARE, mage.cards.v.VerdantForce.class));
|
||||
cards.add(new SetCardInfo("Verduran Enchantress", 279, Rarity.RARE, mage.cards.v.VerduranEnchantress.class));
|
||||
cards.add(new SetCardInfo("Veteran Cavalier", 52, Rarity.COMMON, mage.cards.v.VeteranCavalier.class));
|
||||
cards.add(new SetCardInfo("Viashino Sandstalker", 225, Rarity.UNCOMMON, mage.cards.v.ViashinoSandstalker.class));
|
||||
cards.add(new SetCardInfo("Viridian Shaman", 280, Rarity.UNCOMMON, mage.cards.v.ViridianShaman.class));
|
||||
cards.add(new SetCardInfo("Vizzerdrix", "S7", Rarity.RARE, mage.cards.v.Vizzerdrix.class));
|
||||
cards.add(new SetCardInfo("Volcanic Hammer", 226, Rarity.COMMON, mage.cards.v.VolcanicHammer.class));
|
||||
cards.add(new SetCardInfo("Vulshok Morningstar", 315, Rarity.UNCOMMON, mage.cards.v.VulshokMorningstar.class));
|
||||
cards.add(new SetCardInfo("Wanderguard Sentry", 111, Rarity.COMMON, mage.cards.w.WanderguardSentry.class));
|
||||
|
@ -374,4 +383,12 @@ public final class NinthEdition extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Zombify", 171, Rarity.UNCOMMON, mage.cards.z.Zombify.class));
|
||||
cards.add(new SetCardInfo("Zur's Weirding", 114, Rarity.RARE, mage.cards.z.ZursWeirding.class));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<CardInfo> findCardsByRarity(Rarity rarity) {
|
||||
List<CardInfo> cardInfos = super.findCardsByRarity(rarity);
|
||||
// card numbers containing S are Starter Set cards not found in boosters
|
||||
cardInfos.removeIf(cardInfo -> cardInfo.getCardNumber().contains("S"));
|
||||
return cardInfos;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package mage.sets;
|
||||
|
||||
import mage.cards.ExpansionSet;
|
||||
import mage.constants.Rarity;
|
||||
import mage.constants.SetType;
|
||||
|
||||
public final class NinthEditionBox extends ExpansionSet {
|
||||
|
||||
private static final NinthEditionBox instance = new NinthEditionBox();
|
||||
|
||||
public static NinthEditionBox getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private NinthEditionBox() {
|
||||
super("Ninth Edition Box", "9EB", ExpansionSet.buildDate(2005, 7, 29), SetType.CORE);
|
||||
this.hasBoosters = false;
|
||||
this.hasBasicLands = false;
|
||||
|
||||
cards.add(new SetCardInfo("Coral Eel", "S3", Rarity.COMMON, mage.cards.c.CoralEel.class));
|
||||
cards.add(new SetCardInfo("Eager Cadet", "S1", Rarity.COMMON, mage.cards.e.EagerCadet.class));
|
||||
cards.add(new SetCardInfo("Enormous Baloth", "S9", Rarity.UNCOMMON, mage.cards.e.EnormousBaloth.class));
|
||||
cards.add(new SetCardInfo("Giant Octopus", "S4", Rarity.COMMON, mage.cards.g.GiantOctopus.class));
|
||||
cards.add(new SetCardInfo("Goblin Raider", "S8", Rarity.COMMON, mage.cards.g.GoblinRaider.class));
|
||||
cards.add(new SetCardInfo("Index", "S5", Rarity.COMMON, mage.cards.i.Index.class));
|
||||
cards.add(new SetCardInfo("Spined Wurm", "S10", Rarity.COMMON, mage.cards.s.SpinedWurm.class));
|
||||
cards.add(new SetCardInfo("Vengeance", "S2", Rarity.UNCOMMON, mage.cards.v.Vengeance.class));
|
||||
cards.add(new SetCardInfo("Vizzerdrix", "S7", Rarity.RARE, mage.cards.v.Vizzerdrix.class));
|
||||
}
|
||||
}
|
|
@ -24,8 +24,6 @@ public final class MtgJsonService {
|
|||
for (Map.Entry<String, String> entry : mtgJsonToXMageCodes.entrySet()) {
|
||||
xMageToMtgJsonCodes.put(entry.getValue(), entry.getKey());
|
||||
}
|
||||
xMageToMtgJsonCodes.put("8EB", "8ED");
|
||||
xMageToMtgJsonCodes.put("9EB", "9ED");
|
||||
}
|
||||
|
||||
private static Map<String, MtgJsonCard> loadAllCards() throws IOException {
|
||||
|
|
|
@ -201,8 +201,6 @@ public class VerifyCardDataTest {
|
|||
// scryfall download sets (missing from scryfall website)
|
||||
skipListCreate(SKIP_LIST_SCRYFALL_DOWNLOAD_SETS);
|
||||
skipListAddName(SKIP_LIST_SCRYFALL_DOWNLOAD_SETS, "SWS"); // Star Wars
|
||||
//skipListAddName(SKIP_LIST_SCRYFALL_DOWNLOAD_SETS, "8EB"); // Eighth Edition Box - inner xmage set, split from 8ED
|
||||
//skipListAddName(SKIP_LIST_SCRYFALL_DOWNLOAD_SETS, "9EB"); // Ninth Edition Box - inner xmage set, split from 9ED
|
||||
|
||||
// sample decks checking - some decks can contains unimplemented cards, so ignore it
|
||||
// file name must be related to sample-decks folder
|
||||
|
@ -481,7 +479,6 @@ public class VerifyCardDataTest {
|
|||
continue;
|
||||
}
|
||||
|
||||
// TODO: 8EB and 9EB uses workaround to split from main set, so it will be in unofficial list until booster cards improve
|
||||
xmageUnofficialSets++;
|
||||
xmageUnofficialCards += set.getSetCardInfo().size();
|
||||
info.add("Unofficial set: " + set.getCode() + " - " + set.getName() + ", cards: " + set.getSetCardInfo().size() + ", year: " + set.getReleaseYear());
|
||||
|
|
Loading…
Reference in a new issue