Added 3/2/17 MM3 reprints.

This commit is contained in:
fireshoes 2017-03-02 21:39:14 -06:00
parent 9cf0ebb2ae
commit 010be2b53f
5 changed files with 582 additions and 1 deletions

View file

@ -0,0 +1,575 @@
/*
* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
package mage.tournament.cubes;
import mage.game.draft.DraftCube;
/**
*
* @author fireshoes
*/
public class ModernCube2017 extends DraftCube {
public ModernCube2017() {
super("Modern Cube 2017"); // http://magic.wizards.com/en/articles/archive/magic-online/modern-cube-cardlist-2017-03-02
cubeCards.add(new CardIdentity("Abrupt Decay", ""));
cubeCards.add(new CardIdentity("Abyssal Persecutor", ""));
cubeCards.add(new CardIdentity("Acidic Slime", ""));
cubeCards.add(new CardIdentity("Adarkar Wastes", ""));
cubeCards.add(new CardIdentity("Aether Adept", ""));
cubeCards.add(new CardIdentity("Aethersphere Harvester", ""));
cubeCards.add(new CardIdentity("Ajani Goldmane", ""));
cubeCards.add(new CardIdentity("Ajani Vengeant", ""));
cubeCards.add(new CardIdentity("Ajani, Mentor of Heroes", ""));
cubeCards.add(new CardIdentity("Alesha, Who Smiles at Death", ""));
cubeCards.add(new CardIdentity("Ambition's Cost", ""));
cubeCards.add(new CardIdentity("Anafenza, Kin-Tree Spirit", ""));
cubeCards.add(new CardIdentity("Ancestral Vision", ""));
cubeCards.add(new CardIdentity("Ancient Grudge", ""));
cubeCards.add(new CardIdentity("Angel of Jubilation", ""));
cubeCards.add(new CardIdentity("Angel of Serenity", ""));
cubeCards.add(new CardIdentity("Anger of the Gods", ""));
cubeCards.add(new CardIdentity("Anguished Unmaking", ""));
cubeCards.add(new CardIdentity("Anticipate", ""));
cubeCards.add(new CardIdentity("Arbor Elf", ""));
cubeCards.add(new CardIdentity("Arc Trail", ""));
cubeCards.add(new CardIdentity("Archangel Avacyn", ""));
cubeCards.add(new CardIdentity("Arid Mesa", ""));
cubeCards.add(new CardIdentity("Arlinn Kord", ""));
cubeCards.add(new CardIdentity("Ashiok, Nightmare Weaver", ""));
cubeCards.add(new CardIdentity("Asylum Visitor", ""));
cubeCards.add(new CardIdentity("Avacyn's Pilgrim", ""));
cubeCards.add(new CardIdentity("Avenger of Zendikar", ""));
cubeCards.add(new CardIdentity("Awakening Zone", ""));
cubeCards.add(new CardIdentity("Azure Mage", ""));
cubeCards.add(new CardIdentity("Banefire", ""));
cubeCards.add(new CardIdentity("Baneslayer Angel", ""));
cubeCards.add(new CardIdentity("Bant Charm", ""));
cubeCards.add(new CardIdentity("Baral, Chief of Compliance", ""));
cubeCards.add(new CardIdentity("Batterskull", ""));
cubeCards.add(new CardIdentity("Battlefield Forge", ""));
cubeCards.add(new CardIdentity("Beast Within", ""));
cubeCards.add(new CardIdentity("Birds of Paradise", ""));
cubeCards.add(new CardIdentity("Bitterblossom", ""));
cubeCards.add(new CardIdentity("Black Sun's Zenith", ""));
cubeCards.add(new CardIdentity("Blade Splicer", ""));
cubeCards.add(new CardIdentity("Blood Crypt", ""));
cubeCards.add(new CardIdentity("Bloodgift Demon", ""));
cubeCards.add(new CardIdentity("Bloodline Keeper", ""));
cubeCards.add(new CardIdentity("Bloodstained Mire", ""));
cubeCards.add(new CardIdentity("Bloom Tender", ""));
cubeCards.add(new CardIdentity("Body Double", ""));
cubeCards.add(new CardIdentity("Boggart Ram-Gang", ""));
cubeCards.add(new CardIdentity("Bonesplitter", ""));
cubeCards.add(new CardIdentity("Bonfire of the Damned", ""));
cubeCards.add(new CardIdentity("Boom // Bust", ""));
cubeCards.add(new CardIdentity("Borderland Marauder", ""));
cubeCards.add(new CardIdentity("Boros Reckoner", ""));
cubeCards.add(new CardIdentity("Brain Maggot", ""));
cubeCards.add(new CardIdentity("Breeding Pool", ""));
cubeCards.add(new CardIdentity("Bribery", ""));
cubeCards.add(new CardIdentity("Brimaz, King of Oreskos", ""));
cubeCards.add(new CardIdentity("Brimstone Volley", ""));
cubeCards.add(new CardIdentity("Brushland", ""));
cubeCards.add(new CardIdentity("Burning-Tree Emissary", ""));
cubeCards.add(new CardIdentity("Burst Lightning", ""));
cubeCards.add(new CardIdentity("Bygone Bishop", ""));
cubeCards.add(new CardIdentity("Canopy Vista", ""));
cubeCards.add(new CardIdentity("Careful Consideration", ""));
cubeCards.add(new CardIdentity("Cascade Bluffs", ""));
cubeCards.add(new CardIdentity("Caves of Koilos", ""));
cubeCards.add(new CardIdentity("Celestial Colonnade", ""));
cubeCards.add(new CardIdentity("Chained to the Rocks", ""));
cubeCards.add(new CardIdentity("Chandra Nalaar", ""));
cubeCards.add(new CardIdentity("Chandra's Phoenix", ""));
cubeCards.add(new CardIdentity("Chandra, Fire of Kaladesh", ""));
cubeCards.add(new CardIdentity("Chandra, Flamecaller", ""));
cubeCards.add(new CardIdentity("Chandra, Pyromaster", ""));
cubeCards.add(new CardIdentity("Chandra, Torch of Defiance", ""));
cubeCards.add(new CardIdentity("Char", ""));
cubeCards.add(new CardIdentity("Chasm Skulker", ""));
cubeCards.add(new CardIdentity("Chromatic Lantern", ""));
cubeCards.add(new CardIdentity("Cinder Glade", ""));
cubeCards.add(new CardIdentity("City of Brass", ""));
cubeCards.add(new CardIdentity("Clever Impersonator", ""));
cubeCards.add(new CardIdentity("Clifftop Retreat", ""));
cubeCards.add(new CardIdentity("Cloistered Youth", ""));
cubeCards.add(new CardIdentity("Cloudgoat Ranger", ""));
cubeCards.add(new CardIdentity("Coalition Relic", ""));
cubeCards.add(new CardIdentity("Coldsteel Heart", ""));
cubeCards.add(new CardIdentity("Collective Defiance", ""));
cubeCards.add(new CardIdentity("Compulsive Research", ""));
cubeCards.add(new CardIdentity("Condemn", ""));
cubeCards.add(new CardIdentity("Condescend", ""));
cubeCards.add(new CardIdentity("Confiscate", ""));
cubeCards.add(new CardIdentity("Consecrated Sphinx", ""));
cubeCards.add(new CardIdentity("Consuming Vapors", ""));
cubeCards.add(new CardIdentity("Courser of Kruphix", ""));
cubeCards.add(new CardIdentity("Craterhoof Behemoth", ""));
cubeCards.add(new CardIdentity("Creeping Tar Pit", ""));
cubeCards.add(new CardIdentity("Crypt Ghast", ""));
cubeCards.add(new CardIdentity("Cryptic Command", ""));
cubeCards.add(new CardIdentity("Crystal Shard", ""));
cubeCards.add(new CardIdentity("Cultivate", ""));
cubeCards.add(new CardIdentity("Cyclonic Rift", ""));
cubeCards.add(new CardIdentity("Damnation", ""));
cubeCards.add(new CardIdentity("Dark Confidant", ""));
cubeCards.add(new CardIdentity("Day of Judgment", ""));
cubeCards.add(new CardIdentity("Dead // Gone", ""));
cubeCards.add(new CardIdentity("Delver of Secrets", ""));
cubeCards.add(new CardIdentity("Den Protector", ""));
cubeCards.add(new CardIdentity("Despise", ""));
cubeCards.add(new CardIdentity("Destructive Force", ""));
cubeCards.add(new CardIdentity("Devil's Play", ""));
cubeCards.add(new CardIdentity("Devoted Druid", ""));
cubeCards.add(new CardIdentity("Devour Flesh", ""));
cubeCards.add(new CardIdentity("Dictate of Heliod", ""));
cubeCards.add(new CardIdentity("Disallow", ""));
cubeCards.add(new CardIdentity("Disenchant", ""));
cubeCards.add(new CardIdentity("Disfigure", ""));
cubeCards.add(new CardIdentity("Dismember", ""));
cubeCards.add(new CardIdentity("Dissipate", ""));
cubeCards.add(new CardIdentity("Dissolve", ""));
cubeCards.add(new CardIdentity("Distended Mindbender", ""));
cubeCards.add(new CardIdentity("Doom Blade", ""));
cubeCards.add(new CardIdentity("Dragon Hunter", ""));
cubeCards.add(new CardIdentity("Dragonlord Silumgar", ""));
cubeCards.add(new CardIdentity("Dragonskull Summit", ""));
cubeCards.add(new CardIdentity("Drana, Liberator of Malakir", ""));
cubeCards.add(new CardIdentity("Dreadbore", ""));
cubeCards.add(new CardIdentity("Drowned Catacomb", ""));
cubeCards.add(new CardIdentity("Dungeon Geists", ""));
cubeCards.add(new CardIdentity("Duplicant", ""));
cubeCards.add(new CardIdentity("Duress", ""));
cubeCards.add(new CardIdentity("Duskwatch Recruiter", ""));
cubeCards.add(new CardIdentity("Earthquake", ""));
cubeCards.add(new CardIdentity("Elder Deep-Fiend", ""));
cubeCards.add(new CardIdentity("Eldritch Evolution", ""));
cubeCards.add(new CardIdentity("Electrolyze", ""));
cubeCards.add(new CardIdentity("Elesh Norn, Grand Cenobite", ""));
cubeCards.add(new CardIdentity("Elspeth Tirel", ""));
cubeCards.add(new CardIdentity("Elspeth, Knight-Errant", ""));
cubeCards.add(new CardIdentity("Elspeth, Sun's Champion", ""));
cubeCards.add(new CardIdentity("Elves of Deep Shadow", ""));
cubeCards.add(new CardIdentity("Elvish Mystic", ""));
cubeCards.add(new CardIdentity("Emeria Angel", ""));
cubeCards.add(new CardIdentity("Enclave Cryptologist", ""));
cubeCards.add(new CardIdentity("Entreat the Angels", ""));
cubeCards.add(new CardIdentity("Essence Scatter", ""));
cubeCards.add(new CardIdentity("Eternal Witness", ""));
cubeCards.add(new CardIdentity("Ever After", ""));
cubeCards.add(new CardIdentity("Everflowing Chalice", ""));
cubeCards.add(new CardIdentity("Evolving Wilds", ""));
cubeCards.add(new CardIdentity("Exquisite Firecraft", ""));
cubeCards.add(new CardIdentity("Faith's Fetters", ""));
cubeCards.add(new CardIdentity("Falkenrath Aristocrat", ""));
cubeCards.add(new CardIdentity("Falkenrath Gorger", ""));
cubeCards.add(new CardIdentity("Far // Away", ""));
cubeCards.add(new CardIdentity("Farseek", ""));
cubeCards.add(new CardIdentity("Fatal Push", ""));
cubeCards.add(new CardIdentity("Felidar Guardian", ""));
cubeCards.add(new CardIdentity("Fertile Ground", ""));
cubeCards.add(new CardIdentity("Fetid Heath", ""));
cubeCards.add(new CardIdentity("Figure of Destiny", ""));
cubeCards.add(new CardIdentity("Firedrinker Satyr", ""));
cubeCards.add(new CardIdentity("Flame Javelin", ""));
cubeCards.add(new CardIdentity("Flame Slash", ""));
cubeCards.add(new CardIdentity("Fleecemane Lion", ""));
cubeCards.add(new CardIdentity("Flickerwisp", ""));
cubeCards.add(new CardIdentity("Flinthoof Boar", ""));
cubeCards.add(new CardIdentity("Flooded Grove", ""));
cubeCards.add(new CardIdentity("Flooded Strand", ""));
cubeCards.add(new CardIdentity("Frost Lynx", ""));
cubeCards.add(new CardIdentity("Frost Titan", ""));
cubeCards.add(new CardIdentity("Frost Walker", ""));
cubeCards.add(new CardIdentity("Garruk Relentless", ""));
cubeCards.add(new CardIdentity("Garruk Wildspeaker", ""));
cubeCards.add(new CardIdentity("Garruk, Apex Predator", ""));
cubeCards.add(new CardIdentity("Garruk, Primal Hunter", ""));
cubeCards.add(new CardIdentity("Geist of Saint Traft", ""));
cubeCards.add(new CardIdentity("Genju of the Spires", ""));
cubeCards.add(new CardIdentity("Geralf's Messenger", ""));
cubeCards.add(new CardIdentity("Gideon Jura", ""));
cubeCards.add(new CardIdentity("Gideon's Lawkeeper", ""));
cubeCards.add(new CardIdentity("Gideon, Ally of Zendikar", ""));
cubeCards.add(new CardIdentity("Gideon, Champion of Justice", ""));
cubeCards.add(new CardIdentity("Gifted Aetherborn", ""));
cubeCards.add(new CardIdentity("Gifts Ungiven", ""));
cubeCards.add(new CardIdentity("Gilded Lotus", ""));
cubeCards.add(new CardIdentity("Glen Elendra Archmage", ""));
cubeCards.add(new CardIdentity("Glint-Sleeve Siphoner", ""));
cubeCards.add(new CardIdentity("Glorious Anthem", ""));
cubeCards.add(new CardIdentity("Go for the Throat", ""));
cubeCards.add(new CardIdentity("Goblin Guide", ""));
cubeCards.add(new CardIdentity("Goblin Rabblemaster", ""));
cubeCards.add(new CardIdentity("Godless Shrine", ""));
cubeCards.add(new CardIdentity("Goldnight Castigator", ""));
cubeCards.add(new CardIdentity("Grafted Wargear", ""));
cubeCards.add(new CardIdentity("Grapple with the Past", ""));
cubeCards.add(new CardIdentity("Grave Titan", ""));
cubeCards.add(new CardIdentity("Graveborn Muse", ""));
cubeCards.add(new CardIdentity("Gray Merchant of Asphodel", ""));
cubeCards.add(new CardIdentity("Greater Gargadon", ""));
cubeCards.add(new CardIdentity("Grim Lavamancer", ""));
cubeCards.add(new CardIdentity("Griselbrand", ""));
cubeCards.add(new CardIdentity("Guul Draz Assassin", ""));
cubeCards.add(new CardIdentity("Hall of Triumph", ""));
cubeCards.add(new CardIdentity("Hallowed Fountain", ""));
cubeCards.add(new CardIdentity("Hangarback Walker", ""));
cubeCards.add(new CardIdentity("Hanweir Militia Captain", ""));
cubeCards.add(new CardIdentity("Harmonize", ""));
cubeCards.add(new CardIdentity("Heart of Kiran", ""));
cubeCards.add(new CardIdentity("Hedron Archive", ""));
cubeCards.add(new CardIdentity("Hellrider", ""));
cubeCards.add(new CardIdentity("Herald of Torment", ""));
cubeCards.add(new CardIdentity("Hero of Bladehold", ""));
cubeCards.add(new CardIdentity("Hero's Downfall", ""));
cubeCards.add(new CardIdentity("Hinterland Harbor", ""));
cubeCards.add(new CardIdentity("Honor of the Pure", ""));
cubeCards.add(new CardIdentity("Hornet Nest", ""));
cubeCards.add(new CardIdentity("Hornet Queen", ""));
cubeCards.add(new CardIdentity("Huntmaster of the Fells", ""));
cubeCards.add(new CardIdentity("Hypotic Specter", ""));
cubeCards.add(new CardIdentity("Icy Manipulator", ""));
cubeCards.add(new CardIdentity("Imposing Sovereign", ""));
cubeCards.add(new CardIdentity("Imprisoned in the Moon", ""));
cubeCards.add(new CardIdentity("Inferno Titan", ""));
cubeCards.add(new CardIdentity("Ink-Eyes, Servant of Oni", ""));
cubeCards.add(new CardIdentity("Inquisition of Kozilek", ""));
cubeCards.add(new CardIdentity("Into the Roil", ""));
cubeCards.add(new CardIdentity("Ire Shaman", ""));
cubeCards.add(new CardIdentity("Isamaru, Hound of Konda", ""));
cubeCards.add(new CardIdentity("Isolated Chapel", ""));
cubeCards.add(new CardIdentity("Izzet Charm", ""));
cubeCards.add(new CardIdentity("Jace Beleren", ""));
cubeCards.add(new CardIdentity("Jace, Architect of Though", ""));
cubeCards.add(new CardIdentity("Jace, Unraveler of Secrets", ""));
cubeCards.add(new CardIdentity("Jace, Vryn's Prodigy", ""));
cubeCards.add(new CardIdentity("Jinxed Choker", ""));
cubeCards.add(new CardIdentity("Joraga Treespeaker", ""));
cubeCards.add(new CardIdentity("Journey to Nowhere", ""));
cubeCards.add(new CardIdentity("Kargan Dragonlord", ""));
cubeCards.add(new CardIdentity("Kari Zev, Skyship Raider", ""));
cubeCards.add(new CardIdentity("Karn Liberated", ""));
cubeCards.add(new CardIdentity("Karplusan Forest", ""));
cubeCards.add(new CardIdentity("Kessig Prowler", ""));
cubeCards.add(new CardIdentity("Kessig Wolf Run", ""));
cubeCards.add(new CardIdentity("Kik-Jiki, Mirror Breaker", ""));
cubeCards.add(new CardIdentity("Kiora, Master of the Depths", ""));
cubeCards.add(new CardIdentity("Kira, Great Glass-Spinner", ""));
cubeCards.add(new CardIdentity("Kitchen Finks", ""));
cubeCards.add(new CardIdentity("Knight of Meadowgrain", ""));
cubeCards.add(new CardIdentity("Kokusho, the Evening Star", ""));
cubeCards.add(new CardIdentity("Kolaghan's Command", ""));
cubeCards.add(new CardIdentity("Kor Hookmaster", ""));
cubeCards.add(new CardIdentity("Koth of the Hammer", ""));
cubeCards.add(new CardIdentity("Kytheon, Hero of Akros", ""));
cubeCards.add(new CardIdentity("Lash Out", ""));
cubeCards.add(new CardIdentity("Lavaclaw Reaches", ""));
cubeCards.add(new CardIdentity("Lifebane Zombie", ""));
cubeCards.add(new CardIdentity("Lightning Bolt", ""));
cubeCards.add(new CardIdentity("Lightning Helix", ""));
cubeCards.add(new CardIdentity("Lightning Mauler", ""));
cubeCards.add(new CardIdentity("Lightning Strike", ""));
cubeCards.add(new CardIdentity("Liliana of the Veil", ""));
cubeCards.add(new CardIdentity("Liliana Vess", ""));
cubeCards.add(new CardIdentity("Liliana's Specter", ""));
cubeCards.add(new CardIdentity("Liliana, Heretical Healer", ""));
cubeCards.add(new CardIdentity("Liliana, the Last Hope", ""));
cubeCards.add(new CardIdentity("Lingering Souls", ""));
cubeCards.add(new CardIdentity("Llanowar Elves", ""));
cubeCards.add(new CardIdentity("Llanowar Wastes", ""));
cubeCards.add(new CardIdentity("Lodestone Golem", ""));
cubeCards.add(new CardIdentity("Looter il-Kor", ""));
cubeCards.add(new CardIdentity("Lotus Cobra", ""));
cubeCards.add(new CardIdentity("Maelstrom Pulse", ""));
cubeCards.add(new CardIdentity("Magma Jet", ""));
cubeCards.add(new CardIdentity("Mana Leak", ""));
cubeCards.add(new CardIdentity("Mana Tithe", ""));
cubeCards.add(new CardIdentity("Managorger Hydra", ""));
cubeCards.add(new CardIdentity("Marsh Flats", ""));
cubeCards.add(new CardIdentity("Martial Coup", ""));
cubeCards.add(new CardIdentity("Masked Admirers", ""));
cubeCards.add(new CardIdentity("Massacre Wurm", ""));
cubeCards.add(new CardIdentity("Master of the Wild Hunt", ""));
cubeCards.add(new CardIdentity("Mayor of Avabruck", ""));
cubeCards.add(new CardIdentity("Meloku the Clouded Mirror", ""));
cubeCards.add(new CardIdentity("Mikaeus, the Lunarch", ""));
cubeCards.add(new CardIdentity("Mimic Vat", ""));
cubeCards.add(new CardIdentity("Mind Control", ""));
cubeCards.add(new CardIdentity("Mind Shatter", ""));
cubeCards.add(new CardIdentity("Mind Stone", ""));
cubeCards.add(new CardIdentity("Mirror Entity", ""));
cubeCards.add(new CardIdentity("Mist Raven", ""));
cubeCards.add(new CardIdentity("Misty Rainforest", ""));
cubeCards.add(new CardIdentity("Mizzium Mortars", ""));
cubeCards.add(new CardIdentity("Monastery Mentor", ""));
cubeCards.add(new CardIdentity("Mulldrifter", ""));
cubeCards.add(new CardIdentity("Murderous Cut", ""));
cubeCards.add(new CardIdentity("Murderous Redcap", ""));
cubeCards.add(new CardIdentity("Mutavault", ""));
cubeCards.add(new CardIdentity("Myr Battlesphere", ""));
cubeCards.add(new CardIdentity("Nahiri, the Harbinger", ""));
cubeCards.add(new CardIdentity("Negate", ""));
cubeCards.add(new CardIdentity("Nest Invader", ""));
cubeCards.add(new CardIdentity("Nicol Bolas, Planeswalker", ""));
cubeCards.add(new CardIdentity("Night's Whisper", ""));
cubeCards.add(new CardIdentity("Nightveil Specter", ""));
cubeCards.add(new CardIdentity("Nissa, Vastwood Seer", ""));
cubeCards.add(new CardIdentity("Nissa, Vital Force", ""));
cubeCards.add(new CardIdentity("Nissa, Voice of Zendikar", ""));
cubeCards.add(new CardIdentity("Noble Hierarch", ""));
cubeCards.add(new CardIdentity("Nykthos, Shrine to Nyx", ""));
cubeCards.add(new CardIdentity("Ob Nixilis Reignited", ""));
cubeCards.add(new CardIdentity("Oblivion Ring", ""));
cubeCards.add(new CardIdentity("Oblivion Stone", ""));
cubeCards.add(new CardIdentity("Obzedat, Ghost Council", ""));
cubeCards.add(new CardIdentity("Odric, Lunarch Marshal", ""));
cubeCards.add(new CardIdentity("Olivia Voldaren", ""));
cubeCards.add(new CardIdentity("Oona, Queen of the Fae", ""));
cubeCards.add(new CardIdentity("Oracle of Mul Daya", ""));
cubeCards.add(new CardIdentity("Oust", ""));
cubeCards.add(new CardIdentity("Outpost Siege", ""));
cubeCards.add(new CardIdentity("Overgrown Tomb", ""));
cubeCards.add(new CardIdentity("Overwhelming Stampede", ""));
cubeCards.add(new CardIdentity("Pack Rat", ""));
cubeCards.add(new CardIdentity("Pact of Negation", ""));
cubeCards.add(new CardIdentity("Palldium Myr", ""));
cubeCards.add(new CardIdentity("Path to Exile", ""));
cubeCards.add(new CardIdentity("Perilous Myr", ""));
cubeCards.add(new CardIdentity("Pestermite", ""));
cubeCards.add(new CardIdentity("Phantasmal Bear", ""));
cubeCards.add(new CardIdentity("Phantasmal Image", ""));
cubeCards.add(new CardIdentity("Phyrexian Arena", ""));
cubeCards.add(new CardIdentity("Phyrexian Metamorph", ""));
cubeCards.add(new CardIdentity("Phyrexian Obliterator", ""));
cubeCards.add(new CardIdentity("Phyrexian Revoker", ""));
cubeCards.add(new CardIdentity("Pia and Kiran Nalaar", ""));
cubeCards.add(new CardIdentity("Pilgrim's Eye", ""));
cubeCards.add(new CardIdentity("Pitiless Horde", ""));
cubeCards.add(new CardIdentity("Polluted Delta", ""));
cubeCards.add(new CardIdentity("Polukranos, World Eater", ""));
cubeCards.add(new CardIdentity("Porcelain Legionnaire", ""));
cubeCards.add(new CardIdentity("Prairie Stream", ""));
cubeCards.add(new CardIdentity("Precursor Golem", ""));
cubeCards.add(new CardIdentity("Primeval Titan", ""));
cubeCards.add(new CardIdentity("Prismatic Lens", ""));
cubeCards.add(new CardIdentity("Profane Command", ""));
cubeCards.add(new CardIdentity("Progenitor Mimic", ""));
cubeCards.add(new CardIdentity("Prophet of Kruphix", ""));
cubeCards.add(new CardIdentity("Prophetic Flamespeaker", ""));
cubeCards.add(new CardIdentity("Psionic Blast", ""));
cubeCards.add(new CardIdentity("Pyroclasm", ""));
cubeCards.add(new CardIdentity("Qasali Pridemage", ""));
cubeCards.add(new CardIdentity("Quarantine Field", ""));
cubeCards.add(new CardIdentity("Rabid Bite", ""));
cubeCards.add(new CardIdentity("Raging Ravine", ""));
cubeCards.add(new CardIdentity("Rakdos Cackler", ""));
cubeCards.add(new CardIdentity("Ral Zarek", ""));
cubeCards.add(new CardIdentity("Rampaging Baloths", ""));
cubeCards.add(new CardIdentity("Rashmi, Eternities Crafter", ""));
cubeCards.add(new CardIdentity("Rattleclaw Mystic", ""));
cubeCards.add(new CardIdentity("Read the Bones", ""));
cubeCards.add(new CardIdentity("Reckless Waif", ""));
cubeCards.add(new CardIdentity("Reclamation Sage", ""));
cubeCards.add(new CardIdentity("Reflecting Pool", ""));
cubeCards.add(new CardIdentity("Reflector Mage", ""));
cubeCards.add(new CardIdentity("Release the Gremlins", ""));
cubeCards.add(new CardIdentity("Remand", ""));
cubeCards.add(new CardIdentity("Repeal", ""));
cubeCards.add(new CardIdentity("Restoration Angel", ""));
cubeCards.add(new CardIdentity("Return to Dust", ""));
cubeCards.add(new CardIdentity("Reveillark", ""));
cubeCards.add(new CardIdentity("Riftwing Cloudskate", ""));
cubeCards.add(new CardIdentity("Rishkar's Expertise", ""));
cubeCards.add(new CardIdentity("Rishkar, Peema Renegade", ""));
cubeCards.add(new CardIdentity("Rootbound Crag", ""));
cubeCards.add(new CardIdentity("Rugged Prairie", ""));
cubeCards.add(new CardIdentity("Ruinous Path", ""));
cubeCards.add(new CardIdentity("Rune Snag", ""));
cubeCards.add(new CardIdentity("Rune-Scarred Demon", ""));
cubeCards.add(new CardIdentity("Ruthless Ripper", ""));
cubeCards.add(new CardIdentity("Scader Foundry", ""));
cubeCards.add(new CardIdentity("Saheeli Rai", ""));
cubeCards.add(new CardIdentity("Sakura-Tribe Elder", ""));
cubeCards.add(new CardIdentity("Sarkhan, the Dragonspeaker", ""));
cubeCards.add(new CardIdentity("Scalding Tarn", ""));
cubeCards.add(new CardIdentity("Scatter to the Winds", ""));
cubeCards.add(new CardIdentity("Scavenging Ooze", ""));
cubeCards.add(new CardIdentity("Seachrome Coast", ""));
cubeCards.add(new CardIdentity("Search for Tomorrow", ""));
cubeCards.add(new CardIdentity("Searing Blaze", ""));
cubeCards.add(new CardIdentity("Seeker of the Way", ""));
cubeCards.add(new CardIdentity("Selesnya Charm", ""));
cubeCards.add(new CardIdentity("Selfless Spirit", ""));
cubeCards.add(new CardIdentity("Serum Visions", ""));
cubeCards.add(new CardIdentity("Shadowmage Infiltrator", ""));
cubeCards.add(new CardIdentity("Shelldock Isle", ""));
cubeCards.add(new CardIdentity("Sheoldred, Whispering One", ""));
cubeCards.add(new CardIdentity("Shivan Reef", ""));
cubeCards.add(new CardIdentity("Shriekmaw", ""));
cubeCards.add(new CardIdentity("Shrine of Burning Rage", ""));
cubeCards.add(new CardIdentity("Shrine of Loyal Legions", ""));
cubeCards.add(new CardIdentity("Sidisi, Undead Vizier", ""));
cubeCards.add(new CardIdentity("Siege Rhino", ""));
cubeCards.add(new CardIdentity("Siege-Gang Commander", ""));
cubeCards.add(new CardIdentity("Silent Departure", ""));
cubeCards.add(new CardIdentity("Silverblade Paladin", ""));
cubeCards.add(new CardIdentity("Skinrender", ""));
cubeCards.add(new CardIdentity("Skysovereign, Consul Flagship", ""));
cubeCards.add(new CardIdentity("Slaughter Pact", ""));
cubeCards.add(new CardIdentity("Sleight of Hand", ""));
cubeCards.add(new CardIdentity("Smash to Smithereens", ""));
cubeCards.add(new CardIdentity("Smoldering Marsh", ""));
cubeCards.add(new CardIdentity("Smuggler's Copter", ""));
cubeCards.add(new CardIdentity("Snapcaster Mage", ""));
cubeCards.add(new CardIdentity("Soldier of the Pantheon", ""));
cubeCards.add(new CardIdentity("Solemn Recruit", ""));
cubeCards.add(new CardIdentity("Solemn Simulacrum", ""));
cubeCards.add(new CardIdentity("Sorin Markov", ""));
cubeCards.add(new CardIdentity("Sorin, Grim Nemesis", ""));
cubeCards.add(new CardIdentity("Sorin, Lord of Innistrad", ""));
cubeCards.add(new CardIdentity("Soul Reap", ""));
cubeCards.add(new CardIdentity("Sower of Temptation", ""));
cubeCards.add(new CardIdentity("Spear of Heliod", ""));
cubeCards.add(new CardIdentity("Spectral Procession", ""));
cubeCards.add(new CardIdentity("Spell Piece", ""));
cubeCards.add(new CardIdentity("Spell Queller", ""));
cubeCards.add(new CardIdentity("Spellskite", ""));
cubeCards.add(new CardIdentity("Sphere of the Suns", ""));
cubeCards.add(new CardIdentity("Sphinx's Revelation", ""));
cubeCards.add(new CardIdentity("Spiketail Drakeling", ""));
cubeCards.add(new CardIdentity("Spirit of the Labyrinth", ""));
cubeCards.add(new CardIdentity("Staff of Nin", ""));
cubeCards.add(new CardIdentity("Staggershock", ""));
cubeCards.add(new CardIdentity("Steam Vents", ""));
cubeCards.add(new CardIdentity("Stirring Wildwood", ""));
cubeCards.add(new CardIdentity("Stoke the Flames", ""));
cubeCards.add(new CardIdentity("Stomping Ground", ""));
cubeCards.add(new CardIdentity("Stormblood Berserker", ""));
cubeCards.add(new CardIdentity("Strangleroot Geist", ""));
cubeCards.add(new CardIdentity("Stratus Dancer", ""));
cubeCards.add(new CardIdentity("Stromkirk Noble", ""));
cubeCards.add(new CardIdentity("Student of Warfare", ""));
cubeCards.add(new CardIdentity("Sublime Archangel", ""));
cubeCards.add(new CardIdentity("Sulfur Falls", ""));
cubeCards.add(new CardIdentity("Sulfurous Springs", ""));
cubeCards.add(new CardIdentity("Sun Titan", ""));
cubeCards.add(new CardIdentity("Sundering Growth", ""));
cubeCards.add(new CardIdentity("Sunken Hollow", ""));
cubeCards.add(new CardIdentity("Sunpetal Grove", ""));
cubeCards.add(new CardIdentity("Sword of Feast and Famine", ""));
cubeCards.add(new CardIdentity("Sword of Light and Shadow", ""));
cubeCards.add(new CardIdentity("Sword of War and Peace", ""));
cubeCards.add(new CardIdentity("Sylvan Advocate", ""));
cubeCards.add(new CardIdentity("Tamiyo, the Moon Sage", ""));
cubeCards.add(new CardIdentity("Tasigur, the Golder Fang", ""));
cubeCards.add(new CardIdentity("Teferi, Mage of Zhalfir", ""));
cubeCards.add(new CardIdentity("Temple Garden", ""));
cubeCards.add(new CardIdentity("Temple of Epiphany", ""));
cubeCards.add(new CardIdentity("Temple of Maladay", ""));
cubeCards.add(new CardIdentity("Temple of Mystery", ""));
cubeCards.add(new CardIdentity("Temple of Silence", ""));
cubeCards.add(new CardIdentity("Temple of Triumph", ""));
cubeCards.add(new CardIdentity("Temporal Mastery", ""));
cubeCards.add(new CardIdentity("Terastodon", ""));
cubeCards.add(new CardIdentity("Terramorphic Expanse", ""));
cubeCards.add(new CardIdentity("Thalia, Guardian of Thraben", ""));
cubeCards.add(new CardIdentity("Thalia, Heretic Cathar", ""));
cubeCards.add(new CardIdentity("Thirst for Knowledge", ""));
cubeCards.add(new CardIdentity("Thoughtseize", ""));
cubeCards.add(new CardIdentity("Thragtusk", ""));
cubeCards.add(new CardIdentity("Threads of Disloyalty", ""));
cubeCards.add(new CardIdentity("Thriving Grubs", ""));
cubeCards.add(new CardIdentity("Thurn, the Last Troll", ""));
cubeCards.add(new CardIdentity("Thunderbreak Regent", ""));
cubeCards.add(new CardIdentity("Thundermaw Hellkite", ""));
cubeCards.add(new CardIdentity("Tidings", ""));
cubeCards.add(new CardIdentity("Tireless Tracker", ""));
cubeCards.add(new CardIdentity("Tooth and Nail", ""));
cubeCards.add(new CardIdentity("Torch Fiend", ""));
cubeCards.add(new CardIdentity("Tragic Slip", ""));
cubeCards.add(new CardIdentity("Traverse the Ulvenwald", ""));
cubeCards.add(new CardIdentity("Treetop Village", ""));
cubeCards.add(new CardIdentity("Trophy Mage", ""));
cubeCards.add(new CardIdentity("Trygon Predator", ""));
cubeCards.add(new CardIdentity("Twilight Mire", ""));
cubeCards.add(new CardIdentity("Ugin, the Spirit Dragon", ""));
cubeCards.add(new CardIdentity("Ulamog, the Ceaseless Hunger", ""));
cubeCards.add(new CardIdentity("Ulcerate", ""));
cubeCards.add(new CardIdentity("Ultimate Price", ""));
cubeCards.add(new CardIdentity("Unburial Rites", ""));
cubeCards.add(new CardIdentity("Underground River", ""));
cubeCards.add(new CardIdentity("Undergrowth Champion", ""));
cubeCards.add(new CardIdentity("Utopia Sprawl", ""));
cubeCards.add(new CardIdentity("Valorous Stance", ""));
cubeCards.add(new CardIdentity("Vampire Hexmage", ""));
cubeCards.add(new CardIdentity("Vampire Nighthawk", ""));
cubeCards.add(new CardIdentity("Vendetta", ""));
cubeCards.add(new CardIdentity("Vendilion Clique", ""));
cubeCards.add(new CardIdentity("Vengevine", ""));
cubeCards.add(new CardIdentity("Venser, Shaper Savant", ""));
cubeCards.add(new CardIdentity("Verdant Catacombs", ""));
cubeCards.add(new CardIdentity("Verdurous Gearhulk", ""));
cubeCards.add(new CardIdentity("Vesuvan Shapeshifter", ""));
cubeCards.add(new CardIdentity("Victim of Night", ""));
cubeCards.add(new CardIdentity("Viridian Emissary", ""));
cubeCards.add(new CardIdentity("Vivid Grove", ""));
cubeCards.add(new CardIdentity("Voice of Resurgence", ""));
cubeCards.add(new CardIdentity("Voidmage Prodigy", ""));
cubeCards.add(new CardIdentity("Volt Charge", ""));
cubeCards.add(new CardIdentity("Voltaic Brawler", ""));
cubeCards.add(new CardIdentity("Vraska the Unseen", ""));
cubeCards.add(new CardIdentity("Wake Thrasher", ""));
cubeCards.add(new CardIdentity("Wall of Roots", ""));
cubeCards.add(new CardIdentity("Watery Grave", ""));
cubeCards.add(new CardIdentity("Wear // Tear", ""));
cubeCards.add(new CardIdentity("Westvale Abbey", ""));
cubeCards.add(new CardIdentity("Whip of Erebos", ""));
cubeCards.add(new CardIdentity("Whipflare", ""));
cubeCards.add(new CardIdentity("Whirler Rogue", ""));
cubeCards.add(new CardIdentity("Whisperwood Elemental", ""));
cubeCards.add(new CardIdentity("Wickerbough Elder", ""));
cubeCards.add(new CardIdentity("Wildfire", ""));
cubeCards.add(new CardIdentity("Windbrisk Heights", ""));
cubeCards.add(new CardIdentity("Winding Constrictor", ""));
cubeCards.add(new CardIdentity("Windswept Heath", ""));
cubeCards.add(new CardIdentity("Wolfir Silverheart", ""));
cubeCards.add(new CardIdentity("Wooded Foothills", ""));
cubeCards.add(new CardIdentity("Woodland Cemetery", ""));
cubeCards.add(new CardIdentity("Wrath of God", ""));
cubeCards.add(new CardIdentity("Wurmcoil Engine", ""));
cubeCards.add(new CardIdentity("Yahenni's Expertise", ""));
cubeCards.add(new CardIdentity("Yavimaya Coast", ""));
cubeCards.add(new CardIdentity("Yosei, the Morning Star", ""));
cubeCards.add(new CardIdentity("Young Pyromancer", ""));
cubeCards.add(new CardIdentity("Zealous Conscripts", ""));
cubeCards.add(new CardIdentity("Zurgo Bellstriker", ""));
}
}

