From 11a705fda3ef07b0d162dccd77b7db8a2fdf3bec Mon Sep 17 00:00:00 2001
From: fireshoes <fireshoes@fireshoes-PC>
Date: Wed, 7 Dec 2016 09:46:27 -0600
Subject: [PATCH] Added Borderland Explorer, Yaheeni's Expertise, and Vintage
 Cube Nov '16.

---
 .../cubes/VintageCubeNovember2016.java        | 583 ++++++++++++++++++
 .../src/mage/cards/b/BorderlandExplorer.java  | 168 +++++
 .../src/mage/cards/y/YaheenisExpertise.java   | 124 ++++
 3 files changed, 875 insertions(+)
 create mode 100644 Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/VintageCubeNovember2016.java
 create mode 100644 Mage.Sets/src/mage/cards/b/BorderlandExplorer.java
 create mode 100644 Mage.Sets/src/mage/cards/y/YaheenisExpertise.java

diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/VintageCubeNovember2016.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/VintageCubeNovember2016.java
new file mode 100644
index 0000000000..4e18c21ff9
--- /dev/null
+++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/VintageCubeNovember2016.java
@@ -0,0 +1,583 @@
+/*
+ * 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 VintageCubeNovember2016 extends DraftCube {
+
+    public VintageCubeNovember2016() {
+        super("MTGO Vintage Cube November 2016");
+
+        cubeCards.add(new DraftCube.CardIdentity("Abbot of Keral Keep", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Abrupt Decay", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Academy Rector", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Academy Ruins", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Acidic Slime", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ajani Vengeant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ancestral Recall", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ancestral Vision", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ancient Grudge", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ancient Tomb", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Angel of Serenity", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Anguished Unmaking", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Animate Dead", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Anticipate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Arbor Elf", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Archangel of Thune", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Arid Mesa", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Armageddon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ashiok, Nightmare Weaver", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Avacyn's Pilgrim", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Avalanche Riders", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Avenger of Zendikar", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Awakening Zone", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Azorius Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Badlands", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Balance", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Baleful Strix", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Baneslayer Angel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Banisher Priest", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Banishing Light", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Basalt Monolith", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Batterskull", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bayou", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bazaar of Baghdad", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Beast Within", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Birds of Paradise", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Birthing Pod", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bitterblossom", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Black Lotus", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Blade Splicer", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Blightsteel Colossus", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Blood Crypt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bloodbraid Elf", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bloodstained Mire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bone Shredder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bonfire of the Damned", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Boros Charm", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Boros Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Braids, Cabal Minion", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Brain Freeze", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Brain Maggot", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Brainstorm", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Breeding Pool", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bribery", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Brimaz, King of Oreskos", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Brimstone Volley", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Bring to Light", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Buried Alive", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Burning of Xinye", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Burst Lightning", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Cabal Ritual", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Careful Study", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Celestial Colonnade", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Chain Lightning", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Chandra, Flamecaller", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Chandra, Pyromaster", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Chandra, Torch of Defiance", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Channel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Char", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Chrome Mox", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Coalition Relic", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Coercive Portal", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Compulsive Research", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Conclave Naturalists", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Consecrated Sphinx", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Control Magic", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Corpse Dance", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Council's Judgment", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Counterspell", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Courser of Kruphix", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Crater's Claws", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Craterhoof Behemoth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Creeping Tar Pit", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Crucible of Worlds", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Cryptic Command", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dack Fayden", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Damnation", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Daretti, Scrap Savant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dark Confidant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dark Petition", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dark Ritual", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Day of Judgment", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Daze", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Deathrite Shaman", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Deceiver Exarch", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Declaration in Stone", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Delver of Secrets", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Demonic Tutor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Den Protector", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Deranged Hermit", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Desecration Demon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Diabolic Edict", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dig Through Time", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dimir Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Disenchant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Disfigure", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dismember", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dragonlord Atarka", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dragonlord Dromoka", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dragonlord Ojutai", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dragonlord Silumgar", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dreadbore", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dromoka's Command", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Dualcaster Mage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Duplicant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Duress", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Edric, Spymaster of Trest", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Eidolon of the Great Revel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Electrolyze", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Elesh Norn, Grand Cenobite", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Elspeth, Knight-Errant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Elspeth, Sun's Champion", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Elves of Deep Shadow", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Elvish Mystic", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Emeria Angel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Empty the Warrens", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Emrakul, the Aeons Torn", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Emrakul, the Promised End", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Enlightened Tutor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Entomb", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Eternal Witness", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Eureka", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Everflowing Chalice", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Exalted Angel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Exquisite Firecraft", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Exhume", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fact or Fiction", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Faith's Fetters", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Faithless Looting", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Falkenrath Gorger", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fastbond", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fauna Shaman", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fiend Hunter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fiery Confluence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Figure of Destiny", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fire // Ice", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fireblast", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Firebolt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Firedrinker Satyr", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Flametongue Kavu", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Flickerwisp", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Flooded Strand", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Force of Will", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Force Spike", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Frantic Search", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Freyalise, Llanowar's Fury", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Frost Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Fyndhorn Elves", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gaea's Cradle", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Garruk Relentless", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Garruk Wildspeaker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Garruk, Apex Predator", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Garruk, Primal Hunter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Geist of Saint Traft", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Genesis Wave", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gideon Jura", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gideon, Ally of Zendikar", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gifts Ungiven", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gilded Lotus", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gitaxian Probe", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Glen Elendra Archmage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Go for the Throat", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Goblin Dark-Dwellers", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Goblin Guide", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Goblin Welder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Godless Shrine", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Golgari Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Grave Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Green Sun's Zenith", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Grim Lavamancer", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Grim Monolith", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Grim Tutor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Griselbrand", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gruul Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gurmag Angler", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Gush", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Guttersnipe", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hallowed Fountain", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hangarback Walker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Harmonize", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Heartbeat of Spring", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hedron Archive", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hellrider", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hero of Bladehold", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hero's Downfall", ""));
+        cubeCards.add(new DraftCube.CardIdentity("High Tide", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hissing Quagmire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Honor of the Pure", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Huntmaster of the Fells", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hymn to Tourach", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Hypnotic Specter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Imperial Recruiter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Imperial Seal", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Impulse", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Incinerate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Inferno Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Inkwell Leviathan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Inquisition of Kozilek", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Iona, Shield of Emeria", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Isochron Scepter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Izzet Charm", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Izzet Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Jace Beleren", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Jace, Architect of Thought", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Jace, the Mind Sculptor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Jace, Vryn's Prodigy", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Jackal Pup", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Joraga Treespeaker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kalitas, Traitor of Ghet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Karakas", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kargan Dragonlord", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Karn Liberated", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kiki-Jiki, Mirror Breaker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kitchen Finks", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Knight of the White Orchid", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kolaghan's Command", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Koth of the Hammer", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kozilek, Butcher of Truth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kuldotha Forgemaster", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Kytheon, Hero of Akros", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Land Tax", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lavaclaw Reaches", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Leonin Relic-Warder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Leyline of Sanctity", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Library of Alexandria", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lifebane Zombie", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lightning Bolt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lightning Greaves", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lightning Helix", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lightning Mauler", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lightning Strike", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Liliana of the Veil", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lingering Souls", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Linvala, Keeper of Silence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Linvala, the Preserver", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lion's Eye Diamond", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Living Death", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Llanowar Elves", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lodestone Golem", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Looter il-Kor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lotus Bloom", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lotus Cobra", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Lumbering Falls", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Maelstrom Pulse", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Magma Jet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Magus of the Moon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Magus of the Wheel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Magus of the Will", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Makeshift Mannequin", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Managorger Hydra", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Confluence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Crypt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Drain", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Leak", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Tithe", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mana Vault", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Manic Vandal", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mardu Woe-Reaper", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Marsh Flats", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Massacre Wurm", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Master of the Wild Hunt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Maze of Ith", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mental Misstep", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Memory Jar", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mesmeric Fiend", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Metalworker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mind Twist", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mindslaver", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mind's Desire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mirari's Wake", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mirran Crusader", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mishra's Factory", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mishra's Workshop", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Misty Rainforest", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mizzium Mortars", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Moat", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Monastery Mentor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Monastery Swiftspear", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mother of Runes", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Diamond", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Emerald", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Jet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Pearl", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Ruby", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mox Sapphire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mulldrifter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Murderous Cut", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mutavault", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Myr Battlesphere", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mystical Tutor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mystic Confluence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Mystic Snake", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nahiri, the Harbinger", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Natural Order", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nature's Claim", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Necromancy", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Necropotence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Needle Spires", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nekrataal", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nevinyrral's Disk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nezumi Graverobber", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nezumi Shortfang", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nicol Bolas, Planeswalker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nissa, Worldwaker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Noble Hierarch", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Nykthos, Shrine to Nyx", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Oath of Druids", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Oath of Nissa", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Oblivion Ring", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Olivia Voldaren", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Oona's Prowler", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ophiomancer", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Opposition", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Oracle of Mul Daya", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Orzhov Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Overgrown Tomb", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Pack Rat", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Painful Truths", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Palinchron", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Parallax Wave", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Path to Exile", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Pentad Prism", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Pernicious Deed", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Pestermite", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Phantasmal Image", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Phyrexian Metamorph", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Phyrexian Revoker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Pithing Needle", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Plateau", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Polluted Delta", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Polukranos, World Eater", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ponder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Porcelain Legionnaire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Preordain", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Primal Command", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Primeval Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Progenitus", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Puppeteer Clique", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Putrid Imp", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Qasali Pridemage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Quicken", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Raging Ravine", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Rakdos Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Rakdos's Return", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ral Zarek", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ravages of War", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Reanimate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Reckless Bushwhacker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Reclamation Sage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Recruiter of the Guard", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Recurring Nightmare", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Reflector Mage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Regrowth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Remand", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Repeal", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Restoration Angel", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Reveillark", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Rift Bolt", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Riftwing Cloudskate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Rishadan Port", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Roast", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Rofellos, Llanowar Emissary", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sacred Foundry", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sakura-Tribe Elder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Savannah", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Scalding Tarn", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Scavenging Ooze", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Scroll Rack", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Scrubland", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Search for Tomorrow", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Searing Blaze", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Searing Spear", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Seasons Past", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Seeker of the Way", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Seething Song", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Selesnya Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Selfless Spirit", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sensei's Divining Top", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shadowmage Infiltrator", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shallow Grave", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shambling Vent", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shardless Agent", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shelldock Isle", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sheoldred, Whispering One", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Show and Tell", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shriekmaw", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Shrine of Burning Rage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sidisi, Undead Vizier", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Siege-Gang Commander", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Silverblade Paladin", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Simic Signet", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Skinrender", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Skullclamp", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Smash to Smithereens", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Smokestack", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Smuggler's Copter", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Snapcaster Mage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sneak Attack", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sol Ring", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Soldier of the Pantheon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Solemn Simulacrum", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Song of the Dryads", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Soulfire Grand Master", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sower of Temptation", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Spear of Heliod", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Spectral Procession", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Spell Pierce", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Spellskite", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sphinx of the Steel Wind", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sphinx's Revelation", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Spirit of the Labyrinth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Splinter Twin", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Steam Vents", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Stirring Wildwood", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Stomping Ground", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Stoneforge Mystic", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Stormbreath Dragon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Strip Mine", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Student of Warfare", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sulfuric Vortex", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sun Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sundering Titan", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Supreme Verdict", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Survival of the Fittest", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sword of Body and Mind", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sword of Feast and Famine", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sword of Fire and Ice", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sword of Light and Shadow", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sword of War and Peace", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Swords to Plowshares", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sylvan Caryatid", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Sylvan Library", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Taiga", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tamiyo, the Moon Sage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tangle Wire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tarmogoyf", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tasigur, the Golden Fang", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple Garden", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Abandon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Deceit", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Enlightenment", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Epiphany", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Malady", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Malice", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Mystery", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Plenty", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Silence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Temple of Triumph", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tendrils of Agony", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Terastodon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Terminate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tezzeret the Seeker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tezzeret, Agent of Bolas", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thada Adel, Acquisitor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thalia, Guardian of Thraben", ""));
+        cubeCards.add(new DraftCube.CardIdentity("The Abyss", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thing in the Ice", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thirst for Knowledge", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thoughtseize", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thragtusk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thran Dynamo", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Through the Breach", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thrun, the Last Troll", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Thundermaw Hellkite", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tidehollow Sculler", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Time Spiral", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Time Walk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Timely Reinforcements", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Timetwister", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tinker", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tolarian Academy", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tooth and Nail", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Torch Fiend", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Torrential Gearhulk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Toxic Deluge", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Traverse the Ulvenwald", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Treachery", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Treasure Cruise", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Trinket Mage", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tropical Island", ""));
+        cubeCards.add(new DraftCube.CardIdentity("True-Name Nemesis", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Trygon Predator", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Tundra", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Turnabout", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ugin, the Spirit Dragon", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ulamog, the Ceaseless Hunger", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ulamog, the Infinite Gyre", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Ultimate Price", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Umezawa's Jitte", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Unburial Rites", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Underground Sea", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Unexpectedly Absent", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Upheaval", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Urborg, Tomb of Yawgmoth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vampire Nighthawk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vampiric Tutor", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vedalken Shackles", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vendilion Clique", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Venser, Shaper Savant", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Verdant Catacombs", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Verdurous Gearhulk", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Villainous Wealth", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vindicate", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Voice of Resurgence", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Volcanic Island", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Vryn Wingmare", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wall of Blossoms", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wall of Omens", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wall of Roots", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wandering Fumarole", ""));
+        cubeCards.add(new DraftCube.CardIdentity("War Priest of Thune", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wasteland", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Watery Grave", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Westvale Abbey", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wheel of Fortune", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wildfire", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Windswept Heath", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Winter Orb", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wolfir Silverheart", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wooded Foothills", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Woodfall Primus", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Worn Powerstone", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wrath of God", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Wurmcoil Engine", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Xenagos, the Reveler", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Yavimaya Elder", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Yawgmoth's Bargain", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Yawgmoth's Will", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Young Pyromancer", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Zealous Conscripts", ""));
+        cubeCards.add(new DraftCube.CardIdentity("Zurgo Bellstriker", ""));
+    }
+}
diff --git a/Mage.Sets/src/mage/cards/b/BorderlandExplorer.java b/Mage.Sets/src/mage/cards/b/BorderlandExplorer.java
new file mode 100644
index 0000000000..7351904528
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/b/BorderlandExplorer.java
@@ -0,0 +1,168 @@
+/*
+ *  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.cards.b;
+
+import java.util.HashMap;
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.OneShotEffect;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.cards.Cards;
+import mage.cards.CardsImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.filter.FilterCard;
+import mage.filter.common.FilterBasicLandCard;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.Target;
+import mage.target.common.TargetCardInLibrary;
+import mage.target.common.TargetDiscard;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BorderlandExplorer extends CardImpl {
+
+    public BorderlandExplorer(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
+
+        this.subtype.add("Elf");
+        this.subtype.add("Scout");
+        this.power = new MageInt(3);
+        this.toughness = new MageInt(1);
+
+        // When Borderland Explorer enters the battlefield, each player may discard a card. Each player who discarded a card this way may search his or her library
+        // for a basic land card, reveal it, put it into his or her hand, then shuffle his or her library.
+        this.addAbility(new EntersBattlefieldTriggeredAbility(new BorderlandExplorerEffect()));
+    }
+
+    public BorderlandExplorer(final BorderlandExplorer card) {
+        super(card);
+    }
+
+    @Override
+    public BorderlandExplorer copy() {
+        return new BorderlandExplorer(this);
+    }
+}
+
+class BorderlandExplorerEffect extends OneShotEffect {
+
+    public BorderlandExplorerEffect() {
+        super(Outcome.Neutral);
+        this.staticText = "each player may discard a card. Each player who discarded a card this way may search his or her library " +
+            "for a basic land card, reveal it, put it into his or her hand, then shuffle his or her library";
+    }
+
+    public BorderlandExplorerEffect(final BorderlandExplorerEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public BorderlandExplorerEffect copy() {
+        return new BorderlandExplorerEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player controller = game.getPlayer(source.getControllerId());
+        // Store for each player the cards to discard, that's important because all discard shall happen at the same time
+        HashMap<UUID, Cards> cardsToDiscard = new HashMap<>();
+        // Store for each player the lands to reveal, that's important because all reveals shall happen at the same time
+        HashMap<UUID, Cards> cardsToReveal = new HashMap<>();
+        if (controller != null) {
+            // choose cards to discard
+            for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
+                Player player = game.getPlayer(playerId);
+                if (player != null) {
+                    Cards cards = new CardsImpl();
+                    Target target = new TargetDiscard(0, 1, new FilterCard(), playerId);
+                    player.chooseTarget(outcome, target, source, game);
+                    cards.addAll(target.getTargets());
+                    cardsToDiscard.put(playerId, cards);
+                }
+            }
+            // discard all chosen cards
+            for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
+                Player player = game.getPlayer(playerId);
+                if (player != null) {
+                    Cards cardsPlayer = cardsToDiscard.get(playerId);
+                    if (cardsPlayer != null) {
+                        for (UUID cardId : cardsPlayer) {
+                            Card card = game.getCard(cardId);
+                            if (card != null) {
+                                player.discard(card, source, game);
+                            }
+                        }
+                    }
+                }
+            }
+            // search for a land for each player that discarded
+            for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
+                Player player = game.getPlayer(playerId);
+                if (player != null) {
+                    Cards cardsPlayer = cardsToDiscard.get(playerId);
+                    if (cardsPlayer != null) {
+                        TargetCardInLibrary target = new TargetCardInLibrary(0, 1, new FilterBasicLandCard());
+                        if (player.searchLibrary(target, game)) {
+                            if (target.getTargets().size() > 0) {
+                                Cards cards = new CardsImpl(target.getTargets());
+                                cards.addAll(target.getTargets());
+                                cardsToReveal.put(playerId, cards);
+                            }
+                        }
+                    }
+                }
+            }
+            // reveal the searched lands, put in hands, and shuffle
+            for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) {
+                Player player = game.getPlayer(playerId);
+                if (player != null) {
+                    Cards cardsPlayer = cardsToReveal.get(playerId);
+                    if (cardsPlayer != null) {
+                        for (UUID cardId : cardsPlayer) {
+                            Cards cards = new CardsImpl(game.getCard(cardId));
+                            Card card = game.getCard(cardId);
+                            player.revealCards(card.getIdName() + " (" + player.getName() + ")", cards, game);
+                            player.moveCardToHandWithInfo(card, source.getSourceId(), game);
+                            player.shuffleLibrary(source, game);
+                        }
+                    }
+                }
+            }
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/cards/y/YaheenisExpertise.java b/Mage.Sets/src/mage/cards/y/YaheenisExpertise.java
new file mode 100644
index 0000000000..0c21a32502
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/y/YaheenisExpertise.java
@@ -0,0 +1,124 @@
+/*
+ *  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.cards.y;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.continuous.BoostAllEffect;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Outcome;
+import mage.filter.Filter;
+import mage.filter.FilterCard;
+import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.Target;
+import mage.target.common.TargetCardInHand;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class YaheenisExpertise extends CardImpl {
+
+    public YaheenisExpertise(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}{B}");
+
+
+        // All creatures get -3/-3 until end of turn.
+        getSpellAbility().addEffect(new BoostAllEffect(-3, -3, Duration.EndOfTurn));
+
+        // You may cast a card with converted mana cost 3 or less from your hand without paying its mana cost.
+        getSpellAbility().addEffect(new YaheenisExpertiseCastEffect());
+    }
+
+    public YaheenisExpertise(final YaheenisExpertise card) {
+        super(card);
+    }
+
+    @Override
+    public YaheenisExpertise copy() {
+        return new YaheenisExpertise(this);
+    }
+}
+
+class YaheenisExpertiseCastEffect extends OneShotEffect {
+
+    private static final FilterCard filter = new FilterCard("card with converted mana cost 3 or less from your hand");
+
+    static {
+        filter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.LessThan, 4));
+    }
+
+    public YaheenisExpertiseCastEffect() {
+        super(Outcome.PlayForFree);
+        this.staticText = "you may cast a card with converted mana cost 3 or less from your hand without paying its mana cost";
+    }
+
+    public YaheenisExpertiseCastEffect(final YaheenisExpertiseCastEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public YaheenisExpertiseCastEffect copy() {
+        return new YaheenisExpertiseCastEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player controller = game.getPlayer(source.getControllerId());
+        if (controller != null) {
+            Target target = new TargetCardInHand(filter);
+            if (target.canChoose(source.getSourceId(), controller.getId(), game) &&
+              controller.chooseUse(outcome, "Cast a card with converted mana cost 3 or less from your hand without paying its mana cost?", source, game)) {
+                Card cardToCast = null;
+                boolean cancel = false;
+                while (controller.canRespond() && !cancel) {
+                    if (controller.chooseTarget(outcome, target, source, game)) {
+                        cardToCast = game.getCard(target.getFirstTarget());
+                        if (cardToCast != null && cardToCast.getSpellAbility().canChooseTarget(game)) {
+                            cancel = true;
+                        }
+                    } else {
+                        cancel = true;
+                    }
+                }
+                if (cardToCast != null) {
+                    controller.cast(cardToCast.getSpellAbility(), game, true);
+                }
+            }
+            return true;
+        }
+        return false;
+    }
+}