diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJuly2019.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJuly2019.java
new file mode 100644
index 0000000000..69c42eb0f5
--- /dev/null
+++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJuly2019.java
@@ -0,0 +1,615 @@
+
+package mage.tournament.cubes;
+
+import mage.game.draft.DraftCube;
+
+/**
+ *
+ * @author phulin
+ */
+public class LegacyCubeJuly2019 extends DraftCube {
+
+ public LegacyCubeJuly2019() {
+ super("MTGO Legacy Cube July 2019");
+ cubeCards.add(new CardIdentity("Abbot of Keral Keep", ""));
+ cubeCards.add(new CardIdentity("Abrade", ""));
+ cubeCards.add(new CardIdentity("Abrupt Decay", ""));
+ cubeCards.add(new CardIdentity("Acidic Slime", ""));
+ cubeCards.add(new CardIdentity("Aethersphere Harvester", ""));
+ cubeCards.add(new CardIdentity("Ajani Vengeant", ""));
+ cubeCards.add(new CardIdentity("All Is Dust", ""));
+ cubeCards.add(new CardIdentity("Anafenza, Kin-Tree Spirit", ""));
+ cubeCards.add(new CardIdentity("Ancestral Vision", ""));
+ cubeCards.add(new CardIdentity("Ancient Grudge", ""));
+ cubeCards.add(new CardIdentity("Ancient Tomb", ""));
+ cubeCards.add(new CardIdentity("Angel of Invention", ""));
+ cubeCards.add(new CardIdentity("Anger of the Gods", ""));
+ cubeCards.add(new CardIdentity("Angrath's Rampage", ""));
+ cubeCards.add(new CardIdentity("Angrath, the Flame-Chained", ""));
+ cubeCards.add(new CardIdentity("Anguished Unmaking", ""));
+ cubeCards.add(new CardIdentity("Animate Dead", ""));
+ cubeCards.add(new CardIdentity("Approach of the Second Sun", ""));
+ cubeCards.add(new CardIdentity("Arbor Elf", ""));
+ cubeCards.add(new CardIdentity("Arcane Artisan", ""));
+ cubeCards.add(new CardIdentity("Archangel Avacyn", ""));
+ cubeCards.add(new CardIdentity("Arid Mesa", ""));
+ cubeCards.add(new CardIdentity("Armageddon", ""));
+ cubeCards.add(new CardIdentity("Ashiok, Nightmare Weaver", ""));
+ cubeCards.add(new CardIdentity("Assassin's Trophy", ""));
+ cubeCards.add(new CardIdentity("Augur of Bolas", ""));
+ cubeCards.add(new CardIdentity("Aurelia, Exemplar of Justice", ""));
+ cubeCards.add(new CardIdentity("Avacyn's Pilgrim", ""));
+ cubeCards.add(new CardIdentity("Avalanche Riders", ""));
+ cubeCards.add(new CardIdentity("Avenger of Zendikar", ""));
+ cubeCards.add(new CardIdentity("Awakening Zone", ""));
+ cubeCards.add(new CardIdentity("Badlands", ""));
+ cubeCards.add(new CardIdentity("Baleful Strix", ""));
+ cubeCards.add(new CardIdentity("Banefire", ""));
+ cubeCards.add(new CardIdentity("Baneslayer Angel", ""));
+ cubeCards.add(new CardIdentity("Banishing Light", ""));
+ cubeCards.add(new CardIdentity("Baral, Chief of Compliance", ""));
+ cubeCards.add(new CardIdentity("Basalt Monolith", ""));
+ cubeCards.add(new CardIdentity("Batterskull", ""));
+ cubeCards.add(new CardIdentity("Bayou", ""));
+ cubeCards.add(new CardIdentity("Bazaar Trademage", ""));
+ cubeCards.add(new CardIdentity("Beast Whisperer", ""));
+ cubeCards.add(new CardIdentity("Beast Within", ""));
+ cubeCards.add(new CardIdentity("Bedevil", ""));
+ cubeCards.add(new CardIdentity("Bedlam Reveler", ""));
+ cubeCards.add(new CardIdentity("Biogenic Ooze", ""));
+ cubeCards.add(new CardIdentity("Birds of Paradise", ""));
+ cubeCards.add(new CardIdentity("Birthing Pod", ""));
+ cubeCards.add(new CardIdentity("Bitterblossom", ""));
+ cubeCards.add(new CardIdentity("Blackcleave Cliffs", ""));
+ cubeCards.add(new CardIdentity("Blade Splicer", ""));
+ cubeCards.add(new CardIdentity("Blessed Alliance", ""));
+ cubeCards.add(new CardIdentity("Blood Crypt", ""));
+ cubeCards.add(new CardIdentity("Bloodbraid Elf", ""));
+ cubeCards.add(new CardIdentity("Bloodghast", ""));
+ cubeCards.add(new CardIdentity("Bloodline Keeper", ""));
+ cubeCards.add(new CardIdentity("Bloodstained Mire", ""));
+ cubeCards.add(new CardIdentity("Blooming Marsh", ""));
+ cubeCards.add(new CardIdentity("Bogardan Hellkite", ""));
+ cubeCards.add(new CardIdentity("Bomat Courier", ""));
+ cubeCards.add(new CardIdentity("Bone Shredder", ""));
+ cubeCards.add(new CardIdentity("Bonfire of the Damned", ""));
+ cubeCards.add(new CardIdentity("Botanical Sanctum", ""));
+ cubeCards.add(new CardIdentity("Brain Maggot", ""));
+ cubeCards.add(new CardIdentity("Brainstorm", ""));
+ cubeCards.add(new CardIdentity("Breeding Pool", ""));
+ cubeCards.add(new CardIdentity("Brightling", ""));
+ cubeCards.add(new CardIdentity("Brimaz, King of Oreskos", ""));
+ cubeCards.add(new CardIdentity("Buried Alive", ""));
+ cubeCards.add(new CardIdentity("Burst Lightning", ""));
+ cubeCards.add(new CardIdentity("Careful Consideration", ""));
+ cubeCards.add(new CardIdentity("Carnage Tyrant", ""));
+ cubeCards.add(new CardIdentity("Cast Out", ""));
+ cubeCards.add(new CardIdentity("Casualties of War", ""));
+ cubeCards.add(new CardIdentity("Cavalier of Night", ""));
+ cubeCards.add(new CardIdentity("Celestial Colonnade", ""));
+ cubeCards.add(new CardIdentity("Chain Lightning", ""));
+ cubeCards.add(new CardIdentity("Champion of Wits", ""));
+ cubeCards.add(new CardIdentity("Chandra's Phoenix", ""));
+ cubeCards.add(new CardIdentity("Chandra, Acolyte of Flame", ""));
+ cubeCards.add(new CardIdentity("Chandra, Awakened Inferno", ""));
+ cubeCards.add(new CardIdentity("Chandra, Torch of Defiance", ""));
+ cubeCards.add(new CardIdentity("Char", ""));
+ cubeCards.add(new CardIdentity("Chart a Course", ""));
+ cubeCards.add(new CardIdentity("Chord of Calling", ""));
+ cubeCards.add(new CardIdentity("Chromatic Lantern", ""));
+ cubeCards.add(new CardIdentity("City of Brass", ""));
+ cubeCards.add(new CardIdentity("Clifftop Retreat", ""));
+ cubeCards.add(new CardIdentity("Cloudgoat Ranger", ""));
+ cubeCards.add(new CardIdentity("Coalition Relic", ""));
+ cubeCards.add(new CardIdentity("Coercive Portal", ""));
+ cubeCards.add(new CardIdentity("Coldsteel Heart", ""));
+ cubeCards.add(new CardIdentity("Collective Brutality", ""));
+ cubeCards.add(new CardIdentity("Collective Defiance", ""));
+ cubeCards.add(new CardIdentity("Compulsive Research", ""));
+ cubeCards.add(new CardIdentity("Concealed Courtyard", ""));
+ cubeCards.add(new CardIdentity("Conclave Tribunal", ""));
+ cubeCards.add(new CardIdentity("Condemn", ""));
+ cubeCards.add(new CardIdentity("Consecrated Sphinx", ""));
+ cubeCards.add(new CardIdentity("Containment Priest", ""));
+ cubeCards.add(new CardIdentity("Control Magic", ""));
+ cubeCards.add(new CardIdentity("Copperline Gorge", ""));
+ cubeCards.add(new CardIdentity("Council's Judgment", ""));
+ cubeCards.add(new CardIdentity("Counterspell", ""));
+ cubeCards.add(new CardIdentity("Courser of Kruphix", ""));
+ cubeCards.add(new CardIdentity("Craterhoof Behemoth", ""));
+ cubeCards.add(new CardIdentity("Creeping Tar Pit", ""));
+ cubeCards.add(new CardIdentity("Crucible of Worlds", ""));
+ cubeCards.add(new CardIdentity("Cryptbreaker", ""));
+ cubeCards.add(new CardIdentity("Cryptic Command", ""));
+ cubeCards.add(new CardIdentity("Cultivate", ""));
+ cubeCards.add(new CardIdentity("Cyclonic Rift", ""));
+ cubeCards.add(new CardIdentity("Dack Fayden", ""));
+ cubeCards.add(new CardIdentity("Damnation", ""));
+ cubeCards.add(new CardIdentity("Dark Confidant", ""));
+ cubeCards.add(new CardIdentity("Dark Ritual", ""));
+ cubeCards.add(new CardIdentity("Darkslick Shores", ""));
+ cubeCards.add(new CardIdentity("Day of Judgment", ""));
+ cubeCards.add(new CardIdentity("Daze", ""));
+ cubeCards.add(new CardIdentity("Deafening Clarion", ""));
+ cubeCards.add(new CardIdentity("Deceiver Exarch", ""));
+ cubeCards.add(new CardIdentity("Deep Analysis", ""));
+ cubeCards.add(new CardIdentity("Deep Forest Hermit", ""));
+ cubeCards.add(new CardIdentity("Delver of Secrets", ""));
+ cubeCards.add(new CardIdentity("Demonlord Belzenlok", ""));
+ cubeCards.add(new CardIdentity("Den Protector", ""));
+ cubeCards.add(new CardIdentity("Deranged Hermit", ""));
+ cubeCards.add(new CardIdentity("Devil's Play", ""));
+ cubeCards.add(new CardIdentity("Devoted Druid", ""));
+ cubeCards.add(new CardIdentity("Dismember", ""));
+ cubeCards.add(new CardIdentity("Dismissive Pyromancer", ""));
+ cubeCards.add(new CardIdentity("Doom Blade", ""));
+ cubeCards.add(new CardIdentity("Dragonlord Atarka", ""));
+ cubeCards.add(new CardIdentity("Dragonlord Silumgar", ""));
+ cubeCards.add(new CardIdentity("Dragonskull Summit", ""));
+ cubeCards.add(new CardIdentity("Drana, Liberator of Malakir", ""));
+ cubeCards.add(new CardIdentity("Dread Return", ""));
+ cubeCards.add(new CardIdentity("Dread Wanderer", ""));
+ cubeCards.add(new CardIdentity("Dreadhorde Arcanist", ""));
+ cubeCards.add(new CardIdentity("Drowned Catacomb", ""));
+ cubeCards.add(new CardIdentity("Dualcaster Mage", ""));
+ cubeCards.add(new CardIdentity("Duplicant", ""));
+ cubeCards.add(new CardIdentity("Duress", ""));
+ cubeCards.add(new CardIdentity("Edric, Spymaster of Trest", ""));
+ cubeCards.add(new CardIdentity("Electrolyze", ""));
+ cubeCards.add(new CardIdentity("Elesh Norn, Grand Cenobite", ""));
+ 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("Emrakul, the Aeons Torn", ""));
+ cubeCards.add(new CardIdentity("Emrakul, the Promised End", ""));
+ cubeCards.add(new CardIdentity("Engineered Explosives", ""));
+ cubeCards.add(new CardIdentity("Entomb", ""));
+ cubeCards.add(new CardIdentity("Entreat the Angels", ""));
+ cubeCards.add(new CardIdentity("Eternal Witness", ""));
+ cubeCards.add(new CardIdentity("Everflowing Chalice", ""));
+ cubeCards.add(new CardIdentity("Evolving Wilds", ""));
+ cubeCards.add(new CardIdentity("Exhume", ""));
+ cubeCards.add(new CardIdentity("Expansion // Explosion", ""));
+ cubeCards.add(new CardIdentity("Experimental Frenzy", ""));
+ cubeCards.add(new CardIdentity("Explore", ""));
+ cubeCards.add(new CardIdentity("Exquisite Firecraft", ""));
+ cubeCards.add(new CardIdentity("Fact or Fiction", ""));
+ cubeCards.add(new CardIdentity("Fairgrounds Warden", ""));
+ cubeCards.add(new CardIdentity("Faith's Fetters", ""));
+ cubeCards.add(new CardIdentity("Faithless Looting", ""));
+ cubeCards.add(new CardIdentity("Falkenrath Aristocrat", ""));
+ cubeCards.add(new CardIdentity("Falkenrath Gorger", ""));
+ cubeCards.add(new CardIdentity("Farseek", ""));
+ cubeCards.add(new CardIdentity("Fatal Push", ""));
+ cubeCards.add(new CardIdentity("Fauna Shaman", ""));
+ cubeCards.add(new CardIdentity("Fblthp, the Lost", ""));
+ cubeCards.add(new CardIdentity("Fertile Ground", ""));
+ cubeCards.add(new CardIdentity("Field of Ruin", ""));
+ cubeCards.add(new CardIdentity("Fiery Confluence", ""));
+ cubeCards.add(new CardIdentity("Fight with Fire", ""));
+ cubeCards.add(new CardIdentity("Figure of Destiny", ""));
+ cubeCards.add(new CardIdentity("Fire // Ice", ""));
+ cubeCards.add(new CardIdentity("Firebolt", ""));
+ cubeCards.add(new CardIdentity("Firedrinker Satyr", ""));
+ cubeCards.add(new CardIdentity("Flame Slash", ""));
+ cubeCards.add(new CardIdentity("Flametongue Kavu", ""));
+ cubeCards.add(new CardIdentity("Flickerwisp", ""));
+ cubeCards.add(new CardIdentity("Flooded Strand", ""));
+ cubeCards.add(new CardIdentity("Forbid", ""));
+ cubeCards.add(new CardIdentity("Force of Negation", ""));
+ cubeCards.add(new CardIdentity("Force of Will", ""));
+ cubeCards.add(new CardIdentity("Forsake the Worldly", ""));
+ cubeCards.add(new CardIdentity("Fractured Identity", ""));
+ cubeCards.add(new CardIdentity("Frost Titan", ""));
+ cubeCards.add(new CardIdentity("Fumigate", ""));
+ cubeCards.add(new CardIdentity("Fyndhorn Elves", ""));
+ cubeCards.add(new CardIdentity("Gaea's Cradle", ""));
+ 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("Gatekeeper of Malakir", ""));
+ cubeCards.add(new CardIdentity("Geist of Saint Traft", ""));
+ cubeCards.add(new CardIdentity("Genesis Wave", ""));
+ cubeCards.add(new CardIdentity("Geralf's Messenger", ""));
+ cubeCards.add(new CardIdentity("Gideon Blackblade", ""));
+ cubeCards.add(new CardIdentity("Gideon Jura", ""));
+ cubeCards.add(new CardIdentity("Gideon, Ally of Zendikar", ""));
+ cubeCards.add(new CardIdentity("Gifts Ungiven", ""));
+ cubeCards.add(new CardIdentity("Gilded Lotus", ""));
+ cubeCards.add(new CardIdentity("Giver of Runes", ""));
+ cubeCards.add(new CardIdentity("Glacial Fortress", ""));
+ cubeCards.add(new CardIdentity("Glen Elendra Archmage", ""));
+ cubeCards.add(new CardIdentity("Glorious Anthem", ""));
+ cubeCards.add(new CardIdentity("Glorybringer", ""));
+ cubeCards.add(new CardIdentity("Go for the Throat", ""));
+ cubeCards.add(new CardIdentity("Goblin Cratermaker", ""));
+ cubeCards.add(new CardIdentity("Goblin Dark-Dwellers", ""));
+ cubeCards.add(new CardIdentity("Goblin Guide", ""));
+ cubeCards.add(new CardIdentity("Goblin Rabblemaster", ""));
+ cubeCards.add(new CardIdentity("Godless Shrine", ""));
+ cubeCards.add(new CardIdentity("Gonti, Lord of Luxury", ""));
+ cubeCards.add(new CardIdentity("Grave Titan", ""));
+ cubeCards.add(new CardIdentity("Gravecrawler", ""));
+ cubeCards.add(new CardIdentity("Gray Merchant of Asphodel", ""));
+ cubeCards.add(new CardIdentity("Greater Gargadon", ""));
+ cubeCards.add(new CardIdentity("Green Sun's Zenith", ""));
+ cubeCards.add(new CardIdentity("Greenwarden of Murasa", ""));
+ cubeCards.add(new CardIdentity("Grim Lavamancer", ""));
+ cubeCards.add(new CardIdentity("Grim Monolith", ""));
+ cubeCards.add(new CardIdentity("Griselbrand", ""));
+ cubeCards.add(new CardIdentity("Gutterbones", ""));
+ cubeCards.add(new CardIdentity("Hallowed Fountain", ""));
+ cubeCards.add(new CardIdentity("Hallowed Spiritkeeper", ""));
+ cubeCards.add(new CardIdentity("Hangarback Walker", ""));
+ cubeCards.add(new CardIdentity("Harmonize", ""));
+ cubeCards.add(new CardIdentity("Hazoret the Fervent", ""));
+ cubeCards.add(new CardIdentity("Hedron Archive", ""));
+ cubeCards.add(new CardIdentity("Hellrider", ""));
+ cubeCards.add(new CardIdentity("Hero of Bladehold", ""));
+ cubeCards.add(new CardIdentity("Hero of Precinct One", ""));
+ cubeCards.add(new CardIdentity("Hero's Downfall", ""));
+ cubeCards.add(new CardIdentity("Hexdrinker", ""));
+ cubeCards.add(new CardIdentity("Hinterland Harbor", ""));
+ cubeCards.add(new CardIdentity("Hissing Quagmire", ""));
+ cubeCards.add(new CardIdentity("History of Benalia", ""));
+ cubeCards.add(new CardIdentity("Honor of the Pure", ""));
+ cubeCards.add(new CardIdentity("Horizon Canopy", ""));
+ cubeCards.add(new CardIdentity("Hornet Queen", ""));
+ cubeCards.add(new CardIdentity("Hostage Taker", ""));
+ cubeCards.add(new CardIdentity("Hour of Devastation", ""));
+ cubeCards.add(new CardIdentity("Huntmaster of the Fells", ""));
+ cubeCards.add(new CardIdentity("Hydroid Krasis", ""));
+ cubeCards.add(new CardIdentity("Hymn to Tourach", ""));
+ cubeCards.add(new CardIdentity("Hypnotic Specter", ""));
+ cubeCards.add(new CardIdentity("Ilharg, the Raze-Boar", ""));
+ cubeCards.add(new CardIdentity("Imperial Recruiter", ""));
+ cubeCards.add(new CardIdentity("Impulse", ""));
+ cubeCards.add(new CardIdentity("Incinerate", ""));
+ cubeCards.add(new CardIdentity("Incubation Druid", ""));
+ cubeCards.add(new CardIdentity("Inferno Titan", ""));
+ cubeCards.add(new CardIdentity("Inquisition of Kozilek", ""));
+ cubeCards.add(new CardIdentity("Inspiring Vantage", ""));
+ cubeCards.add(new CardIdentity("Into the Roil", ""));
+ cubeCards.add(new CardIdentity("Iona, Shield of Emeria", ""));
+ 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, the Mind Sculptor", ""));
+ cubeCards.add(new CardIdentity("Jace, Vryn's Prodigy", ""));
+ cubeCards.add(new CardIdentity("Jadelight Ranger", ""));
+ cubeCards.add(new CardIdentity("Joraga Treespeaker", ""));
+ cubeCards.add(new CardIdentity("Journey to Nowhere", ""));
+ cubeCards.add(new CardIdentity("Kalitas, Traitor of Ghet", ""));
+ cubeCards.add(new CardIdentity("Karakas", ""));
+ cubeCards.add(new CardIdentity("Karn Liberated", ""));
+ cubeCards.add(new CardIdentity("Karn, Scion of Urza", ""));
+ cubeCards.add(new CardIdentity("Kiki-Jiki, Mirror Breaker", ""));
+ cubeCards.add(new CardIdentity("Kira, Great Glass-Spinner", ""));
+ cubeCards.add(new CardIdentity("Kitchen Finks", ""));
+ cubeCards.add(new CardIdentity("Kitesail Freebooter", ""));
+ cubeCards.add(new CardIdentity("Knight of Autumn", ""));
+ cubeCards.add(new CardIdentity("Kodama's Reach", ""));
+ cubeCards.add(new CardIdentity("Kolaghan's Command", ""));
+ cubeCards.add(new CardIdentity("Koth of the Hammer", ""));
+ cubeCards.add(new CardIdentity("Kozilek, Butcher of Truths", ""));
+ cubeCards.add(new CardIdentity("Kytheon, Hero of Akros", ""));
+ cubeCards.add(new CardIdentity("Land Tax", ""));
+ cubeCards.add(new CardIdentity("Languish", ""));
+ cubeCards.add(new CardIdentity("Lava Coil", ""));
+ cubeCards.add(new CardIdentity("Lavaclaw Reaches", ""));
+ cubeCards.add(new CardIdentity("Legion Warboss", ""));
+ cubeCards.add(new CardIdentity("Legion's Landing", ""));
+ cubeCards.add(new CardIdentity("Lightning Bolt", ""));
+ cubeCards.add(new CardIdentity("Lightning Greaves", ""));
+ cubeCards.add(new CardIdentity("Lightning Helix", ""));
+ cubeCards.add(new CardIdentity("Lightning Strike", ""));
+ cubeCards.add(new CardIdentity("Liliana of the Veil", ""));
+ cubeCards.add(new CardIdentity("Liliana's Triumph", ""));
+ cubeCards.add(new CardIdentity("Liliana, Dreadhorde General", ""));
+ cubeCards.add(new CardIdentity("Liliana, the Last Hope", ""));
+ cubeCards.add(new CardIdentity("Lingering Souls", ""));
+ cubeCards.add(new CardIdentity("Living Death", ""));
+ cubeCards.add(new CardIdentity("Llanowar Elves", ""));
+ cubeCards.add(new CardIdentity("Looter il-Kor", ""));
+ cubeCards.add(new CardIdentity("Lotus Cobra", ""));
+ cubeCards.add(new CardIdentity("Lumbering Falls", ""));
+ cubeCards.add(new CardIdentity("Lyra Dawnbringer", ""));
+ cubeCards.add(new CardIdentity("Magister of Worth", ""));
+ cubeCards.add(new CardIdentity("Magma Jet", ""));
+ cubeCards.add(new CardIdentity("Makeshift Mannequin", ""));
+ cubeCards.add(new CardIdentity("Malicious Affliction", ""));
+ cubeCards.add(new CardIdentity("Man-o'-War", ""));
+ cubeCards.add(new CardIdentity("Mana Confluence", ""));
+ cubeCards.add(new CardIdentity("Mana Leak", ""));
+ cubeCards.add(new CardIdentity("Mana Tithe", ""));
+ cubeCards.add(new CardIdentity("Manic Vandal", ""));
+ cubeCards.add(new CardIdentity("Marsh Flats", ""));
+ cubeCards.add(new CardIdentity("Martial Coup", ""));
+ cubeCards.add(new CardIdentity("Mass Manipulation", ""));
+ cubeCards.add(new CardIdentity("Massacre Wurm", ""));
+ cubeCards.add(new CardIdentity("Master of the Wild Hunt", ""));
+ cubeCards.add(new CardIdentity("Maze of Ith", ""));
+ cubeCards.add(new CardIdentity("Meloku the Clouded Mirror", ""));
+ cubeCards.add(new CardIdentity("Mentor of the Meek", ""));
+ cubeCards.add(new CardIdentity("Meren of Clan Nel Toth", ""));
+ cubeCards.add(new CardIdentity("Merfolk Looter", ""));
+ cubeCards.add(new CardIdentity("Midnight Reaper", ""));
+ cubeCards.add(new CardIdentity("Mimic Vat", ""));
+ cubeCards.add(new CardIdentity("Mind Shatter", ""));
+ cubeCards.add(new CardIdentity("Mind Stone", ""));
+ cubeCards.add(new CardIdentity("Mindslaver", ""));
+ cubeCards.add(new CardIdentity("Mirari's Wake", ""));
+ cubeCards.add(new CardIdentity("Miscalculation", ""));
+ cubeCards.add(new CardIdentity("Mishra's Factory", ""));
+ cubeCards.add(new CardIdentity("Misty Rainforest", ""));
+ cubeCards.add(new CardIdentity("Mizzium Mortars", ""));
+ cubeCards.add(new CardIdentity("Monastery Mentor", ""));
+ cubeCards.add(new CardIdentity("Monastery Swiftspear", ""));
+ cubeCards.add(new CardIdentity("Mother of Runes", ""));
+ cubeCards.add(new CardIdentity("Mulldrifter", ""));
+ cubeCards.add(new CardIdentity("Murderous Cut", ""));
+ cubeCards.add(new CardIdentity("Murderous Redcap", ""));
+ cubeCards.add(new CardIdentity("Murmuring Mystic", ""));
+ cubeCards.add(new CardIdentity("Mutavault", ""));
+ cubeCards.add(new CardIdentity("Myr Battlesphere", ""));
+ cubeCards.add(new CardIdentity("Mystic Confluence", ""));
+ cubeCards.add(new CardIdentity("Mystic Snake", ""));
+ cubeCards.add(new CardIdentity("Nahiri, the Harbinger", ""));
+ cubeCards.add(new CardIdentity("Narset, Parter of Veils", ""));
+ cubeCards.add(new CardIdentity("Natural Order", ""));
+ cubeCards.add(new CardIdentity("Necromancy", ""));
+ cubeCards.add(new CardIdentity("Needle Spires", ""));
+ cubeCards.add(new CardIdentity("Negate", ""));
+ cubeCards.add(new CardIdentity("Nekrataal", ""));
+ cubeCards.add(new CardIdentity("Never // Return", ""));
+ cubeCards.add(new CardIdentity("Nicol Bolas, Dragon-God", ""));
+ cubeCards.add(new CardIdentity("Nicol Bolas, Planeswalker", ""));
+ cubeCards.add(new CardIdentity("Night's Whisper", ""));
+ cubeCards.add(new CardIdentity("Nimble Obstructionist", ""));
+ cubeCards.add(new CardIdentity("Nissa, Vastwood Seer", ""));
+ cubeCards.add(new CardIdentity("Nissa, Who Shakes the World", ""));
+ cubeCards.add(new CardIdentity("Niv-Mizzet, Parun", ""));
+ 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("Obstinate Baloth", ""));
+ cubeCards.add(new CardIdentity("Oona's Prowler", ""));
+ cubeCards.add(new CardIdentity("Ophiomancer", ""));
+ cubeCards.add(new CardIdentity("Opposition", ""));
+ cubeCards.add(new CardIdentity("Opt", ""));
+ cubeCards.add(new CardIdentity("Oracle of Mul Daya", ""));
+ cubeCards.add(new CardIdentity("Oust", ""));
+ cubeCards.add(new CardIdentity("Outpost Siege", ""));
+ cubeCards.add(new CardIdentity("Overgrown Battlement", ""));
+ cubeCards.add(new CardIdentity("Overgrown Tomb", ""));
+ cubeCards.add(new CardIdentity("Pack Rat", ""));
+ cubeCards.add(new CardIdentity("Pact of Negation", ""));
+ cubeCards.add(new CardIdentity("Parallax Wave", ""));
+ cubeCards.add(new CardIdentity("Path to Exile", ""));
+ cubeCards.add(new CardIdentity("Pestermite", ""));
+ 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("Pia Nalaar", ""));
+ cubeCards.add(new CardIdentity("Plateau", ""));
+ cubeCards.add(new CardIdentity("Plow Under", ""));
+ cubeCards.add(new CardIdentity("Polluted Delta", ""));
+ cubeCards.add(new CardIdentity("Polukranos, World Eater", ""));
+ cubeCards.add(new CardIdentity("Ponder", ""));
+ cubeCards.add(new CardIdentity("Porcelain Legionnaire", ""));
+ cubeCards.add(new CardIdentity("Preordain", ""));
+ cubeCards.add(new CardIdentity("Primal Command", ""));
+ cubeCards.add(new CardIdentity("Prime Speaker Vannifar", ""));
+ cubeCards.add(new CardIdentity("Primeval Titan", ""));
+ cubeCards.add(new CardIdentity("Prismatic Lens", ""));
+ cubeCards.add(new CardIdentity("Profane Command", ""));
+ cubeCards.add(new CardIdentity("Pteramander", ""));
+ cubeCards.add(new CardIdentity("Pyroclasm", ""));
+ cubeCards.add(new CardIdentity("Raging Ravine", ""));
+ cubeCards.add(new CardIdentity("Rampaging Baloths", ""));
+ cubeCards.add(new CardIdentity("Rampaging Ferocidon", ""));
+ cubeCards.add(new CardIdentity("Rampant Growth", ""));
+ cubeCards.add(new CardIdentity("Ramunap Excavator", ""));
+ cubeCards.add(new CardIdentity("Ranger-Captain of Eos", ""));
+ cubeCards.add(new CardIdentity("Rattleclaw Mystic", ""));
+ cubeCards.add(new CardIdentity("Ravages of War", ""));
+ cubeCards.add(new CardIdentity("Ravenous Chupacabra", ""));
+ cubeCards.add(new CardIdentity("Read the Bones", ""));
+ cubeCards.add(new CardIdentity("Reanimate", ""));
+ cubeCards.add(new CardIdentity("Reclamation Sage", ""));
+ cubeCards.add(new CardIdentity("Recruiter of the Guard", ""));
+ cubeCards.add(new CardIdentity("Recurring Nightmare", ""));
+ cubeCards.add(new CardIdentity("Rekindling Phoenix", ""));
+ cubeCards.add(new CardIdentity("Relic of Progenitus", ""));
+ cubeCards.add(new CardIdentity("Remand", ""));
+ cubeCards.add(new CardIdentity("Remorseful Cleric", ""));
+ cubeCards.add(new CardIdentity("Remove Soul", ""));
+ cubeCards.add(new CardIdentity("Repeal", ""));
+ cubeCards.add(new CardIdentity("Restoration Angel", ""));
+ cubeCards.add(new CardIdentity("Reveillark", ""));
+ cubeCards.add(new CardIdentity("Rift Bolt", ""));
+ cubeCards.add(new CardIdentity("Riftwing Cloudskate", ""));
+ cubeCards.add(new CardIdentity("Rishadan Port", ""));
+ cubeCards.add(new CardIdentity("Rix Maadi Reveler", ""));
+ cubeCards.add(new CardIdentity("Roalesk, Apex Hybrid", ""));
+ cubeCards.add(new CardIdentity("Roast", ""));
+ cubeCards.add(new CardIdentity("Rofellos, Llanowar Emissary", ""));
+ cubeCards.add(new CardIdentity("Rootbound Crag", ""));
+ cubeCards.add(new CardIdentity("Rotting Regisaur", ""));
+ cubeCards.add(new CardIdentity("Runaway Steam-Kin", ""));
+ cubeCards.add(new CardIdentity("Ruric Thar, the Unbowed", ""));
+ cubeCards.add(new CardIdentity("Sacred Foundry", ""));
+ cubeCards.add(new CardIdentity("Sakura-Tribe Elder", ""));
+ cubeCards.add(new CardIdentity("Satyr Wayfinder", ""));
+ cubeCards.add(new CardIdentity("Savannah", ""));
+ cubeCards.add(new CardIdentity("Scalding Tarn", ""));
+ cubeCards.add(new CardIdentity("Scavenging Ooze", ""));
+ cubeCards.add(new CardIdentity("Scrubland", ""));
+ cubeCards.add(new CardIdentity("Seachrome Coast", ""));
+ cubeCards.add(new CardIdentity("Search for Azcanta", ""));
+ cubeCards.add(new CardIdentity("Search for Tomorrow", ""));
+ cubeCards.add(new CardIdentity("Searing Spear", ""));
+ cubeCards.add(new CardIdentity("Seasoned Pyromancer", ""));
+ cubeCards.add(new CardIdentity("Seeker of the Way", ""));
+ cubeCards.add(new CardIdentity("Selfless Spirit", ""));
+ cubeCards.add(new CardIdentity("Seraph of the Scales", ""));
+ cubeCards.add(new CardIdentity("Serra the Benevolent", ""));
+ cubeCards.add(new CardIdentity("Serum Visions", ""));
+ cubeCards.add(new CardIdentity("Shambling Vent", ""));
+ cubeCards.add(new CardIdentity("Shardless Agent", ""));
+ cubeCards.add(new CardIdentity("Shelldock Isle", ""));
+ cubeCards.add(new CardIdentity("Sheoldred, Whispering One", ""));
+ cubeCards.add(new CardIdentity("Shivan Fire", ""));
+ cubeCards.add(new CardIdentity("Show and Tell", ""));
+ cubeCards.add(new CardIdentity("Shriekmaw", ""));
+ cubeCards.add(new CardIdentity("Siege-Gang Commander", ""));
+ cubeCards.add(new CardIdentity("Sigarda, Host of Herons", ""));
+ cubeCards.add(new CardIdentity("Sin Collector", ""));
+ cubeCards.add(new CardIdentity("Skysovereign, Consul Flagship", ""));
+ cubeCards.add(new CardIdentity("Slaughter Pact", ""));
+ cubeCards.add(new CardIdentity("Smiting Helix", ""));
+ cubeCards.add(new CardIdentity("Smuggler's Copter", ""));
+ cubeCards.add(new CardIdentity("Snapcaster Mage", ""));
+ cubeCards.add(new CardIdentity("Sneak Attack", ""));
+ cubeCards.add(new CardIdentity("Solemn Simulacrum", ""));
+ cubeCards.add(new CardIdentity("Sorin, Solemn Visitor", ""));
+ cubeCards.add(new CardIdentity("Sower of Temptation", ""));
+ cubeCards.add(new CardIdentity("Spawn of Mayhem", ""));
+ cubeCards.add(new CardIdentity("Spear of Heliod", ""));
+ cubeCards.add(new CardIdentity("Spectral Procession", ""));
+ cubeCards.add(new CardIdentity("Spellseeker", ""));
+ cubeCards.add(new CardIdentity("Spellskite", ""));
+ cubeCards.add(new CardIdentity("Sphinx's Revelation", ""));
+ cubeCards.add(new CardIdentity("Spirebluff Canal", ""));
+ cubeCards.add(new CardIdentity("Splinter Twin", ""));
+ cubeCards.add(new CardIdentity("Star of Extinction", ""));
+ cubeCards.add(new CardIdentity("Steam Vents", ""));
+ cubeCards.add(new CardIdentity("Steel Hellkite", ""));
+ cubeCards.add(new CardIdentity("Stirring Wildwood", ""));
+ cubeCards.add(new CardIdentity("Stoke the Flames", ""));
+ cubeCards.add(new CardIdentity("Stomping Ground", ""));
+ cubeCards.add(new CardIdentity("Stoneforge Mystic", ""));
+ cubeCards.add(new CardIdentity("Stratus Dancer", ""));
+ cubeCards.add(new CardIdentity("Student of Warfare", ""));
+ cubeCards.add(new CardIdentity("Sublime Archangel", ""));
+ cubeCards.add(new CardIdentity("Sulfur Falls", ""));
+ cubeCards.add(new CardIdentity("Sun Titan", ""));
+ cubeCards.add(new CardIdentity("Sundering Titan", ""));
+ cubeCards.add(new CardIdentity("Sunpetal Grove", ""));
+ cubeCards.add(new CardIdentity("Supreme Verdict", ""));
+ cubeCards.add(new CardIdentity("Supreme Will", ""));
+ cubeCards.add(new CardIdentity("Sweltering Suns", ""));
+ cubeCards.add(new CardIdentity("Sword of Body and Mind", ""));
+ cubeCards.add(new CardIdentity("Sword of Feast and Famine", ""));
+ cubeCards.add(new CardIdentity("Sword of Fire and Ice", ""));
+ cubeCards.add(new CardIdentity("Sword of Light and Shadow", ""));
+ cubeCards.add(new CardIdentity("Sword of Sinew and Steel", ""));
+ cubeCards.add(new CardIdentity("Sword of War and Peace", ""));
+ cubeCards.add(new CardIdentity("Swords to Plowshares", ""));
+ cubeCards.add(new CardIdentity("Sylvan Caryatid", ""));
+ cubeCards.add(new CardIdentity("Sylvan Library", ""));
+ cubeCards.add(new CardIdentity("Taiga", ""));
+ cubeCards.add(new CardIdentity("Tale's End", ""));
+ cubeCards.add(new CardIdentity("Talrand, Sky Summoner", ""));
+ cubeCards.add(new CardIdentity("Tamiyo, the Moon Sage", ""));
+ cubeCards.add(new CardIdentity("Tangle Wire", ""));
+ cubeCards.add(new CardIdentity("Tasigur, the Golden Fang", ""));
+ cubeCards.add(new CardIdentity("Tectonic Edge", ""));
+ cubeCards.add(new CardIdentity("Teferi, Hero of Dominaria", ""));
+ cubeCards.add(new CardIdentity("Teferi, Time Raveler", ""));
+ cubeCards.add(new CardIdentity("Temple Garden", ""));
+ cubeCards.add(new CardIdentity("Temporal Mastery", ""));
+ cubeCards.add(new CardIdentity("Terastodon", ""));
+ cubeCards.add(new CardIdentity("Terminus", ""));
+ cubeCards.add(new CardIdentity("Thalia, Guardian of Thraben", ""));
+ cubeCards.add(new CardIdentity("Thalia, Heretic Cathar", ""));
+ cubeCards.add(new CardIdentity("The Immortal Sun", ""));
+ cubeCards.add(new CardIdentity("The Scarab God", ""));
+ cubeCards.add(new CardIdentity("Thief of Sanity", ""));
+ cubeCards.add(new CardIdentity("Thing in the Ice", ""));
+ cubeCards.add(new CardIdentity("Thirst for Knowledge", ""));
+ cubeCards.add(new CardIdentity("Thoughtseize", ""));
+ cubeCards.add(new CardIdentity("Thraben Inspector", ""));
+ cubeCards.add(new CardIdentity("Thragtusk", ""));
+ cubeCards.add(new CardIdentity("Thran Dynamo", ""));
+ cubeCards.add(new CardIdentity("Thrashing Brontodon", ""));
+ cubeCards.add(new CardIdentity("Through the Breach", ""));
+ cubeCards.add(new CardIdentity("Thrun, the Last Troll", ""));
+ cubeCards.add(new CardIdentity("Thunderbreak Regent", ""));
+ cubeCards.add(new CardIdentity("Thundermaw Hellkite", ""));
+ cubeCards.add(new CardIdentity("Time Warp", ""));
+ cubeCards.add(new CardIdentity("Tireless Tracker", ""));
+ cubeCards.add(new CardIdentity("Tithe Taker", ""));
+ cubeCards.add(new CardIdentity("Tooth and Nail", ""));
+ cubeCards.add(new CardIdentity("Tormenting Voice", ""));
+ cubeCards.add(new CardIdentity("Torrential Gearhulk", ""));
+ cubeCards.add(new CardIdentity("Toxic Deluge", ""));
+ cubeCards.add(new CardIdentity("Treachery", ""));
+ cubeCards.add(new CardIdentity("Treasure Map", ""));
+ cubeCards.add(new CardIdentity("Treetop Village", ""));
+ cubeCards.add(new CardIdentity("Tropical Island", ""));
+ cubeCards.add(new CardIdentity("Trostani Discordant", ""));
+ cubeCards.add(new CardIdentity("Tundra", ""));
+ cubeCards.add(new CardIdentity("Ugin, the Spirit Dragon", ""));
+ cubeCards.add(new CardIdentity("Ulamog, the Ceaseless Hunger", ""));
+ cubeCards.add(new CardIdentity("Ulamog, the Infinite Gyre", ""));
+ cubeCards.add(new CardIdentity("Ultimate Price", ""));
+ cubeCards.add(new CardIdentity("Umezawa's Jitte", ""));
+ cubeCards.add(new CardIdentity("Unburial Rites", ""));
+ cubeCards.add(new CardIdentity("Underground Sea", ""));
+ cubeCards.add(new CardIdentity("Unexpectedly Absent", ""));
+ cubeCards.add(new CardIdentity("Upheaval", ""));
+ cubeCards.add(new CardIdentity("Urza, Lord High Artificer", ""));
+ cubeCards.add(new CardIdentity("Utopia Sprawl", ""));
+ cubeCards.add(new CardIdentity("Vampire Hexmage", ""));
+ cubeCards.add(new CardIdentity("Vampire Nighthawk", ""));
+ cubeCards.add(new CardIdentity("Vendilion Clique", ""));
+ cubeCards.add(new CardIdentity("Venerated Loxodon", ""));
+ cubeCards.add(new CardIdentity("Venser, Shaper Savant", ""));
+ cubeCards.add(new CardIdentity("Verdant Catacombs", ""));
+ cubeCards.add(new CardIdentity("Vindicate", ""));
+ cubeCards.add(new CardIdentity("Vivien Reid", ""));
+ cubeCards.add(new CardIdentity("Voice of Resurgence", ""));
+ cubeCards.add(new CardIdentity("Volcanic Island", ""));
+ cubeCards.add(new CardIdentity("Volrath's Stronghold", ""));
+ cubeCards.add(new CardIdentity("Vraska's Contempt", ""));
+ cubeCards.add(new CardIdentity("Vraska, Relic Seeker", ""));
+ cubeCards.add(new CardIdentity("Wake Thrasher", ""));
+ cubeCards.add(new CardIdentity("Walking Ballista", ""));
+ cubeCards.add(new CardIdentity("Wall of Blossoms", ""));
+ cubeCards.add(new CardIdentity("Wall of Omens", ""));
+ cubeCards.add(new CardIdentity("Wandering Fumarole", ""));
+ cubeCards.add(new CardIdentity("Wasteland", ""));
+ cubeCards.add(new CardIdentity("Watery Grave", ""));
+ cubeCards.add(new CardIdentity("Whip of Erebos", ""));
+ cubeCards.add(new CardIdentity("Whirler Rogue", ""));
+ cubeCards.add(new CardIdentity("Whisperwood Elemental", ""));
+ cubeCards.add(new CardIdentity("Wickerbough Elder", ""));
+ cubeCards.add(new CardIdentity("Windbrisk Heights", ""));
+ cubeCards.add(new CardIdentity("Windswept Heath", ""));
+ cubeCards.add(new CardIdentity("Wood Elves", ""));
+ cubeCards.add(new CardIdentity("Wooded Foothills", ""));
+ cubeCards.add(new CardIdentity("Woodfall Primus", ""));
+ cubeCards.add(new CardIdentity("Woodland Cemetery", ""));
+ cubeCards.add(new CardIdentity("Worn Powerstone", ""));
+ cubeCards.add(new CardIdentity("Wrath of God", ""));
+ cubeCards.add(new CardIdentity("Wrenn and Six", ""));
+ cubeCards.add(new CardIdentity("Wretched Confluence", ""));
+ cubeCards.add(new CardIdentity("Wurmcoil Engine", ""));
+ cubeCards.add(new CardIdentity("Xenagos, the Reveler", ""));
+ cubeCards.add(new CardIdentity("Yavimaya Elder", ""));
+ cubeCards.add(new CardIdentity("Yawgmoth, Thran Physician", ""));
+ cubeCards.add(new CardIdentity("Young Pyromancer", ""));
+ cubeCards.add(new CardIdentity("Zealous Conscripts", ""));
+ cubeCards.add(new CardIdentity("Zurgo Bellstriker", ""));
+ }
+}
diff --git a/Mage.Server/config/config.xml b/Mage.Server/config/config.xml
index df47d285b5..625a01d39d 100644
--- a/Mage.Server/config/config.xml
+++ b/Mage.Server/config/config.xml
@@ -125,6 +125,7 @@
+
diff --git a/Mage.Server/release/config/config.xml b/Mage.Server/release/config/config.xml
index 31121bfb8c..2584861224 100644
--- a/Mage.Server/release/config/config.xml
+++ b/Mage.Server/release/config/config.xml
@@ -119,6 +119,7 @@
+
diff --git a/Mage.Sets/src/mage/cards/k/KorvoldFaeCursedKing.java b/Mage.Sets/src/mage/cards/k/KorvoldFaeCursedKing.java
new file mode 100644
index 0000000000..2d6b7a4d25
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/k/KorvoldFaeCursedKing.java
@@ -0,0 +1,96 @@
+package mage.cards.k;
+
+import mage.MageInt;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.effects.common.SacrificeControllerEffect;
+import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.SubType;
+import mage.constants.SuperType;
+import mage.constants.Zone;
+import mage.counters.CounterType;
+import mage.filter.FilterPermanent;
+import mage.filter.predicate.permanent.AnotherPredicate;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class KorvoldFaeCursedKing extends CardImpl {
+
+ private static final FilterPermanent filter = new FilterPermanent("another permanent");
+
+ static {
+ filter.add(AnotherPredicate.instance);
+ }
+
+ public KorvoldFaeCursedKing(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}");
+
+ this.addSuperType(SuperType.LEGENDARY);
+ this.subtype.add(SubType.DRAGON);
+ this.subtype.add(SubType.NOBLE);
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(4);
+
+ // Flying
+ this.addAbility(FlyingAbility.getInstance());
+
+ // Whenever Korvold, Fae-Cursed King enters the battlefield or attacks, sacrifice another permanent.
+ this.addAbility(new EntersBattlefieldOrAttacksSourceTriggeredAbility(
+ new SacrificeControllerEffect(filter, 1, "")
+ ));
+
+ // Whenever you sacrifice a permanent, put a +1/+1 counter on Korvold and draw a card.
+ this.addAbility(new KorvoldFaeCursedKingAbility());
+ }
+
+ private KorvoldFaeCursedKing(final KorvoldFaeCursedKing card) {
+ super(card);
+ }
+
+ @Override
+ public KorvoldFaeCursedKing copy() {
+ return new KorvoldFaeCursedKing(this);
+ }
+}
+
+class KorvoldFaeCursedKingAbility extends TriggeredAbilityImpl {
+
+ KorvoldFaeCursedKingAbility() {
+ super(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()));
+ this.addEffect(new DrawCardSourceControllerEffect(1));
+ }
+
+ private KorvoldFaeCursedKingAbility(final KorvoldFaeCursedKingAbility ability) {
+ super(ability);
+ }
+
+ @Override
+ public KorvoldFaeCursedKingAbility copy() {
+ return new KorvoldFaeCursedKingAbility(this);
+ }
+
+ @Override
+ public boolean checkEventType(GameEvent event, Game game) {
+ return event.getType() == GameEvent.EventType.SACRIFICED_PERMANENT;
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ return this.isControlledBy(event.getPlayerId());
+ }
+
+ @Override
+ public String getRule() {
+ return "Whenever you sacrifice a permanent, put a +1/+1 counter on {this} and draw a card.";
+ }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java
new file mode 100644
index 0000000000..6f3cffaebe
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java
@@ -0,0 +1,98 @@
+package mage.cards.s;
+
+import mage.MageInt;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.DamagePlayersEffect;
+import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffect;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.*;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.events.ZoneChangeEvent;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class SyrKonradTheGrim extends CardImpl {
+
+ public SyrKonradTheGrim(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
+
+ this.addSuperType(SuperType.LEGENDARY);
+ this.subtype.add(SubType.HUMAN);
+ this.subtype.add(SubType.KNIGHT);
+ this.power = new MageInt(5);
+ this.toughness = new MageInt(4);
+
+ // Whenever another creature dies, or a creature card is put into a graveyard from anywhere other than the battlefield, or a creature card leaves your graveyard, Syr Konrad, the Grim deals 1 damage to each opponent.
+ this.addAbility(new SyrKonradTheGrimTriggeredAbility());
+
+ // {1}{B}: Each player puts the top card of their library into their graveyard.
+ this.addAbility(new SimpleActivatedAbility(new PutTopCardOfLibraryIntoGraveEachPlayerEffect(
+ 1, TargetController.ANY
+ ), new ManaCostsImpl("{1}{B}")));
+ }
+
+ private SyrKonradTheGrim(final SyrKonradTheGrim card) {
+ super(card);
+ }
+
+ @Override
+ public SyrKonradTheGrim copy() {
+ return new SyrKonradTheGrim(this);
+ }
+}
+
+class SyrKonradTheGrimTriggeredAbility extends TriggeredAbilityImpl {
+
+ SyrKonradTheGrimTriggeredAbility() {
+ super(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT));
+ }
+
+ private SyrKonradTheGrimTriggeredAbility(final SyrKonradTheGrimTriggeredAbility ability) {
+ super(ability);
+ }
+
+ @Override
+ public SyrKonradTheGrimTriggeredAbility copy() {
+ return new SyrKonradTheGrimTriggeredAbility(this);
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ return event.getType() == GameEvent.EventType.ZONE_CHANGE;
+ }
+
+ @Override
+ public boolean checkEventType(GameEvent event, Game game) {
+ ZoneChangeEvent zEvent = (ZoneChangeEvent) event;
+ if (zEvent.isDiesEvent()
+ && zEvent.getTarget() != null
+ && !zEvent.getTargetId().equals(this.getSourceId())
+ && zEvent.getTarget().isCreature()) {
+ return true;
+ }
+ Card card = game.getCard(zEvent.getTargetId());
+ if (card == null || !card.isCreature()) {
+ return false;
+ }
+ if (zEvent.getToZone() == Zone.GRAVEYARD
+ && zEvent.getFromZone() != Zone.BATTLEFIELD) {
+ return true;
+ }
+ return zEvent.getFromZone() == Zone.GRAVEYARD;
+ }
+
+ @Override
+ public String getRule() {
+ return "Whenever another creature dies, or a creature card is put into a graveyard " +
+ "from anywhere other than the battlefield, or a creature card leaves your graveyard, " +
+ "{this} deals 1 damage to each opponent.";
+ }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/cards/w/WitchsCottage.java b/Mage.Sets/src/mage/cards/w/WitchsCottage.java
new file mode 100644
index 0000000000..9c78e1429c
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/w/WitchsCottage.java
@@ -0,0 +1,93 @@
+package mage.cards.w;
+
+import mage.abilities.common.EntersBattlefieldAbility;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.condition.Condition;
+import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
+import mage.abilities.decorator.ConditionalOneShotEffect;
+import mage.abilities.effects.common.PutOnLibraryTargetEffect;
+import mage.abilities.effects.common.TapSourceEffect;
+import mage.abilities.mana.BlackManaAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.ComparisonType;
+import mage.constants.SubType;
+import mage.filter.FilterPermanent;
+import mage.filter.StaticFilters;
+import mage.filter.common.FilterControlledPermanent;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.permanent.Permanent;
+import mage.target.common.TargetCardInYourGraveyard;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class WitchsCottage extends CardImpl {
+
+ private static final FilterPermanent filter
+ = new FilterControlledPermanent(SubType.SWAMP);
+ private static final Condition condition
+ = new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.FEWER_THAN, 3);
+
+ public WitchsCottage(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
+
+ this.subtype.add(SubType.SWAMP);
+
+ // ({T}: Add {B}.)
+ this.addAbility(new BlackManaAbility());
+
+ // Witch's Cottage enters the battlefield tapped unless you control three or more other Swamps.
+ this.addAbility(new EntersBattlefieldAbility(
+ new ConditionalOneShotEffect(new TapSourceEffect(), condition),
+ "tapped unless you control three or more other Swamps"
+ ));
+
+ // When Witch's Cottage enters the battlefield untapped, you may put target creature card from your graveyard on top of your library.
+ this.addAbility(new WitchsCottageTriggeredAbility());
+ }
+
+ private WitchsCottage(final WitchsCottage card) {
+ super(card);
+ }
+
+ @Override
+ public WitchsCottage copy() {
+ return new WitchsCottage(this);
+ }
+}
+
+class WitchsCottageTriggeredAbility extends EntersBattlefieldTriggeredAbility {
+
+ WitchsCottageTriggeredAbility() {
+ super(new PutOnLibraryTargetEffect(true), true);
+ this.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
+ }
+
+ private WitchsCottageTriggeredAbility(final WitchsCottageTriggeredAbility ability) {
+ super(ability);
+ }
+
+ @Override
+ public WitchsCottageTriggeredAbility copy() {
+ return new WitchsCottageTriggeredAbility(this);
+ }
+
+ @Override
+ public boolean checkTrigger(GameEvent event, Game game) {
+ if (!super.checkTrigger(event, game)) {
+ return false;
+ }
+ Permanent permanent = game.getPermanent(event.getTargetId());
+ return permanent != null && permanent.isTapped();
+ }
+
+ @Override
+ public String getRule() {
+ return "When {this} enters the battlefield untapped, you may put target creature card from your graveyard on top of your library.";
+ }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java
index fa85bd63ce..ac1778d5aa 100644
--- a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java
+++ b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java
@@ -59,6 +59,7 @@ public final class ThroneOfEldraine extends ExpansionSet {
cards.add(new SetCardInfo("Inspiring Veteran", 194, Rarity.UNCOMMON, mage.cards.i.InspiringVeteran.class));
cards.add(new SetCardInfo("Keeper of Fables", 163, Rarity.UNCOMMON, mage.cards.k.KeeperOfFables.class));
cards.add(new SetCardInfo("Knights' Charge", 328, Rarity.RARE, mage.cards.k.KnightsCharge.class));
+ cards.add(new SetCardInfo("Korvold, Fae-Cursed King", 329, Rarity.MYTHIC, mage.cards.k.KorvoldFaeCursedKing.class));
cards.add(new SetCardInfo("Lovestruck Beast", 165, Rarity.RARE, mage.cards.l.LovestruckBeast.class));
cards.add(new SetCardInfo("Mace of the Valiant", 314, Rarity.RARE, mage.cards.m.MaceOfTheValiant.class));
cards.add(new SetCardInfo("Maraleaf Pixie", 196, Rarity.UNCOMMON, mage.cards.m.MaraleafPixie.class));
@@ -80,6 +81,7 @@ public final class ThroneOfEldraine extends ExpansionSet {
cards.add(new SetCardInfo("Steelbane Hydra", 322, Rarity.RARE, mage.cards.s.SteelbaneHydra.class));
cards.add(new SetCardInfo("Steelclaw Lance", 202, Rarity.UNCOMMON, mage.cards.s.SteelclawLance.class));
cards.add(new SetCardInfo("Syr Gwyn, Hero of Ashvale", 330, Rarity.MYTHIC, mage.cards.s.SyrGwynHeroOfAshvale.class));
+ cards.add(new SetCardInfo("Syr Konrad, the Grim", 107, Rarity.UNCOMMON, mage.cards.s.SyrKonradTheGrim.class));
cards.add(new SetCardInfo("Taste of Death", 320, Rarity.RARE, mage.cards.t.TasteOfDeath.class));
cards.add(new SetCardInfo("The Circle of Loyalty", 9, Rarity.MYTHIC, mage.cards.t.TheCircleOfLoyalty.class));
cards.add(new SetCardInfo("Thorn Mammoth", 323, Rarity.RARE, mage.cards.t.ThornMammoth.class));
@@ -90,6 +92,7 @@ public final class ThroneOfEldraine extends ExpansionSet {
cards.add(new SetCardInfo("Wind-Scarred Crag", 308, Rarity.COMMON, mage.cards.w.WindScarredCrag.class));
cards.add(new SetCardInfo("Wintermoor Commander", 205, Rarity.UNCOMMON, mage.cards.w.WintermoorCommander.class));
cards.add(new SetCardInfo("Wishful Merfolk", 73, Rarity.COMMON, mage.cards.w.WishfulMerfolk.class));
+ cards.add(new SetCardInfo("Witch's Cottage", 249, Rarity.COMMON, mage.cards.w.WitchsCottage.class));
cards.add(new SetCardInfo("Witching Well", 74, Rarity.COMMON, mage.cards.w.WitchingWell.class));
cards.add(new SetCardInfo("Workshop Elders", 318, Rarity.RARE, mage.cards.w.WorkshopElders.class));