View file

@ -111,6 +111,7 @@
<draftCube name="MTGO Legacy Cube January 2017" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegacyCubeJanuary2017"/>
<draftCube name="MTGO Legendary Cube" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegendaryCube"/>
<draftCube name="MTGO Legendary Cube April 2016" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegendaryCubeApril2016"/>
<draftCube name="MTGO Modern Cube 2017" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.ModernCube2017"/>
<draftCube name="MTGO Vintage Cube 2013" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.VintageCube2013"/>
<draftCube name="MTGO Vintage Cube 2014" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.VintageCube2014"/>
<draftCube name="MTGO Vintage Cube 2015" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.VintageCube2015"/>

View file

@ -108,6 +108,7 @@
<draftCube name="MTGO Legacy Cube January 2017" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegacyCubeJanuary2017"/>
<draftCube name="MTGO Legendary Cube" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegendaryCube"/>
<draftCube name="MTGO Legendary Cube April 2016" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.LegendaryCubeApril2016"/>
<draftCube name="MTGO Modern Cube 2017" jar="mage-tournament-booster-draft.jar" className="mage.tournament.cubes.ModernCube2017"/>
<draftCube name="MTGO Vintage Cube 2013" jar="mage-tournament-booster-draft-${project.version}.jar" className="mage.tournament.cubes.VintageCube2013"/>
<draftCube name="MTGO Vintage Cube 2014" jar="mage-tournament-booster-draft-${project.version}.jar" className="mage.tournament.cubes.VintageCube2014"/>
<draftCube name="MTGO Vintage Cube 2015" jar="mage-tournament-booster-draft-${project.version}.jar" className="mage.tournament.cubes.VintageCube2015"/>

