From e5d65974d55e35add2319a4cd9ac9390704f4f69 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Tue, 28 May 2019 19:39:27 +0400 Subject: [PATCH 1/5] * Fixed From the Vault: Transform and Eldritch Moon cards download from scryfall --- Mage.Sets/src/mage/sets/EldritchMoon.java | 29 +++++----- .../src/mage/sets/FromTheVaultTransform.java | 58 +++++++++---------- 2 files changed, 44 insertions(+), 43 deletions(-) diff --git a/Mage.Sets/src/mage/sets/EldritchMoon.java b/Mage.Sets/src/mage/sets/EldritchMoon.java index a014b90feb4..c6a1872f04b 100644 --- a/Mage.Sets/src/mage/sets/EldritchMoon.java +++ b/Mage.Sets/src/mage/sets/EldritchMoon.java @@ -29,6 +29,7 @@ public final class EldritchMoon extends ExpansionSet { this.numBoosterRare = 1; this.ratioBoosterMythic = 8; this.numBoosterDoubleFaced = 1; + cards.add(new SetCardInfo("Abandon Reason", 115, Rarity.UNCOMMON, mage.cards.a.AbandonReason.class)); cards.add(new SetCardInfo("Abolisher of Bloodlines", 111, Rarity.RARE, mage.cards.a.AbolisherOfBloodlines.class)); cards.add(new SetCardInfo("Abundant Maw", 1, Rarity.UNCOMMON, mage.cards.a.AbundantMaw.class)); @@ -39,23 +40,23 @@ public final class EldritchMoon extends ExpansionSet { cards.add(new SetCardInfo("Backwoods Survivalists", 150, Rarity.COMMON, mage.cards.b.BackwoodsSurvivalists.class)); cards.add(new SetCardInfo("Bedlam Reveler", 118, Rarity.RARE, mage.cards.b.BedlamReveler.class)); cards.add(new SetCardInfo("Blessed Alliance", 13, Rarity.UNCOMMON, mage.cards.b.BlessedAlliance.class)); + cards.add(new SetCardInfo("Blood Mist", 119, Rarity.UNCOMMON, mage.cards.b.BloodMist.class)); cards.add(new SetCardInfo("Bloodbriar", 151, Rarity.COMMON, mage.cards.b.Bloodbriar.class)); cards.add(new SetCardInfo("Bloodhall Priest", 181, Rarity.RARE, mage.cards.b.BloodhallPriest.class)); - cards.add(new SetCardInfo("Blood Mist", 119, Rarity.UNCOMMON, mage.cards.b.BloodMist.class)); cards.add(new SetCardInfo("Bold Impaler", 120, Rarity.COMMON, mage.cards.b.BoldImpaler.class)); cards.add(new SetCardInfo("Boon of Emrakul", 81, Rarity.COMMON, mage.cards.b.BoonOfEmrakul.class)); cards.add(new SetCardInfo("Borrowed Grace", 14, Rarity.COMMON, mage.cards.b.BorrowedGrace.class)); cards.add(new SetCardInfo("Borrowed Hostility", 121, Rarity.COMMON, mage.cards.b.BorrowedHostility.class)); cards.add(new SetCardInfo("Borrowed Malevolence", 82, Rarity.COMMON, mage.cards.b.BorrowedMalevolence.class)); cards.add(new SetCardInfo("Brazen Wolves", 122, Rarity.COMMON, mage.cards.b.BrazenWolves.class)); - cards.add(new SetCardInfo("Brisela, Voice of Nightmares", 15, Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class)); - cards.add(new SetCardInfo("Bruna, the Fading Light", 15, Rarity.RARE, mage.cards.b.BrunaTheFadingLight.class)); + cards.add(new SetCardInfo("Brisela, Voice of Nightmares", "15b", Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class)); + cards.add(new SetCardInfo("Bruna, the Fading Light", "15a", Rarity.RARE, mage.cards.b.BrunaTheFadingLight.class)); cards.add(new SetCardInfo("Campaign of Vengeance", 182, Rarity.UNCOMMON, mage.cards.c.CampaignOfVengeance.class)); cards.add(new SetCardInfo("Cathar's Shield", 192, Rarity.COMMON, mage.cards.c.CatharsShield.class)); cards.add(new SetCardInfo("Cemetery Recruitment", 83, Rarity.COMMON, mage.cards.c.CemeteryRecruitment.class)); cards.add(new SetCardInfo("Certain Death", 84, Rarity.COMMON, mage.cards.c.CertainDeath.class)); cards.add(new SetCardInfo("Chilling Grasp", 50, Rarity.UNCOMMON, mage.cards.c.ChillingGrasp.class)); - cards.add(new SetCardInfo("Chittering Host", 96, Rarity.COMMON, mage.cards.c.ChitteringHost.class)); + cards.add(new SetCardInfo("Chittering Host", "96b", Rarity.COMMON, mage.cards.c.ChitteringHost.class)); cards.add(new SetCardInfo("Choking Restraints", 16, Rarity.COMMON, mage.cards.c.ChokingRestraints.class)); cards.add(new SetCardInfo("Clear Shot", 152, Rarity.UNCOMMON, mage.cards.c.ClearShot.class)); cards.add(new SetCardInfo("Coax from the Blind Eternities", 51, Rarity.RARE, mage.cards.c.CoaxFromTheBlindEternities.class)); @@ -99,8 +100,8 @@ public final class EldritchMoon extends ExpansionSet { cards.add(new SetCardInfo("Extricator of Flesh", 23, Rarity.UNCOMMON, mage.cards.e.ExtricatorOfFlesh.class)); cards.add(new SetCardInfo("Extricator of Sin", 23, Rarity.UNCOMMON, mage.cards.e.ExtricatorOfSin.class)); cards.add(new SetCardInfo("Exultant Cultist", 59, Rarity.COMMON, mage.cards.e.ExultantCultist.class)); - cards.add(new SetCardInfo("Faithbearer Paladin", 25, Rarity.COMMON, mage.cards.f.FaithbearerPaladin.class)); cards.add(new SetCardInfo("Faith Unbroken", 24, Rarity.UNCOMMON, mage.cards.f.FaithUnbroken.class)); + cards.add(new SetCardInfo("Faithbearer Paladin", 25, Rarity.COMMON, mage.cards.f.FaithbearerPaladin.class)); cards.add(new SetCardInfo("Falkenrath Reaver", 127, Rarity.COMMON, mage.cards.f.FalkenrathReaver.class)); cards.add(new SetCardInfo("Fibrous Entangler", 174, Rarity.UNCOMMON, mage.cards.f.FibrousEntangler.class)); cards.add(new SetCardInfo("Field Creeper", 195, Rarity.COMMON, mage.cards.f.FieldCreeper.class)); @@ -113,24 +114,24 @@ public final class EldritchMoon extends ExpansionSet { cards.add(new SetCardInfo("Galvanic Bombardment", 129, Rarity.COMMON, mage.cards.g.GalvanicBombardment.class)); cards.add(new SetCardInfo("Gavony Unhallowed", 89, Rarity.COMMON, mage.cards.g.GavonyUnhallowed.class)); cards.add(new SetCardInfo("Geier Reach Sanitarium", 203, Rarity.RARE, mage.cards.g.GeierReachSanitarium.class)); - cards.add(new SetCardInfo("Geist-Fueled Scarecrow", 196, Rarity.UNCOMMON, mage.cards.g.GeistFueledScarecrow.class)); cards.add(new SetCardInfo("Geist of the Archives", 62, Rarity.UNCOMMON, mage.cards.g.GeistOfTheArchives.class)); cards.add(new SetCardInfo("Geist of the Lonely Vigil", 27, Rarity.UNCOMMON, mage.cards.g.GeistOfTheLonelyVigil.class)); + cards.add(new SetCardInfo("Geist-Fueled Scarecrow", 196, Rarity.UNCOMMON, mage.cards.g.GeistFueledScarecrow.class)); cards.add(new SetCardInfo("Gisa and Geralf", 183, Rarity.MYTHIC, mage.cards.g.GisaAndGeralf.class)); - cards.add(new SetCardInfo("Gisela, the Broken Blade", 28, Rarity.MYTHIC, mage.cards.g.GiselaTheBrokenBlade.class)); + cards.add(new SetCardInfo("Gisela, the Broken Blade", "28a", Rarity.MYTHIC, mage.cards.g.GiselaTheBrokenBlade.class)); cards.add(new SetCardInfo("Give No Ground", 29, Rarity.UNCOMMON, mage.cards.g.GiveNoGround.class)); cards.add(new SetCardInfo("Gnarlwood Dryad", 159, Rarity.UNCOMMON, mage.cards.g.GnarlwoodDryad.class)); cards.add(new SetCardInfo("Graf Harvest", 90, Rarity.UNCOMMON, mage.cards.g.GrafHarvest.class)); - cards.add(new SetCardInfo("Graf Rats", 91, Rarity.COMMON, mage.cards.g.GrafRats.class)); + cards.add(new SetCardInfo("Graf Rats", "91a", Rarity.COMMON, mage.cards.g.GrafRats.class)); cards.add(new SetCardInfo("Grapple with the Past", 160, Rarity.COMMON, mage.cards.g.GrappleWithThePast.class)); cards.add(new SetCardInfo("Grim Flayer", 184, Rarity.MYTHIC, mage.cards.g.GrimFlayer.class)); cards.add(new SetCardInfo("Grisly Anglerfish", 63, Rarity.UNCOMMON, mage.cards.g.GrislyAnglerfish.class)); cards.add(new SetCardInfo("Grizzled Angler", 63, Rarity.UNCOMMON, mage.cards.g.GrizzledAngler.class)); cards.add(new SetCardInfo("Guardian of Pilgrims", 30, Rarity.COMMON, mage.cards.g.GuardianOfPilgrims.class)); cards.add(new SetCardInfo("Hamlet Captain", 161, Rarity.UNCOMMON, mage.cards.h.HamletCaptain.class)); - cards.add(new SetCardInfo("Hanweir Battlements", 204, Rarity.RARE, mage.cards.h.HanweirBattlements.class)); - cards.add(new SetCardInfo("Hanweir Garrison", 130, Rarity.RARE, mage.cards.h.HanweirGarrison.class)); - cards.add(new SetCardInfo("Hanweir, the Writhing Township", 130, Rarity.RARE, mage.cards.h.HanweirTheWrithingTownship.class)); + cards.add(new SetCardInfo("Hanweir Battlements", "204a", Rarity.RARE, mage.cards.h.HanweirBattlements.class)); + cards.add(new SetCardInfo("Hanweir Garrison", "130a", Rarity.RARE, mage.cards.h.HanweirGarrison.class)); + cards.add(new SetCardInfo("Hanweir, the Writhing Township", "130b", Rarity.RARE, mage.cards.h.HanweirTheWrithingTownship.class)); cards.add(new SetCardInfo("Harmless Offering", 131, Rarity.RARE, mage.cards.h.HarmlessOffering.class)); cards.add(new SetCardInfo("Haunted Dead", 92, Rarity.UNCOMMON, mage.cards.h.HauntedDead.class)); cards.add(new SetCardInfo("Heron's Grace Champion", 185, Rarity.RARE, mage.cards.h.HeronsGraceChampion.class)); @@ -153,14 +154,14 @@ public final class EldritchMoon extends ExpansionSet { cards.add(new SetCardInfo("Liliana, the Last Hope", 93, Rarity.MYTHIC, mage.cards.l.LilianaTheLastHope.class)); cards.add(new SetCardInfo("Lone Rider", 33, Rarity.UNCOMMON, mage.cards.l.LoneRider.class)); cards.add(new SetCardInfo("Long Road Home", 34, Rarity.UNCOMMON, mage.cards.l.LongRoadHome.class)); - cards.add(new SetCardInfo("Lunarch Mantle", 35, Rarity.COMMON, mage.cards.l.LunarchMantle.class)); cards.add(new SetCardInfo("Lunar Force", 68, Rarity.UNCOMMON, mage.cards.l.LunarForce.class)); + cards.add(new SetCardInfo("Lunarch Mantle", 35, Rarity.COMMON, mage.cards.l.LunarchMantle.class)); cards.add(new SetCardInfo("Lupine Prototype", 197, Rarity.RARE, mage.cards.l.LupinePrototype.class)); cards.add(new SetCardInfo("Make Mischief", 135, Rarity.COMMON, mage.cards.m.MakeMischief.class)); cards.add(new SetCardInfo("Markov Crusader", 95, Rarity.UNCOMMON, mage.cards.m.MarkovCrusader.class)); cards.add(new SetCardInfo("Mausoleum Wanderer", 69, Rarity.RARE, mage.cards.m.MausoleumWanderer.class)); cards.add(new SetCardInfo("Mercurial Geists", 186, Rarity.UNCOMMON, mage.cards.m.MercurialGeists.class)); - cards.add(new SetCardInfo("Midnight Scavengers", 96, Rarity.COMMON, mage.cards.m.MidnightScavengers.class)); + cards.add(new SetCardInfo("Midnight Scavengers", "96a", Rarity.COMMON, mage.cards.m.MidnightScavengers.class)); cards.add(new SetCardInfo("Mind's Dilation", 70, Rarity.MYTHIC, mage.cards.m.MindsDilation.class)); cards.add(new SetCardInfo("Mirrorwing Dragon", 136, Rarity.MYTHIC, mage.cards.m.MirrorwingDragon.class)); cards.add(new SetCardInfo("Mockery of Nature", 10, Rarity.UNCOMMON, mage.cards.m.MockeryOfNature.class)); @@ -223,8 +224,8 @@ public final class EldritchMoon extends ExpansionSet { cards.add(new SetCardInfo("Tangleclaw Werewolf", 174, Rarity.UNCOMMON, mage.cards.t.TangleclawWerewolf.class)); cards.add(new SetCardInfo("Tattered Haunter", 77, Rarity.COMMON, mage.cards.t.TatteredHaunter.class)); cards.add(new SetCardInfo("Terrarion", 201, Rarity.COMMON, mage.cards.t.Terrarion.class)); - cards.add(new SetCardInfo("Thalia, Heretic Cathar", 46, Rarity.RARE, mage.cards.t.ThaliaHereticCathar.class)); cards.add(new SetCardInfo("Thalia's Lancers", 47, Rarity.RARE, mage.cards.t.ThaliasLancers.class)); + cards.add(new SetCardInfo("Thalia, Heretic Cathar", 46, Rarity.RARE, mage.cards.t.ThaliaHereticCathar.class)); cards.add(new SetCardInfo("Thermo-Alchemist", 147, Rarity.COMMON, mage.cards.t.ThermoAlchemist.class)); cards.add(new SetCardInfo("Thirsting Axe", 202, Rarity.UNCOMMON, mage.cards.t.ThirstingAxe.class)); cards.add(new SetCardInfo("Thraben Foulbloods", 108, Rarity.COMMON, mage.cards.t.ThrabenFoulbloods.class)); diff --git a/Mage.Sets/src/mage/sets/FromTheVaultTransform.java b/Mage.Sets/src/mage/sets/FromTheVaultTransform.java index 5319234d4ae..5fa3f6fb080 100644 --- a/Mage.Sets/src/mage/sets/FromTheVaultTransform.java +++ b/Mage.Sets/src/mage/sets/FromTheVaultTransform.java @@ -20,35 +20,35 @@ public final class FromTheVaultTransform extends ExpansionSet { super("From the Vault: Transform", "V17", ExpansionSet.buildDate(2017, 11, 24), SetType.SUPPLEMENTAL); this.hasBasicLands = false; - cards.add(new SetCardInfo("Archangel Avacyn", 1, Rarity.MYTHIC, mage.cards.a.ArchangelAvacyn.class)); - cards.add(new SetCardInfo("Avacyn, the Purifier", 1001, Rarity.MYTHIC, mage.cards.a.AvacynThePurifier.class)); - cards.add(new SetCardInfo("Arguel's Blood Fast", 2, Rarity.MYTHIC, mage.cards.a.ArguelsBloodFast.class)); - cards.add(new SetCardInfo("Temple of Aclazotz", 1002, Rarity.MYTHIC, mage.cards.t.TempleOfAclazotz.class)); - cards.add(new SetCardInfo("Arlinn Kord", 3, Rarity.MYTHIC, mage.cards.a.ArlinnKord.class)); - cards.add(new SetCardInfo("Arlinn, Embraced by the Moon", 1003, Rarity.MYTHIC, mage.cards.a.ArlinnEmbracedByTheMoon.class)); - cards.add(new SetCardInfo("Bloodline Keeper", 4, Rarity.MYTHIC, mage.cards.b.BloodlineKeeper.class)); - cards.add(new SetCardInfo("Lord of Lineage", 1004, Rarity.MYTHIC, mage.cards.l.LordOfLineage.class)); - cards.add(new SetCardInfo("Bruna, the Fading Light", 5, Rarity.MYTHIC, mage.cards.b.BrunaTheFadingLight.class)); - cards.add(new SetCardInfo("Brisela, Voice of Nightmares", 1005, Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class, NON_FULL_USE_VARIOUS)); - cards.add(new SetCardInfo("Brisela, Voice of Nightmares", 1005, Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class, NON_FULL_USE_VARIOUS)); - cards.add(new SetCardInfo("Chandra, Fire of Kaladesh", 6, Rarity.MYTHIC, mage.cards.c.ChandraFireOfKaladesh.class)); - cards.add(new SetCardInfo("Chandra, Roaring Flame", 1006, Rarity.MYTHIC, mage.cards.c.ChandraRoaringFlame.class)); - cards.add(new SetCardInfo("Delver of Secrets", 7, Rarity.MYTHIC, mage.cards.d.DelverOfSecrets.class)); - cards.add(new SetCardInfo("Insectile Aberration", 1007, Rarity.MYTHIC, mage.cards.i.InsectileAberration.class)); - cards.add(new SetCardInfo("Elbrus, the Binding Blade", 8, Rarity.MYTHIC, mage.cards.e.ElbrusTheBindingBlade.class)); - cards.add(new SetCardInfo("Withengar Unbound", 1008, Rarity.MYTHIC, mage.cards.w.WithengarUnbound.class)); - cards.add(new SetCardInfo("Garruk Relentless", 9, Rarity.MYTHIC, mage.cards.g.GarrukRelentless.class)); - cards.add(new SetCardInfo("Garruk, the Veil-Cursed", 1009, Rarity.MYTHIC, mage.cards.g.GarrukTheVeilCursed.class)); + cards.add(new SetCardInfo("Archangel Avacyn", "1a", Rarity.MYTHIC, mage.cards.a.ArchangelAvacyn.class)); + cards.add(new SetCardInfo("Avacyn, the Purifier", "1b", Rarity.MYTHIC, mage.cards.a.AvacynThePurifier.class)); + cards.add(new SetCardInfo("Arguel's Blood Fast", "2a", Rarity.MYTHIC, mage.cards.a.ArguelsBloodFast.class)); + cards.add(new SetCardInfo("Temple of Aclazotz", "2b", Rarity.MYTHIC, mage.cards.t.TempleOfAclazotz.class)); + cards.add(new SetCardInfo("Arlinn Kord", "3a", Rarity.MYTHIC, mage.cards.a.ArlinnKord.class)); + cards.add(new SetCardInfo("Arlinn, Embraced by the Moon", "3b", Rarity.MYTHIC, mage.cards.a.ArlinnEmbracedByTheMoon.class)); + cards.add(new SetCardInfo("Bloodline Keeper", "4a", Rarity.MYTHIC, mage.cards.b.BloodlineKeeper.class)); + cards.add(new SetCardInfo("Lord of Lineage", "4b", Rarity.MYTHIC, mage.cards.l.LordOfLineage.class)); + cards.add(new SetCardInfo("Bruna, the Fading Light", "5a", Rarity.MYTHIC, mage.cards.b.BrunaTheFadingLight.class)); + cards.add(new SetCardInfo("Brisela, Voice of Nightmares", "5b", Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Brisela, Voice of Nightmares", "5c", Rarity.MYTHIC, mage.cards.b.BriselaVoiceOfNightmares.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Chandra, Fire of Kaladesh", "6a", Rarity.MYTHIC, mage.cards.c.ChandraFireOfKaladesh.class)); + cards.add(new SetCardInfo("Chandra, Roaring Flame", "6b", Rarity.MYTHIC, mage.cards.c.ChandraRoaringFlame.class)); + cards.add(new SetCardInfo("Delver of Secrets", "7a", Rarity.MYTHIC, mage.cards.d.DelverOfSecrets.class)); + cards.add(new SetCardInfo("Insectile Aberration", "7b", Rarity.MYTHIC, mage.cards.i.InsectileAberration.class)); + cards.add(new SetCardInfo("Elbrus, the Binding Blade", "8a", Rarity.MYTHIC, mage.cards.e.ElbrusTheBindingBlade.class)); + cards.add(new SetCardInfo("Withengar Unbound", "8b", Rarity.MYTHIC, mage.cards.w.WithengarUnbound.class)); + cards.add(new SetCardInfo("Garruk Relentless", "9a", Rarity.MYTHIC, mage.cards.g.GarrukRelentless.class)); + cards.add(new SetCardInfo("Garruk, the Veil-Cursed", "9b", Rarity.MYTHIC, mage.cards.g.GarrukTheVeilCursed.class)); cards.add(new SetCardInfo("Gisela, the Broken Blade", 10, Rarity.MYTHIC, mage.cards.g.GiselaTheBrokenBlade.class)); - cards.add(new SetCardInfo("Huntmaster of the Fells", 11, Rarity.MYTHIC, mage.cards.h.HuntmasterOfTheFells.class)); - cards.add(new SetCardInfo("Ravager of the Fells", 1011, Rarity.MYTHIC, mage.cards.r.RavagerOfTheFells.class)); - cards.add(new SetCardInfo("Jace, Vryn's Prodigy", 12, Rarity.MYTHIC, mage.cards.j.JaceVrynsProdigy.class)); - cards.add(new SetCardInfo("Jace, Telepath Unbound", 1012, Rarity.MYTHIC, mage.cards.j.JaceTelepathUnbound.class)); - cards.add(new SetCardInfo("Kytheon, Hero of Akros", 13, Rarity.MYTHIC, mage.cards.k.KytheonHeroOfAkros.class)); - cards.add(new SetCardInfo("Gideon, Battle-Forged", 1013, Rarity.MYTHIC, mage.cards.g.GideonBattleForged.class)); - cards.add(new SetCardInfo("Liliana, Heretical Healer", 14, Rarity.MYTHIC, mage.cards.l.LilianaHereticalHealer.class)); - cards.add(new SetCardInfo("Liliana, Defiant Necromancer", 1014, Rarity.MYTHIC, mage.cards.l.LilianaDefiantNecromancer.class)); - cards.add(new SetCardInfo("Nissa, Vastwood Seer", 15, Rarity.MYTHIC, mage.cards.n.NissaVastwoodSeer.class)); - cards.add(new SetCardInfo("Nissa, Sage Animist", 1015, Rarity.MYTHIC, mage.cards.n.NissaSageAnimist.class)); + cards.add(new SetCardInfo("Huntmaster of the Fells", "11a", Rarity.MYTHIC, mage.cards.h.HuntmasterOfTheFells.class)); + cards.add(new SetCardInfo("Ravager of the Fells", "11b", Rarity.MYTHIC, mage.cards.r.RavagerOfTheFells.class)); + cards.add(new SetCardInfo("Jace, Vryn's Prodigy", "12a", Rarity.MYTHIC, mage.cards.j.JaceVrynsProdigy.class)); + cards.add(new SetCardInfo("Jace, Telepath Unbound", "12b", Rarity.MYTHIC, mage.cards.j.JaceTelepathUnbound.class)); + cards.add(new SetCardInfo("Kytheon, Hero of Akros", "13a", Rarity.MYTHIC, mage.cards.k.KytheonHeroOfAkros.class)); + cards.add(new SetCardInfo("Gideon, Battle-Forged", "13b", Rarity.MYTHIC, mage.cards.g.GideonBattleForged.class)); + cards.add(new SetCardInfo("Liliana, Heretical Healer", "14a", Rarity.MYTHIC, mage.cards.l.LilianaHereticalHealer.class)); + cards.add(new SetCardInfo("Liliana, Defiant Necromancer", "14b", Rarity.MYTHIC, mage.cards.l.LilianaDefiantNecromancer.class)); + cards.add(new SetCardInfo("Nissa, Vastwood Seer", "15a", Rarity.MYTHIC, mage.cards.n.NissaVastwoodSeer.class)); + cards.add(new SetCardInfo("Nissa, Sage Animist", "15b", Rarity.MYTHIC, mage.cards.n.NissaSageAnimist.class)); } } From 1ac44b5d6cb6a5381378d972e47f9773ac28565a Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 May 2019 11:43:30 -0400 Subject: [PATCH 2/5] fixed Valiant Changeling potentially counting non-creature subtypes --- Mage.Sets/src/mage/cards/v/ValiantChangeling.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Mage.Sets/src/mage/cards/v/ValiantChangeling.java b/Mage.Sets/src/mage/cards/v/ValiantChangeling.java index 6a4d65c1505..68361e25e74 100644 --- a/Mage.Sets/src/mage/cards/v/ValiantChangeling.java +++ b/Mage.Sets/src/mage/cards/v/ValiantChangeling.java @@ -76,6 +76,7 @@ class ValiantChangelingCostReductionEffect extends CostModificationEffectImpl { break; } subTypes.addAll(permanent.getSubtype(game)); + subTypes.removeIf(subType -> (subType.getSubTypeSet() != SubTypeSet.CreatureType)); reductionAmount = subTypes.size(); if (reductionAmount > 4) { break; From 9d95050a2e83049e77293962c4f90a7c6000c2e3 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 May 2019 11:45:24 -0400 Subject: [PATCH 3/5] updated MH1 spoiler and reprints --- Mage.Sets/src/mage/sets/ModernHorizons.java | 3 +++ Utils/mtg-cards-data.txt | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/Mage.Sets/src/mage/sets/ModernHorizons.java b/Mage.Sets/src/mage/sets/ModernHorizons.java index 5dc325f72f5..e393ba2c14f 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons.java @@ -69,6 +69,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Force of Vigor", 164, Rarity.RARE, mage.cards.f.ForceOfVigor.class)); cards.add(new SetCardInfo("Force of Virtue", 10, Rarity.RARE, mage.cards.f.ForceOfVirtue.class)); cards.add(new SetCardInfo("Frostwalk Bastion", 240, Rarity.UNCOMMON, mage.cards.f.FrostwalkBastion.class)); + cards.add(new SetCardInfo("Future Sight", 53, Rarity.RARE, mage.cards.f.FutureSight.class)); cards.add(new SetCardInfo("Generous Gift", 11, Rarity.UNCOMMON, mage.cards.g.GenerousGift.class)); cards.add(new SetCardInfo("Genesis", 166, Rarity.RARE, mage.cards.g.Genesis.class)); cards.add(new SetCardInfo("Giver of Runes", 13, Rarity.RARE, mage.cards.g.GiverOfRunes.class)); @@ -101,6 +102,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Munitions Expert", 209, Rarity.UNCOMMON, mage.cards.m.MunitionsExpert.class)); cards.add(new SetCardInfo("Nantuko Cultivator", 173, Rarity.UNCOMMON, mage.cards.n.NantukoCultivator.class)); cards.add(new SetCardInfo("Nature's Chant", 210, Rarity.COMMON, mage.cards.n.NaturesChant.class)); + cards.add(new SetCardInfo("Nether Spirit", 98, Rarity.RARE, mage.cards.n.NetherSpirit.class)); cards.add(new SetCardInfo("Nimble Mongoose", 174, Rarity.COMMON, mage.cards.n.NimbleMongoose.class)); cards.add(new SetCardInfo("Nurturing Peatland", 243, Rarity.RARE, mage.cards.n.NurturingPeatland.class)); cards.add(new SetCardInfo("Orcish Hellraiser", 136, Rarity.COMMON, mage.cards.o.OrcishHellraiser.class)); @@ -150,6 +152,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Thundering Djinn", 215, Rarity.UNCOMMON, mage.cards.t.ThunderingDjinn.class)); cards.add(new SetCardInfo("Umezawa's Charm", 111, Rarity.COMMON, mage.cards.u.UmezawasCharm.class)); cards.add(new SetCardInfo("Undead Augur", 112, Rarity.UNCOMMON, mage.cards.u.UndeadAugur.class)); + cards.add(new SetCardInfo("Unearth", 113, Rarity.COMMON, mage.cards.u.Unearth.class)); cards.add(new SetCardInfo("Urza, Lord High Artificer", 75, Rarity.MYTHIC, mage.cards.u.UrzaLordHighArtificer.class)); cards.add(new SetCardInfo("Valiant Changeling", 34, Rarity.UNCOMMON, mage.cards.v.ValiantChangeling.class)); cards.add(new SetCardInfo("Venomous Changeling", 114, Rarity.COMMON, mage.cards.v.VenomousChangeling.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 50af935a091..a6e8a719df3 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -35142,6 +35142,7 @@ Choking Tethers|Modern Horizons|44|C|{3}{U}|Instant|||Tap up to four target crea Exclude|Modern Horizons|48|U|{2}{U}|Instant|||Counter target creature spell.$Draw a card.| Fact or Fiction|Modern Horizons|50|U|{3}{U}|Instant|||Reveal the top five cards of your library. An opponent separates those cards into two piles. Put one pile into your hand and the other into your graveyard.| Force of Negation|Modern Horizons|52|R|{1}{U}{U}|Instant|||If it's not your turn, you may exile a blue card from your hand rather than pay this spell's mana cost.$Counter target noncreature spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard.| +Future Sight|Modern Horizons|53|R|{2}{U}{U}{U}|Enchantment|||Play with the top card of your library revealed.$You may play the top card of your library.| Man-o'-War|Modern Horizons|55|C|{2}{U}|Creature - Jellyfish|2|2|When Man-o'-War enters the battlefield, return target creature to its owner's hand.| Pondering Mage|Modern Horizons|63|C|{3}{U}{U}|Creature - Human Wizard|3|4|When Pondering Mage enters the battlefield, look at the top three cards of your library, then put them back in any order. You may shuffle your library. Draw a card.| Prohibit|Modern Horizons|64|C|{1}{U}|Instant|||Kicker {2}$Counter target spell if its converted mana cost is 2 or less. If this spell was kicked, counter that spell if its converted mana cost is 4 or less instead.| @@ -35154,15 +35155,19 @@ Urza, Lord High Artificer|Modern Horizons|75|M|{2}{U}{U}|Legendary Creature - Hu Cabal Therapist|Modern Horizons|80|R|{B}|Creature - Horror|1|1|Menace$At the beginning of your precombat main phase, you may sacrifice a creature. When you do, choose a nonland card name, then target player reveals their hand and discards all cards with that name.| Changeling Outcast|Modern Horizons|82|C|{B}|Creature - Shapeshifter|1|1|Changeling$Changeling Outcast can't block and can't be blocked.| Crypt Rats|Modern Horizons|84|U|{2}{B}|Creature - Rat|1|1|{X}: Crypt Rats deals X damage to each creature and each player. Spend only black mana on X.| +Dead of Winter|Modern Horizons|85|R|{2}{B}|Sorcery|||All nonsnow creatures get -X/-X until end of turn, where X is the number of snow permanents you control.| Diabolic Edict|Modern Horizons|87|C|{1}{B}|Instant|||Target player sacrifices a creature.| Dregscape Sliver|Modern Horizons|88|U|{1}{B}|Creature - Sliver|2|2|Each Sliver creature card in your graveyard has unearth {2}.$Unearth {2}| +Endling|Modern Horizons|89|R|{2}{B}{B}|Creature - Zombie Shapeshifter|3|3|{B}: Endling gains menace until end of turn.${B}: Endling gains deathtouch until end of turn.${B}: Endling gains undying until end of turn.${1}: Endling gets +1/-1 or -1/+1 until end of turn.| Feaster of Fools|Modern Horizons|90|U|{4}{B}{B}|Creature - Demon|3|3|Convoke$Flying$Devour 2| Force of Despair|Modern Horizons|92|R|{1}{B}{B}|Instant|||If it's not your turn, you may exile a black card from your hand rather than pay this spell's mana cost.$Destroy all creatures that entered the battlefield this turn.| Headless Specter|Modern Horizons|95|C|{1}{B}{B}|Creature - Specter|2|2|Flying$Hellbent — Whenever Headless Specter deals combat damage to a player, if you have no cards in hand, that player discards a card at random.| +Nether Spirit|Modern Horizons|98|R|{1}{B}{B}|Creature - Spirit|2|2|At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield.| Plague Engineer|Modern Horizons|100|R|{2}{B}|Creature - Carrier|2|2|Deathtouch$As Plague Engineer enters the battlefield, choose a creature type.$Creatures of the chosen type your opponents control get -1/-1.| Sling-Gang Lieutenant|Modern Horizons|108|U|{3}{B}|Creature - Goblin|1|1|When Sling-Gang Lieutenant enters the battlefield, create two 1/1 red Goblin creature tokens.$Sacrifice a Goblin: Target player loses 1 life and you gain 1 life.| Umezawa's Charm|Modern Horizons|111|C|{1}{B}|Instant|||Choose one—$• Target creature gets +2/+2 until end of turn.$• Target creature gets -1/-1 until end of turn.$• You gain 2 life.| Undead Augur|Modern Horizons|112|U|{B}{B}|Creature - Zombie Wizard|2|2|Whenever Undead Augur or another Zombie you control dies, you draw a card and you lose 1 life.| +Unearth|Modern Horizons|113|C|{B}|Sorcery|||Return target creature card with converted mana cost 3 or less from your graveyard to the battlefield.$Cycling {2}| Venomous Changeling|Modern Horizons|114|C|{2}{B}|Creature - Shapeshifter|1|3|Changeling$Deathtouch| Yawgmoth, Thran Physician|Modern Horizons|116|M|{2}{B}{B}|Legendary Creature - Human Cleric|2|4|Protection from Humans$Pay 1 life, Sacrifice another creature: Put a -1/-1 counter on up to one target creature and draw a card.${B}{B}, Discard a card: Proliferate.| Aria of Flame|Modern Horizons|118|R|{2}{R}|Enchantment|||When Aria of Flame enters the battlefield, each opponent gains 10 life.$Whenever you cast an instant or sorcery spell, put a verse counter on Aria of Flame, then it deals damage equal to the number of verse counters on it to target player or planeswalker.| @@ -35179,11 +35184,13 @@ Goblin War Party|Modern Horizons|131|C|{3}{R}|Sorcery|||Choose one —$• Creat Hollowhead Sliver|Modern Horizons|132|U|{2}{R}|Creature - Sliver|2|2|Sliver creatures you control have "{T}, Discard a card: Draw a card."| Lava Dart|Modern Horizons|134|C|{R}|Instant|||Lava Dart deals 1 damage to any target.$Flashback—Sacrifice a Mountain.| Orcish Hellraiser|Modern Horizons|136|C|{1}{R}|Creature - Orc Warrior|3|2|Echo {R}$When Orcish Hellraiser dies, it deals 2 damage to target player or planeswalker.| +Ore-Scale Guardian|Modern Horizons|137|U|{5}{R}{R}|Creature - Dragon|4|4|This spell costs {1} less to cast for each land card in your graveyard.$Flying, haste| Pillage|Modern Horizons|139|U|{1}{R}{R}|Sorcery|||Destroy target artifact or land. It can't be regenerated.| Planebound Accomplice|Modern Horizons|140|R|{2}{R}|Creature - Human Wizard|1|3|{R}: You may put a planeswalker card from your hand onto the battlefield. Sacrifice it at the beginning of the next end step.| Pyrophobia|Modern Horizons|141|C|{1}{R}|Sorcery|||Pyrophobia deals 3 damage to target creature. Cowards can't block this turn.| Ravenous Giant|Modern Horizons|143|U|{2}{R}{R}|Creature - Giant|5|5|At the beginning of your upkeep, Ravenous Giant deals 1 damage to you.| Seasoned Pyromancer|Modern Horizons|145|M|{1}{R}{R}|Creature - Human Shaman|2|2|When Seasoned Pyromancer enters the battlefield, discard two cards, then draw two cards. For each nonland card discarded this way, create a 1/1 red Elemental creature token.${3}{R}{R}, Exile Seasoned Pyromancer from your graveyard: Create two 1/1 red Elemental creature tokens.| +Throes of Chaos|Modern Horizons|150|U|{3}{R}|Sorcery|||Cascade$Retrace| Ayula, Queen Among Bears|Modern Horizons|155|R|{1}{G}|Legendary Creature - Bear|2|2|Whenever another Bear enters the battlefield under your control, choose one —$• Put two +1/+1 counters on target Bear.$• Target Bear you control fights target creature you don't control.| Ayula's Influence|Modern Horizons|156|R|{G}{G}{G}|Enchantment|||Discard a land card: Create a 2/2 green Bear creature token.| Collector Ouphe|Modern Horizons|158|R|{1}{G}|Creature - Ouphe|2|2|Activated abilities of artifacts can't be activated.| @@ -35223,6 +35230,7 @@ Lavabelly Sliver|Modern Horizons|207|U|{1}{R}{W}|Creature - Sliver|2|2|Sliver cr Lightning Skelemental|Modern Horizons|208|R|{B}{R}{R}|Creature - Elemental Skeleton|6|1|Trample, haste$Whenever Lightning Skelemental deals combat damage to a player, that player discards two cards.$At the beginning of the end step, sacrifice Lightning Skelemental.| Munitions Expert|Modern Horizons|209|U|{B}{R}|Creature - Goblin|1|1|Flash$When Munitions Expert enters the battlefield, you may have it deal damage to target creature or planeswalker equal to the number of Goblins you control.| Nature's Chant|Modern Horizons|210|C|{1}{G/W}|Instant|||Destroy target artifact or enchantment.| +Ruination Rioter|Modern Horizons|213|U|{R}{G}|Creature - Human Berserker|1|1|When Ruination Rioter dies, you may have it deal damage to any target equal to the number of land cards in your graveyard.| Thundering Djinn|Modern Horizons|215|U|{3}{U}{R}|Creature - Djinn|3|4|Flying$Whenever Thundering Djinn attacks, it deals damage to any target equal to the number of cards you've drawn this turn.| Wrenn and Six|Modern Horizons|217|M|{R}{G}|Legendary Planeswalker - Wrenn|3|+1: Return up to one target land card from your graveyard to your hand.$-1: Wrenn and Six deals 1 damage to any target.$-7: You get an emblem with "Instant and sorcery cards in your graveyard have retrace."| Altar of Dementia|Modern Horizons|218|R|{2}|Artifact|||Sacrifice a creature: Target player puts a number of cards equal to the sacrificed creature's power from the top of their library into their graveyard.| From 3829c3a9a2a71bdaf9e223e7497f88515f687214 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 May 2019 13:37:20 -0400 Subject: [PATCH 4/5] fixed another small error with Valiant Changeling --- Mage.Sets/src/mage/cards/v/ValiantChangeling.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/v/ValiantChangeling.java b/Mage.Sets/src/mage/cards/v/ValiantChangeling.java index 68361e25e74..ff5ec85bc40 100644 --- a/Mage.Sets/src/mage/cards/v/ValiantChangeling.java +++ b/Mage.Sets/src/mage/cards/v/ValiantChangeling.java @@ -82,7 +82,7 @@ class ValiantChangelingCostReductionEffect extends CostModificationEffectImpl { break; } } - CardUtil.reduceCost(abilityToModify, Math.max(reductionAmount, 5)); + CardUtil.reduceCost(abilityToModify, Math.min(reductionAmount, 5)); return true; } From eea0daeb4abd2556ce3d1e8fd691aef42971f19b Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 May 2019 13:38:06 -0400 Subject: [PATCH 5/5] updated MH1 spoiler --- Utils/mtg-cards-data.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index a6e8a719df3..8adc75d8381 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -35125,6 +35125,7 @@ Giver of Runes|Modern Horizons|13|R|{W}|Creature - Kor Cleric|1|2|{T}: Another t Impostor of the Sixth Pride|Modern Horizons|14|C|{1}{W}|Creature - Shapeshifter|3|1|Changeling| King of the Pride|Modern Horizons|16|U|{2}{W}|Creature - Cat|2|1|Other Cats you control get +2/+1.| Martyr's Soul|Modern Horizons|19|C|{2}{W}|Creature - Spirit Soldier|3|2|Convoke$When Martyr's Soul enters the battlefield, if you control no tapped lands, put two +1/+1 counters on it.| +On Thin Ice|Modern Horizons|20|R|{W}|Snow Enchantment - Aura|||Enchant snow land you control$When On Thin Ice enters the battlefield, exile target creature an opponent controls until On Thin Ice leaves the battlefield.| Ranger-Captain of Eos|Modern Horizons|21|M|{1}{W}{W}|Creature - Human Soldier|3|3|When Ranger-Captain of Eos enters the battlefield, you may search your library for a creature card with converted mana cost 1 or less, reveal it, put it into your hand, then shuffle your library.$Sacrifice Ranger-Captain of Eos: Your opponents can't cast noncreature spells this turn.| Segovian Angel|Modern Horizons|25|C|{W}|Creature - Angel|1|1|Flying, vigilance| Serra the Benevolent|Modern Horizons|26|M|{2}{W}{W}|Legendary Planeswalker - Serra|4|+2: Creatures you control with flying get +1/+1 until end of turn.$-3: Create a 4/4 white Angel creature token with flying and vigilance.$-6: You get an emblem with "If you control a creature, damage that would reduce your life total to less than 1 reduces it to 1 instead."| @@ -35185,6 +35186,7 @@ Hollowhead Sliver|Modern Horizons|132|U|{2}{R}|Creature - Sliver|2|2|Sliver crea Lava Dart|Modern Horizons|134|C|{R}|Instant|||Lava Dart deals 1 damage to any target.$Flashback—Sacrifice a Mountain.| Orcish Hellraiser|Modern Horizons|136|C|{1}{R}|Creature - Orc Warrior|3|2|Echo {R}$When Orcish Hellraiser dies, it deals 2 damage to target player or planeswalker.| Ore-Scale Guardian|Modern Horizons|137|U|{5}{R}{R}|Creature - Dragon|4|4|This spell costs {1} less to cast for each land card in your graveyard.$Flying, haste| +Pashalik Mons|Modern Horizons|138|R|{2}{R}|Legendary Creature - Goblin Warrior|2|2|Whenever Pashalik Mons or another Goblin you control dies, Pashalik Mons deals 1 damage to any target.${3}{R}, Sacrifice a Goblin: Create two 1/1 red Goblin creature tokens.| Pillage|Modern Horizons|139|U|{1}{R}{R}|Sorcery|||Destroy target artifact or land. It can't be regenerated.| Planebound Accomplice|Modern Horizons|140|R|{2}{R}|Creature - Human Wizard|1|3|{R}: You may put a planeswalker card from your hand onto the battlefield. Sacrifice it at the beginning of the next end step.| Pyrophobia|Modern Horizons|141|C|{1}{R}|Sorcery|||Pyrophobia deals 3 damage to target creature. Cowards can't block this turn.|