View file

@ -114,7 +114,9 @@ public class ModernMasters2017 extends ExpansionSet {
cards.add(new SetCardInfo("Molten Rain", 103, Rarity.UNCOMMON, mage.cards.m.MoltenRain.class));
cards.add(new SetCardInfo("Momentary Blink", 16, Rarity.COMMON, mage.cards.m.MomentaryBlink.class));
cards.add(new SetCardInfo("Mortician Beetle", 78, Rarity.COMMON, mage.cards.m.MorticianBeetle.class));
cards.add(new SetCardInfo("Mystical Teachings", 44, Rarity.COMMON, mage.cards.m.MysticalTeachings.class));
cards.add(new SetCardInfo("Niv-Mizzet, Dracogenius", 175, Rarity.RARE, mage.cards.n.NivMizzetDracogenius.class));
cards.add(new SetCardInfo("Olivia Voldaren", 177, Rarity.MYTHIC, mage.cards.o.OliviaVoldaren.class));
cards.add(new SetCardInfo("Orzhov Guildgate", 241, Rarity.COMMON, mage.cards.o.OrzhovGuildgate.class));
cards.add(new SetCardInfo("Orzhov Signet", 224, Rarity.UNCOMMON, mage.cards.o.OrzhovSignet.class));
cards.add(new SetCardInfo("Past in Flames", 105, Rarity.MYTHIC, mage.cards.p.PastInFlames.class));

View file

@ -30569,6 +30569,7 @@ Compulsive Research|Modern Masters 2017|31|U|{2}{U}|Sorcery|||Target draws three
Deadeye Navigator|Modern Masters 2017|34|R|{4}{U}{U}|Creature - Spirit|5|5|Soulbond <i>(You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.)</i>$As long as Deadeye Navigator is paired with another creature, each of those creatures has "{1}{U}: Exile this creature, then return it to the battlefield under your control."|
Gifts Ungiven|Modern Masters 2017|40|R|{3}{U}|Instant|||Search your library for up to four cards with different names and reveal them. Target opponent chooses two of those cards. Put the chosen cards into your graveyard and the rest into your hand. Then shuffle your library.|
Mist Raven|Modern Masters 2017|43|C|{2}{U}{U}|Creature - Bird|2|2|Flying$When Mist Raven enters the battlefield, return target creature to its owner's hand.|
Mystical Teachings|Modern Masters 2017|44|C|{3}{U}|Instant|||Search your library for an instant card or a card with flash, reveal it, and put it into your hand. Then shuffle your library.$Flashback {5}{B} <i>(You may cast this card from your graveyard for its flashback cost. Then exile it.)</i>|
Phantasmal Image|Modern Masters 2017|46|R|{1}{U}|Creature - Illusion|0|0|You may have Phantasmal Image enter the battlefield as a copy of any creature on the battlefield, except it's an Illusion in addition to its other types and it gains "When this creature becomes the target of a spell or ability, sacrifice it."|
Serum Visions|Modern Masters 2017|49|U|{U}|Sorcery|||Draw a card. Scry 2.|
Snapcaster Mage|Modern Masters 2017|50|M|{1}{U}|Creature - Human Wizard|2|1|Flash$When Snapcaster Mage enters the battlefield, target instant or sorcery card in your graveyard gains flashback until end of turn. The flashback cost is equal to its mana cost. <i>(You may cast that card from your graveyard for its flashback cost. Then exile it.)</i>|
@ -30609,6 +30610,7 @@ Falkenrath Aristocrat|Modern Masters 2017|163|R|{2}{B}{R}|Creature - Vampire|4|1
Fiery Justice|Modern Masters 2017|164|R|{R}{G}{W}|Sorcery|||Fiery Justice deals 5 damage divided as you choose among any number of target creatures and/or players. Target opponent gains 5 life.|
Izzet Charm|Modern Masters 2017|171|U|{U}{R}|Instant|||Choose one &mdash; Counter target noncreature spell unless its controller pays {2}.; Izzet Charm deals 2 damage to target creature.; Draw two cards, then discard two cards.|
Niv-Mizzet, Dracogenius|Modern Masters 2017|175|R|{2}{U}{U}{R}{R}|Legendary Creature - Dragon Wizard|5|5|Flying$Whenever Niv-Mizzet, Dracogenius deals damage to a player, you may draw a card.${U}{R}: Niv-Mizzet, Dracogenius deals 1 damage to target creature or player.|
Olivia Voldaren|Modern Masters 2017|177|M|{2}{B}{R}|Legendary Creature - Vampire|3|3|Flying${1}{R}: Olivia Voldaren deals 1 damage to another target creature. That creature becomes a Vampire in addition to its other types. Put a +1/+1 counter on Olivia Voldaren.${3}{B}{B}: Gain control of target Vampire for as long as you control Olivia Voldaren.|
Rhox War Monk|Modern Masters 2017|180|U|{G}{W}{U}|Creature - Rhino Monk|3|4|Lifelink|
Sedraxis Specter|Modern Masters 2017|181|U|{U}{B}{R}|Creature - Specter|3|2|Flying$Whenever Sedraxis Specter deals combat damage to a player, that player discards a card.$Unearth {1}{B} <i>({1}{B}: Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.)</i>|
Sphinx's Revelation|Modern Masters 2017|187|M|{X}{W}{U}{U}|Instant|||You gain X life and draw X cards.|
@ -30652,5 +30654,5 @@ Savage Lands|Modern Masters 2017|243|U||Land|||Savage Lands enters the battlefie
Scalding Tarn|Modern Masters 2017|244|R||Land|||{T}, Pay 1 life, Sacrifice Scalding Tarn: Search your library for an Island or Mountain card and put it onto the battlefield. Then shuffle your library.|
Seaside Citadel|Modern Masters 2017|245|U||Land|||Seaside Citadel enters the battlefield tapped.${T}: Add {G}, {W}, or {U} to your mana pool.|
Selesnya Guildgate|Modern Masters 2017|246|C||Land - Gate|||Selesnya Guildgate enters the battlefield tapped.${T}: Add {G} or {W} to your mana pool.|
Simic Guildgate|Modern Masters 2017|247|C||Land - Gate|||Simic Guildgate enters the battlefield tapped.${T}: Add {G} or {U} to your mana pool.|
Simic Guildgate|Modern Masters 2017|248|C||Land - Gate|||Simic Guildgate enters the battlefield tapped.${T}: Add {G} or {U} to your mana pool.|
Verdant Catacombs|Modern Masters 2017|249|R||Land|||{T}, Pay 1 life, Sacrifice Verdant Catacombs: Search your library for a Swamp or Forest card and put it onto the battlefield. Then shuffle your library.|