diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCube.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCube.java similarity index 99% rename from Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCube.java rename to Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCube.java index 5221f4668ca..5b64916b808 100644 --- a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCube.java +++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCube.java @@ -34,9 +34,9 @@ import mage.game.draft.DraftCube; * @author LevelX2 */ -public class MTGOLegacyCube extends DraftCube { +public class LegacyCube extends DraftCube { - public MTGOLegacyCube() { + public LegacyCube() { super("MTGO Legacy Cube (600 cards)"); cubeCards.add(new CardIdentity("Accorder Paladin","")); cubeCards.add(new CardIdentity("Abrupt Decay","")); diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJanuary2016.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJanuary2016.java new file mode 100644 index 00000000000..eb11a98cd10 --- /dev/null +++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeJanuary2016.java @@ -0,0 +1,642 @@ +/* + * 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 LegacyCubeJanuary2016 extends DraftCube { + + public LegacyCubeJanuary2016() { + super("MTGO Legacy Cube January 2016 (600 cards)"); + cubeCards.add(new DraftCube.CardIdentity("Abbot of Keral Keep","")); + cubeCards.add(new DraftCube.CardIdentity("Abhorrent Overlord","")); + cubeCards.add(new DraftCube.CardIdentity("Abrupt Decay","")); + cubeCards.add(new DraftCube.CardIdentity("Abyssal Persecutor","")); + cubeCards.add(new DraftCube.CardIdentity("Accorder Paladin","")); + cubeCards.add(new DraftCube.CardIdentity("Acidic Slime","")); + cubeCards.add(new DraftCube.CardIdentity("Act of Aggression","")); + cubeCards.add(new DraftCube.CardIdentity("Adarkar Wastes","")); + cubeCards.add(new DraftCube.CardIdentity("Ainok Survivalist","")); + cubeCards.add(new DraftCube.CardIdentity("Ajani Goldmane","")); + cubeCards.add(new DraftCube.CardIdentity("Ajani Vengeant","")); + cubeCards.add(new DraftCube.CardIdentity("Ajani, Caller of the Pride","")); + cubeCards.add(new DraftCube.CardIdentity("Anafenza, Kin-Tree Spirit","")); + cubeCards.add(new DraftCube.CardIdentity("Ancestral Vision","")); + cubeCards.add(new DraftCube.CardIdentity("Ancient Tomb","")); + cubeCards.add(new DraftCube.CardIdentity("Angel of Serenity","")); + cubeCards.add(new DraftCube.CardIdentity("Anger of the Gods","")); + cubeCards.add(new DraftCube.CardIdentity("Animate Dead","")); + cubeCards.add(new DraftCube.CardIdentity("Arbor Elf","")); + cubeCards.add(new DraftCube.CardIdentity("Arc Trail","")); + 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("Ashcloud Phoenix","")); + cubeCards.add(new DraftCube.CardIdentity("Ashen Rider","")); + cubeCards.add(new DraftCube.CardIdentity("Ashenmoor Gouger","")); + cubeCards.add(new DraftCube.CardIdentity("Ashiok, Nightmare Weaver","")); + cubeCards.add(new DraftCube.CardIdentity("Assemble the Legion","")); + cubeCards.add(new DraftCube.CardIdentity("Attrition","")); + cubeCards.add(new DraftCube.CardIdentity("Augur of Bolas","")); + 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("Badlands","")); + cubeCards.add(new DraftCube.CardIdentity("Baleful Strix","")); + cubeCards.add(new DraftCube.CardIdentity("Banefire","")); + 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("Batterskull","")); + cubeCards.add(new DraftCube.CardIdentity("Battlefield Forge","")); + cubeCards.add(new DraftCube.CardIdentity("Bayou","")); + cubeCards.add(new DraftCube.CardIdentity("Beast Within","")); + cubeCards.add(new DraftCube.CardIdentity("Beetleback Chief","")); + 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("Blade Splicer","")); + cubeCards.add(new DraftCube.CardIdentity("Blood Artist","")); + cubeCards.add(new DraftCube.CardIdentity("Blood Crypt","")); + cubeCards.add(new DraftCube.CardIdentity("Bloodbraid Elf","")); + cubeCards.add(new DraftCube.CardIdentity("Bloodghast","")); + cubeCards.add(new DraftCube.CardIdentity("Bloodsoaked Champion","")); + cubeCards.add(new DraftCube.CardIdentity("Bloodstained Mire","")); + cubeCards.add(new DraftCube.CardIdentity("Bloodthrone Vampire","")); + cubeCards.add(new DraftCube.CardIdentity("Bogardan Hellkite","")); + cubeCards.add(new DraftCube.CardIdentity("Bone Shredder","")); + cubeCards.add(new DraftCube.CardIdentity("Bonesplitter","")); + cubeCards.add(new DraftCube.CardIdentity("Bonfire of the Damned","")); + cubeCards.add(new DraftCube.CardIdentity("Boros Charm","")); + cubeCards.add(new DraftCube.CardIdentity("Boros Reckoner","")); + cubeCards.add(new DraftCube.CardIdentity("Brago, King Eternal","")); + cubeCards.add(new DraftCube.CardIdentity("Brainstorm","")); + cubeCards.add(new DraftCube.CardIdentity("Breeding Pool","")); + cubeCards.add(new DraftCube.CardIdentity("Brimaz, King of Oreskos","")); + cubeCards.add(new DraftCube.CardIdentity("Brimstone Volley","")); + cubeCards.add(new DraftCube.CardIdentity("Brushland","")); + cubeCards.add(new DraftCube.CardIdentity("Brutal Expulsion","")); + cubeCards.add(new DraftCube.CardIdentity("Buried Alive","")); + cubeCards.add(new DraftCube.CardIdentity("Burst Lightning","")); + cubeCards.add(new DraftCube.CardIdentity("Careful Study","")); + cubeCards.add(new DraftCube.CardIdentity("Carrier Thrall","")); + cubeCards.add(new DraftCube.CardIdentity("Carrion Feeder","")); + cubeCards.add(new DraftCube.CardIdentity("Catacomb Sifter","")); + cubeCards.add(new DraftCube.CardIdentity("Caves of Koilos","")); + cubeCards.add(new DraftCube.CardIdentity("Chain Lightning","")); + cubeCards.add(new DraftCube.CardIdentity("Chainer's Edict","")); + cubeCards.add(new DraftCube.CardIdentity("Chameleon Colossus","")); + cubeCards.add(new DraftCube.CardIdentity("Champion of the Parish","")); + cubeCards.add(new DraftCube.CardIdentity("Chandra Nalaar","")); + cubeCards.add(new DraftCube.CardIdentity("Chandra, Fire of Kaladesh","")); + cubeCards.add(new DraftCube.CardIdentity("Chandra, Pyromaster","")); + cubeCards.add(new DraftCube.CardIdentity("Chandra's Phoenix","")); + cubeCards.add(new DraftCube.CardIdentity("Char","")); + cubeCards.add(new DraftCube.CardIdentity("Chasm Skulker","")); + cubeCards.add(new DraftCube.CardIdentity("Chord of Calling","")); + cubeCards.add(new DraftCube.CardIdentity("Chromatic Lantern","")); + cubeCards.add(new DraftCube.CardIdentity("City of Brass","")); + cubeCards.add(new DraftCube.CardIdentity("Clifftop Retreat","")); + cubeCards.add(new DraftCube.CardIdentity("Cloudgoat Ranger","")); + cubeCards.add(new DraftCube.CardIdentity("Collected Company","")); + cubeCards.add(new DraftCube.CardIdentity("Compulsive Research","")); + cubeCards.add(new DraftCube.CardIdentity("Condemn","")); + cubeCards.add(new DraftCube.CardIdentity("Consecrated Sphinx","")); + cubeCards.add(new DraftCube.CardIdentity("Control Magic","")); + cubeCards.add(new DraftCube.CardIdentity("Coralhelm Commander","")); + 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("Crusade","")); + cubeCards.add(new DraftCube.CardIdentity("Crux of Fate","")); + cubeCards.add(new DraftCube.CardIdentity("Cryptic Command","")); + cubeCards.add(new DraftCube.CardIdentity("Cultivate","")); + cubeCards.add(new DraftCube.CardIdentity("Cunning Sparkmage","")); + cubeCards.add(new DraftCube.CardIdentity("Cursed Scroll","")); + cubeCards.add(new DraftCube.CardIdentity("Cyclonic Rift","")); + cubeCards.add(new DraftCube.CardIdentity("Damnation","")); + cubeCards.add(new DraftCube.CardIdentity("Dance of the Dead","")); + cubeCards.add(new DraftCube.CardIdentity("Dark Confidant","")); + cubeCards.add(new DraftCube.CardIdentity("Dark Depths","")); + 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("Deep Analysis","")); + cubeCards.add(new DraftCube.CardIdentity("Delver of Secrets","")); + 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("Devil's Play","")); + cubeCards.add(new DraftCube.CardIdentity("Diabolic Servitude","")); + cubeCards.add(new DraftCube.CardIdentity("Dictate of Heliod","")); + cubeCards.add(new DraftCube.CardIdentity("Disciple of Bolas","")); + cubeCards.add(new DraftCube.CardIdentity("Disfigure","")); + cubeCards.add(new DraftCube.CardIdentity("Dismember","")); + cubeCards.add(new DraftCube.CardIdentity("Dismiss","")); + cubeCards.add(new DraftCube.CardIdentity("Dissipate","")); + cubeCards.add(new DraftCube.CardIdentity("Dissolve","")); + cubeCards.add(new DraftCube.CardIdentity("Divinity of Pride","")); + cubeCards.add(new DraftCube.CardIdentity("Domri Rade","")); + cubeCards.add(new DraftCube.CardIdentity("Doom Blade","")); + cubeCards.add(new DraftCube.CardIdentity("Dragon Fodder","")); + 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("Dragonskull Summit","")); + cubeCards.add(new DraftCube.CardIdentity("Drana, Liberator of Malakir","")); + cubeCards.add(new DraftCube.CardIdentity("Dread Return","")); + cubeCards.add(new DraftCube.CardIdentity("Dreadbore","")); + cubeCards.add(new DraftCube.CardIdentity("Dromoka's Command","")); + cubeCards.add(new DraftCube.CardIdentity("Drowned Catacomb","")); + cubeCards.add(new DraftCube.CardIdentity("Dualcaster Mage","")); + cubeCards.add(new DraftCube.CardIdentity("Dungeon Geists","")); + cubeCards.add(new DraftCube.CardIdentity("Duplicant","")); + cubeCards.add(new DraftCube.CardIdentity("Duress","")); + cubeCards.add(new DraftCube.CardIdentity("Eldrazi Monument","")); + cubeCards.add(new DraftCube.CardIdentity("Edric, Spymaster of Trest","")); + cubeCards.add(new DraftCube.CardIdentity("Electrolyze","")); + cubeCards.add(new DraftCube.CardIdentity("Elesh Norn, Grand Cenobite","")); + cubeCards.add(new DraftCube.CardIdentity("Elite Vanguard","")); + cubeCards.add(new DraftCube.CardIdentity("Elixir of Immortality","")); + cubeCards.add(new DraftCube.CardIdentity("Elspeth Tirel","")); + 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("Emrakul, the Aeons Torn","")); + cubeCards.add(new DraftCube.CardIdentity("Entomb","")); + cubeCards.add(new DraftCube.CardIdentity("Entreat the Angels","")); + cubeCards.add(new DraftCube.CardIdentity("Erebos, God of the Dead","")); + cubeCards.add(new DraftCube.CardIdentity("Eternal Dragon","")); + cubeCards.add(new DraftCube.CardIdentity("Eternal Witness","")); + cubeCards.add(new DraftCube.CardIdentity("Eureka","")); + cubeCards.add(new DraftCube.CardIdentity("Evolutionary Leap","")); + cubeCards.add(new DraftCube.CardIdentity("Exalted Angel","")); + cubeCards.add(new DraftCube.CardIdentity("Exclude","")); + cubeCards.add(new DraftCube.CardIdentity("Exhume","")); + cubeCards.add(new DraftCube.CardIdentity("Explore","")); + cubeCards.add(new DraftCube.CardIdentity("Exquisite Firecraft","")); + cubeCards.add(new DraftCube.CardIdentity("Fact or Fiction","")); + cubeCards.add(new DraftCube.CardIdentity("Faith's Fetters","")); + cubeCards.add(new DraftCube.CardIdentity("Falkenrath Aristocrat","")); + cubeCards.add(new DraftCube.CardIdentity("Farseek","")); + cubeCards.add(new DraftCube.CardIdentity("Fauna Shaman","")); + cubeCards.add(new DraftCube.CardIdentity("Fertile Ground","")); + cubeCards.add(new DraftCube.CardIdentity("Fiend Hunter","")); + cubeCards.add(new DraftCube.CardIdentity("Fiery Confluence","")); + cubeCards.add(new DraftCube.CardIdentity("Fire // Ice","")); + cubeCards.add(new DraftCube.CardIdentity("Firebolt","")); + cubeCards.add(new DraftCube.CardIdentity("Firefist Striker","")); + cubeCards.add(new DraftCube.CardIdentity("Flame Slash","")); + cubeCards.add(new DraftCube.CardIdentity("Flametongue Kavu","")); + cubeCards.add(new DraftCube.CardIdentity("Flamewake Phoenix","")); + cubeCards.add(new DraftCube.CardIdentity("Flickerwisp","")); + cubeCards.add(new DraftCube.CardIdentity("Flooded Strand","")); + cubeCards.add(new DraftCube.CardIdentity("Forbid","")); + cubeCards.add(new DraftCube.CardIdentity("Forbidden Alchemy","")); + cubeCards.add(new DraftCube.CardIdentity("Force of Will","")); + cubeCards.add(new DraftCube.CardIdentity("Force Spike","")); + cubeCards.add(new DraftCube.CardIdentity("Forked Bolt","")); + cubeCards.add(new DraftCube.CardIdentity("Frenzied Goblin","")); + cubeCards.add(new DraftCube.CardIdentity("Freyalise, Llanowar's Fury","")); + cubeCards.add(new DraftCube.CardIdentity("From Beyond","")); + cubeCards.add(new DraftCube.CardIdentity("Frontline Medic","")); + cubeCards.add(new DraftCube.CardIdentity("Frost Titan","")); + cubeCards.add(new DraftCube.CardIdentity("Future Sight","")); + cubeCards.add(new DraftCube.CardIdentity("Fyndhorn Elves","")); + cubeCards.add(new DraftCube.CardIdentity("Gaddock Teeg","")); + 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, Caller of Beasts","")); + cubeCards.add(new DraftCube.CardIdentity("Garruk, Primal Hunter","")); + cubeCards.add(new DraftCube.CardIdentity("Gatekeeper of Malakir","")); + cubeCards.add(new DraftCube.CardIdentity("Gather the Townsfolk","")); + cubeCards.add(new DraftCube.CardIdentity("Geist of Saint Traft","")); + cubeCards.add(new DraftCube.CardIdentity("Genesis Hydra","")); + cubeCards.add(new DraftCube.CardIdentity("Genesis Wave","")); + cubeCards.add(new DraftCube.CardIdentity("Geralf's Messenger","")); + cubeCards.add(new DraftCube.CardIdentity("Gideon, Ally of Zendikar","")); + cubeCards.add(new DraftCube.CardIdentity("Gideon Jura","")); + cubeCards.add(new DraftCube.CardIdentity("Gifts Ungiven","")); + cubeCards.add(new DraftCube.CardIdentity("Gilded Lotus","")); + cubeCards.add(new DraftCube.CardIdentity("Gilt-Leaf Winnower","")); + cubeCards.add(new DraftCube.CardIdentity("Gitaxian Probe","")); + cubeCards.add(new DraftCube.CardIdentity("Glacial Fortress","")); + cubeCards.add(new DraftCube.CardIdentity("Glen Elendra Archmage","")); + cubeCards.add(new DraftCube.CardIdentity("Glorious Anthem","")); + cubeCards.add(new DraftCube.CardIdentity("Go for the Throat","")); + cubeCards.add(new DraftCube.CardIdentity("Goblin Bombardment","")); + cubeCards.add(new DraftCube.CardIdentity("Goblin Bushwhacker","")); + cubeCards.add(new DraftCube.CardIdentity("Goblin Glory Chaser","")); + cubeCards.add(new DraftCube.CardIdentity("Goblin Guide","")); + cubeCards.add(new DraftCube.CardIdentity("Goblin Rabblemaster","")); + cubeCards.add(new DraftCube.CardIdentity("Godless Shrine","")); + cubeCards.add(new DraftCube.CardIdentity("Gore-House Chainwalker","")); + cubeCards.add(new DraftCube.CardIdentity("Grafted Wargear","")); + cubeCards.add(new DraftCube.CardIdentity("Grave Titan","")); + cubeCards.add(new DraftCube.CardIdentity("Gravecrawler","")); + cubeCards.add(new DraftCube.CardIdentity("Gray Merchant of Asphodel","")); + cubeCards.add(new DraftCube.CardIdentity("Greater Gargadon","")); + cubeCards.add(new DraftCube.CardIdentity("Green Sun's Zenith","")); + cubeCards.add(new DraftCube.CardIdentity("Greenwarden of Murasa","")); + cubeCards.add(new DraftCube.CardIdentity("Grim Lavamancer","")); + cubeCards.add(new DraftCube.CardIdentity("Griselbrand","")); + cubeCards.add(new DraftCube.CardIdentity("Hall of Triumph","")); + cubeCards.add(new DraftCube.CardIdentity("Hallowed Fountain","")); + cubeCards.add(new DraftCube.CardIdentity("Hallowed Spiritkeeper","")); + cubeCards.add(new DraftCube.CardIdentity("Hangarback Walker","")); + cubeCards.add(new DraftCube.CardIdentity("Harbinger of the Tides","")); + cubeCards.add(new DraftCube.CardIdentity("Harmonize","")); + 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("Hidden Dragonslayer","")); + cubeCards.add(new DraftCube.CardIdentity("High Market","")); + cubeCards.add(new DraftCube.CardIdentity("Hinterland Harbor","")); + cubeCards.add(new DraftCube.CardIdentity("Honor of the Pure","")); + cubeCards.add(new DraftCube.CardIdentity("Hordeling Outburst","")); + cubeCards.add(new DraftCube.CardIdentity("Hornet Queen","")); + 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("Impulse","")); + cubeCards.add(new DraftCube.CardIdentity("Incinerate","")); + cubeCards.add(new DraftCube.CardIdentity("Indrik Stomphowler","")); + cubeCards.add(new DraftCube.CardIdentity("Inferno Titan","")); + cubeCards.add(new DraftCube.CardIdentity("Inquisition of Kozilek","")); + cubeCards.add(new DraftCube.CardIdentity("Into the Roil","")); + cubeCards.add(new DraftCube.CardIdentity("Ire Shaman","")); + cubeCards.add(new DraftCube.CardIdentity("Isamaru, Hound of Konda","")); + cubeCards.add(new DraftCube.CardIdentity("Isochron Scepter","")); + cubeCards.add(new DraftCube.CardIdentity("Isolated Chapel","")); + cubeCards.add(new DraftCube.CardIdentity("Izzet Charm","")); + 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("Journey to Nowhere","")); + cubeCards.add(new DraftCube.CardIdentity("Kami of Ancient Law","")); + cubeCards.add(new DraftCube.CardIdentity("Karmic Guide","")); + cubeCards.add(new DraftCube.CardIdentity("Karn Liberated","")); + cubeCards.add(new DraftCube.CardIdentity("Karplusan Forest","")); + cubeCards.add(new DraftCube.CardIdentity("Keiga, the Tide Star","")); + cubeCards.add(new DraftCube.CardIdentity("Keranos, God of Storms","")); + cubeCards.add(new DraftCube.CardIdentity("Kiki-Jiki, Mirror Breaker","")); + cubeCards.add(new DraftCube.CardIdentity("Kiln Fiend","")); + cubeCards.add(new DraftCube.CardIdentity("Kiora, the Crashing Wave","")); + cubeCards.add(new DraftCube.CardIdentity("Kiora's Follower","")); + cubeCards.add(new DraftCube.CardIdentity("Kira, Great Glass-Spinner","")); + cubeCards.add(new DraftCube.CardIdentity("Kitchen Finks","")); + cubeCards.add(new DraftCube.CardIdentity("Kodama's Reach","")); + cubeCards.add(new DraftCube.CardIdentity("Kokusho, the Evening Star","")); + cubeCards.add(new DraftCube.CardIdentity("Kor Skyfisher","")); + cubeCards.add(new DraftCube.CardIdentity("Koth of the Hammer","")); + cubeCards.add(new DraftCube.CardIdentity("Kozilek, Butcher of Truth","")); + cubeCards.add(new DraftCube.CardIdentity("Krenko's Command","")); + cubeCards.add(new DraftCube.CardIdentity("Kytheon, Hero of Akros","")); + cubeCards.add(new DraftCube.CardIdentity("Land Tax","")); + cubeCards.add(new DraftCube.CardIdentity("Legacy's Allure","")); + cubeCards.add(new DraftCube.CardIdentity("Leonin Relic-Warder","")); + 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("Liliana Vess","")); + cubeCards.add(new DraftCube.CardIdentity("Liliana, Heretical Healer","")); + cubeCards.add(new DraftCube.CardIdentity("Lingering Souls","")); + cubeCards.add(new DraftCube.CardIdentity("Linvala, Keeper of Silence","")); + cubeCards.add(new DraftCube.CardIdentity("Living Death","")); + cubeCards.add(new DraftCube.CardIdentity("Llanowar Elves","")); + cubeCards.add(new DraftCube.CardIdentity("Llanowar Wastes","")); + cubeCards.add(new DraftCube.CardIdentity("Looter il-Kor","")); + cubeCards.add(new DraftCube.CardIdentity("Lotus Cobra","")); + cubeCards.add(new DraftCube.CardIdentity("Loxodon Warhammer","")); + cubeCards.add(new DraftCube.CardIdentity("Maelstrom Pulse","")); + cubeCards.add(new DraftCube.CardIdentity("Magma Jet","")); + cubeCards.add(new DraftCube.CardIdentity("Makeshift Mannequin","")); + cubeCards.add(new DraftCube.CardIdentity("Malicious Affliction","")); + cubeCards.add(new DraftCube.CardIdentity("Man-o'-War","")); + cubeCards.add(new DraftCube.CardIdentity("Mana Confluence","")); + cubeCards.add(new DraftCube.CardIdentity("Mana Tithe","")); + cubeCards.add(new DraftCube.CardIdentity("Managorger Hydra","")); + cubeCards.add(new DraftCube.CardIdentity("Manic Vandal","")); + cubeCards.add(new DraftCube.CardIdentity("Marsh Flats","")); + cubeCards.add(new DraftCube.CardIdentity("Martial Coup","")); + cubeCards.add(new DraftCube.CardIdentity("Massacre Wurm","")); + cubeCards.add(new DraftCube.CardIdentity("Master of the Wild Hunt","")); + cubeCards.add(new DraftCube.CardIdentity("Master of Waves","")); + cubeCards.add(new DraftCube.CardIdentity("Meloku the Clouded Mirror","")); + cubeCards.add(new DraftCube.CardIdentity("Mentor of the Meek","")); + cubeCards.add(new DraftCube.CardIdentity("Merfolk Looter","")); + cubeCards.add(new DraftCube.CardIdentity("Meteor Blast","")); + cubeCards.add(new DraftCube.CardIdentity("Mimic Vat","")); + cubeCards.add(new DraftCube.CardIdentity("Mirari's Wake","")); + cubeCards.add(new DraftCube.CardIdentity("Mirran Crusader","")); + cubeCards.add(new DraftCube.CardIdentity("Miscalculation","")); + cubeCards.add(new DraftCube.CardIdentity("Mishra's Factory","")); + cubeCards.add(new DraftCube.CardIdentity("Misty Rainforest","")); + cubeCards.add(new DraftCube.CardIdentity("Mizzium Mortars","")); + cubeCards.add(new DraftCube.CardIdentity("Mogg War Marshal","")); + cubeCards.add(new DraftCube.CardIdentity("Mogis's Marauder","")); + 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("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("Mystic Confluence","")); + cubeCards.add(new DraftCube.CardIdentity("Mystic Snake","")); + cubeCards.add(new DraftCube.CardIdentity("Nantuko Husk","")); + cubeCards.add(new DraftCube.CardIdentity("Natural Order","")); + cubeCards.add(new DraftCube.CardIdentity("Nature's Lore","")); + cubeCards.add(new DraftCube.CardIdentity("Necromancy","")); + cubeCards.add(new DraftCube.CardIdentity("Negate","")); + cubeCards.add(new DraftCube.CardIdentity("Nekrataal","")); + cubeCards.add(new DraftCube.CardIdentity("Nicol Bolas, Planeswalker","")); + cubeCards.add(new DraftCube.CardIdentity("Nightveil Specter","")); + cubeCards.add(new DraftCube.CardIdentity("Nissa, Vastwood Seer","")); + 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("Ob Nixilis Reignited","")); + cubeCards.add(new DraftCube.CardIdentity("Oblivion Ring","")); + cubeCards.add(new DraftCube.CardIdentity("Obstinate Baloth","")); + cubeCards.add(new DraftCube.CardIdentity("Ohran Viper","")); + cubeCards.add(new DraftCube.CardIdentity("Old Man of the Sea","")); + cubeCards.add(new DraftCube.CardIdentity("Olivia Voldaren","")); + cubeCards.add(new DraftCube.CardIdentity("Omnath, Locus of Rage","")); + 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("Oust","")); + cubeCards.add(new DraftCube.CardIdentity("Outpost Siege","")); + cubeCards.add(new DraftCube.CardIdentity("Overgrown Battlement","")); + cubeCards.add(new DraftCube.CardIdentity("Overgrown Tomb","")); + cubeCards.add(new DraftCube.CardIdentity("Pack Rat","")); + cubeCards.add(new DraftCube.CardIdentity("Pact of Negation","")); + cubeCards.add(new DraftCube.CardIdentity("Parallax Wave","")); + cubeCards.add(new DraftCube.CardIdentity("Part the Waterveil","")); + cubeCards.add(new DraftCube.CardIdentity("Path to Exile","")); + cubeCards.add(new DraftCube.CardIdentity("Pestermite","")); + cubeCards.add(new DraftCube.CardIdentity("Phantasmal Image","")); + cubeCards.add(new DraftCube.CardIdentity("Phyrexian Arena","")); + cubeCards.add(new DraftCube.CardIdentity("Phyrexian Metamorph","")); + cubeCards.add(new DraftCube.CardIdentity("Phyrexian Obliterator","")); + cubeCards.add(new DraftCube.CardIdentity("Phyrexian Revoker","")); + cubeCards.add(new DraftCube.CardIdentity("Pia and Kiran Nalaar","")); + cubeCards.add(new DraftCube.CardIdentity("Pillar of Flame","")); + 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("Precinct Captain","")); + cubeCards.add(new DraftCube.CardIdentity("Precursor Golem","")); + 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("Profane Command","")); + cubeCards.add(new DraftCube.CardIdentity("Progenitus","")); + cubeCards.add(new DraftCube.CardIdentity("Prophetic Flamespeaker","")); + cubeCards.add(new DraftCube.CardIdentity("Psychatog","")); + cubeCards.add(new DraftCube.CardIdentity("Purphoros, God of the Forge","")); + cubeCards.add(new DraftCube.CardIdentity("Qasali Pridemage","")); + cubeCards.add(new DraftCube.CardIdentity("Quarantine Field","")); + cubeCards.add(new DraftCube.CardIdentity("Raise the Alarm","")); + cubeCards.add(new DraftCube.CardIdentity("Rakdos's Return","")); + cubeCards.add(new DraftCube.CardIdentity("Ral Zarek","")); + cubeCards.add(new DraftCube.CardIdentity("Rampaging Baloths","")); + cubeCards.add(new DraftCube.CardIdentity("Rampant Growth","")); + cubeCards.add(new DraftCube.CardIdentity("Ranger of Eos","")); + cubeCards.add(new DraftCube.CardIdentity("Ratchet Bomb","")); + cubeCards.add(new DraftCube.CardIdentity("Ravages of War","")); + cubeCards.add(new DraftCube.CardIdentity("Read the Bones","")); + cubeCards.add(new DraftCube.CardIdentity("Reanimate","")); + cubeCards.add(new DraftCube.CardIdentity("Reclamation Sage","")); + cubeCards.add(new DraftCube.CardIdentity("Recurring Nightmare","")); + cubeCards.add(new DraftCube.CardIdentity("Reflecting Pool","")); + cubeCards.add(new DraftCube.CardIdentity("Regrowth","")); + cubeCards.add(new DraftCube.CardIdentity("Relic of Progenitus","")); + cubeCards.add(new DraftCube.CardIdentity("Remand","")); + cubeCards.add(new DraftCube.CardIdentity("Remove Soul","")); + 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("Righteous Confluence","")); + 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("Rootbound Crag","")); + cubeCards.add(new DraftCube.CardIdentity("Rune-Scarred Demon","")); + cubeCards.add(new DraftCube.CardIdentity("Sacred Foundry","")); + cubeCards.add(new DraftCube.CardIdentity("Sakura-Tribe Elder","")); + cubeCards.add(new DraftCube.CardIdentity("Sarkhan, the Dragonspeaker","")); + 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("Sea Gate Oracle","")); + cubeCards.add(new DraftCube.CardIdentity("Seal of Fire","")); + cubeCards.add(new DraftCube.CardIdentity("Search for Tomorrow","")); + cubeCards.add(new DraftCube.CardIdentity("Searing Spear","")); + cubeCards.add(new DraftCube.CardIdentity("Secure the Wastes","")); + cubeCards.add(new DraftCube.CardIdentity("Seeker of the Way","")); + cubeCards.add(new DraftCube.CardIdentity("Sensei's Divining Top","")); + cubeCards.add(new DraftCube.CardIdentity("Serendib Efreet","")); + cubeCards.add(new DraftCube.CardIdentity("Serum Visions","")); + cubeCards.add(new DraftCube.CardIdentity("Shadowmage Infiltrator","")); + cubeCards.add(new DraftCube.CardIdentity("Shaman of Forgotten Ways","")); + cubeCards.add(new DraftCube.CardIdentity("Shardless Agent","")); + cubeCards.add(new DraftCube.CardIdentity("Sheoldred, Whispering One","")); + cubeCards.add(new DraftCube.CardIdentity("Shivan Reef","")); + cubeCards.add(new DraftCube.CardIdentity("Show and Tell","")); + cubeCards.add(new DraftCube.CardIdentity("Shriekmaw","")); + 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("Sin Collector","")); + cubeCards.add(new DraftCube.CardIdentity("Skinrender","")); + cubeCards.add(new DraftCube.CardIdentity("Skullcrack","")); + cubeCards.add(new DraftCube.CardIdentity("Slagstorm","")); + cubeCards.add(new DraftCube.CardIdentity("Slaughter Pact","")); + cubeCards.add(new DraftCube.CardIdentity("Snapcaster Mage","")); + cubeCards.add(new DraftCube.CardIdentity("Sneak Attack","")); + 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("Sorin Markov","")); + cubeCards.add(new DraftCube.CardIdentity("Sorin, Solemn Visitor","")); + 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("Spellskite","")); + cubeCards.add(new DraftCube.CardIdentity("Spell Pierce","")); + cubeCards.add(new DraftCube.CardIdentity("Sphinx's Revelation","")); + cubeCards.add(new DraftCube.CardIdentity("Spikeshot Elder","")); + cubeCards.add(new DraftCube.CardIdentity("Splinter Twin","")); + cubeCards.add(new DraftCube.CardIdentity("Staggershock","")); + cubeCards.add(new DraftCube.CardIdentity("Steam Vents","")); + cubeCards.add(new DraftCube.CardIdentity("Stoke the Flames","")); + cubeCards.add(new DraftCube.CardIdentity("Stomping Ground","")); + cubeCards.add(new DraftCube.CardIdentity("Stormbreath Dragon","")); + cubeCards.add(new DraftCube.CardIdentity("Stormtide Leviathan","")); + cubeCards.add(new DraftCube.CardIdentity("Stratus Dancer","")); + cubeCards.add(new DraftCube.CardIdentity("Stroke of Genius","")); + cubeCards.add(new DraftCube.CardIdentity("Stromkirk Noble","")); + cubeCards.add(new DraftCube.CardIdentity("Student of Warfare","")); + cubeCards.add(new DraftCube.CardIdentity("Sublime Archangel","")); + cubeCards.add(new DraftCube.CardIdentity("Sulfur Falls","")); + cubeCards.add(new DraftCube.CardIdentity("Sulfurous Springs","")); + cubeCards.add(new DraftCube.CardIdentity("Summoning Trap","")); + cubeCards.add(new DraftCube.CardIdentity("Sun Titan","")); + cubeCards.add(new DraftCube.CardIdentity("Sundering Titan","")); + cubeCards.add(new DraftCube.CardIdentity("Sunpetal Grove","")); + cubeCards.add(new DraftCube.CardIdentity("Supreme Verdict","")); + cubeCards.add(new DraftCube.CardIdentity("Surrak, the Hunt Caller","")); + 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("Talrand, Sky Summoner","")); + 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("Tectonic Edge","")); + cubeCards.add(new DraftCube.CardIdentity("Teferi, Mage of Zhalfir","")); + 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("Terastodon","")); + cubeCards.add(new DraftCube.CardIdentity("Terminate","")); + cubeCards.add(new DraftCube.CardIdentity("Terminus","")); + cubeCards.add(new DraftCube.CardIdentity("Thalia, Guardian of Thraben","")); + cubeCards.add(new DraftCube.CardIdentity("Thassa, God of the Sea","")); + cubeCards.add(new DraftCube.CardIdentity("Thespian's Stage","")); + cubeCards.add(new DraftCube.CardIdentity("Thoughtseize","")); + cubeCards.add(new DraftCube.CardIdentity("Thragtusk","")); + cubeCards.add(new DraftCube.CardIdentity("Threads of Disloyalty","")); + cubeCards.add(new DraftCube.CardIdentity("Through the Breach","")); + cubeCards.add(new DraftCube.CardIdentity("Thrun, the Last Troll","")); + cubeCards.add(new DraftCube.CardIdentity("Thunderbreak Regent","")); + cubeCards.add(new DraftCube.CardIdentity("Thundermaw Hellkite","")); + cubeCards.add(new DraftCube.CardIdentity("Tidehollow Sculler","")); + cubeCards.add(new DraftCube.CardIdentity("Time Warp","")); + cubeCards.add(new DraftCube.CardIdentity("Tooth and Nail","")); + cubeCards.add(new DraftCube.CardIdentity("Toxic Deluge","")); + cubeCards.add(new DraftCube.CardIdentity("Treachery","")); + cubeCards.add(new DraftCube.CardIdentity("Tropical Island","")); + cubeCards.add(new DraftCube.CardIdentity("Trygon Predator","")); + cubeCards.add(new DraftCube.CardIdentity("Tundra","")); + 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("Unburial Rites","")); + cubeCards.add(new DraftCube.CardIdentity("Underground River","")); + cubeCards.add(new DraftCube.CardIdentity("Underground Sea","")); + cubeCards.add(new DraftCube.CardIdentity("Underworld Connections","")); + cubeCards.add(new DraftCube.CardIdentity("Unexpectedly Absent","")); + cubeCards.add(new DraftCube.CardIdentity("Upheaval","")); + cubeCards.add(new DraftCube.CardIdentity("Utopia Sprawl","")); + cubeCards.add(new DraftCube.CardIdentity("Vampire Hexmage","")); + cubeCards.add(new DraftCube.CardIdentity("Vampire Nighthawk","")); + cubeCards.add(new DraftCube.CardIdentity("Vendilion Clique","")); + cubeCards.add(new DraftCube.CardIdentity("Vengevine","")); + cubeCards.add(new DraftCube.CardIdentity("Venser, Shaper Savant","")); + cubeCards.add(new DraftCube.CardIdentity("Venser, the Sojourner","")); + cubeCards.add(new DraftCube.CardIdentity("Verdant Catacombs","")); + cubeCards.add(new DraftCube.CardIdentity("Vindicate","")); + cubeCards.add(new DraftCube.CardIdentity("Viscera Seer","")); + cubeCards.add(new DraftCube.CardIdentity("Volcanic Island","")); + cubeCards.add(new DraftCube.CardIdentity("Volrath's Stronghold","")); + cubeCards.add(new DraftCube.CardIdentity("Voyaging Satyr","")); + cubeCards.add(new DraftCube.CardIdentity("Vraska the Unseen","")); + cubeCards.add(new DraftCube.CardIdentity("Wake Thrasher","")); + 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("Warleader's Helix","")); + cubeCards.add(new DraftCube.CardIdentity("Waterfront Bouncer","")); + cubeCards.add(new DraftCube.CardIdentity("Watery Grave","")); + cubeCards.add(new DraftCube.CardIdentity("Whip of Erebos","")); + cubeCards.add(new DraftCube.CardIdentity("Whirler Rogue","")); + cubeCards.add(new DraftCube.CardIdentity("Whisperwood Elemental","")); + cubeCards.add(new DraftCube.CardIdentity("Windbrisk Heights","")); + 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("Wood Elves","")); + cubeCards.add(new DraftCube.CardIdentity("Wooded Foothills","")); + cubeCards.add(new DraftCube.CardIdentity("Woodfall Primus","")); + cubeCards.add(new DraftCube.CardIdentity("Woodland Cemetery","")); + cubeCards.add(new DraftCube.CardIdentity("Wrath of God","")); + cubeCards.add(new DraftCube.CardIdentity("Wretched Confluence","")); + cubeCards.add(new DraftCube.CardIdentity("Wurmcoil Engine","")); + cubeCards.add(new DraftCube.CardIdentity("Xenagos, the Reveler","")); + cubeCards.add(new DraftCube.CardIdentity("Yavimaya Coast","")); + cubeCards.add(new DraftCube.CardIdentity("Yavimaya Elder","")); + cubeCards.add(new DraftCube.CardIdentity("Yosei, the Morning Star","")); + cubeCards.add(new DraftCube.CardIdentity("Young Pyromancer","")); + cubeCards.add(new DraftCube.CardIdentity("Zealous Conscripts","")); + cubeCards.add(new DraftCube.CardIdentity("Zulaport Cutthroat","")); + } +} diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeMarch2015.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeMarch2015.java similarity index 99% rename from Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeMarch2015.java rename to Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeMarch2015.java index 6bfd5c837cc..402f1fee5bc 100644 --- a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeMarch2015.java +++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeMarch2015.java @@ -34,9 +34,9 @@ import mage.game.draft.DraftCube; * @author fireshoes */ -public class MTGOLegacyCubeMarch2015 extends DraftCube { +public class LegacyCubeMarch2015 extends DraftCube { - public MTGOLegacyCubeMarch2015() { + public LegacyCubeMarch2015() { super("MTGO Legacy Cube March 2015 (600 cards)"); cubeCards.add(new DraftCube.CardIdentity("Accorder Paladin","")); cubeCards.add(new DraftCube.CardIdentity("Abrupt Decay","")); diff --git a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeSeptember2015.java b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeSeptember2015.java similarity index 99% rename from Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeSeptember2015.java rename to Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeSeptember2015.java index 14f4a608c0a..b9abc2cf4d0 100644 --- a/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/MTGOLegacyCubeSeptember2015.java +++ b/Mage.Server.Plugins/Mage.Tournament.BoosterDraft/src/mage/tournament/cubes/LegacyCubeSeptember2015.java @@ -34,9 +34,9 @@ import mage.game.draft.DraftCube; * @author fireshoes */ -public class MTGOLegacyCubeSeptember2015 extends DraftCube { +public class LegacyCubeSeptember2015 extends DraftCube { - public MTGOLegacyCubeSeptember2015() { + public LegacyCubeSeptember2015() { super("MTGO Legacy Cube September 2015 (600 cards)"); cubeCards.add(new DraftCube.CardIdentity("Abbot of Keral Keep","")); cubeCards.add(new DraftCube.CardIdentity("Abhorrent Overlord","")); diff --git a/Mage.Server/config/config.xml b/Mage.Server/config/config.xml index 5bef52e6ac8..e2f7d4b11a4 100644 --- a/Mage.Server/config/config.xml +++ b/Mage.Server/config/config.xml @@ -73,9 +73,10 @@ - - - + + + + diff --git a/Mage.Server/release/config/config.xml b/Mage.Server/release/config/config.xml index fde0a0b1709..81e3f3ca095 100644 --- a/Mage.Server/release/config/config.xml +++ b/Mage.Server/release/config/config.xml @@ -52,9 +52,10 @@ - - - + + + + diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/BoneSaw.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/BoneSaw.java new file mode 100644 index 00000000000..8300bc8c7c1 --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/BoneSaw.java @@ -0,0 +1,52 @@ +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; + +/** + * + * @author fireshoes + */ +public class BoneSaw extends mage.sets.conflux.BoneSaw { + + public BoneSaw(UUID ownerId) { + super(ownerId); + this.cardNumber = 161; + this.expansionSetCode = "OGW"; + } + + public BoneSaw(final BoneSaw card) { + super(card); + } + + @Override + public BoneSaw copy() { + return new BoneSaw(this); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/BoulderSalvo.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/BoulderSalvo.java new file mode 100644 index 00000000000..118392d3f83 --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/BoulderSalvo.java @@ -0,0 +1,64 @@ +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.SurgeAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author fireshoes + */ +public class BoulderSalvo extends CardImpl { + + public BoulderSalvo(UUID ownerId) { + super(ownerId, 102, "Boulder Salvo", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{4}{R}"); + this.expansionSetCode = "OGW"; + + // Boulder Salvo deals 4 damage to target creature. + this.getSpellAbility().addEffect(new DamageTargetEffect(4)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Surge {1}{R} + addAbility(new SurgeAbility(this, "{1}{R}")); + } + + public BoulderSalvo(final BoulderSalvo card) { + super(card); + } + + @Override + public BoulderSalvo copy() { + return new BoulderSalvo(this); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java index 4fdb1cccab9..1f2106a70d9 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java @@ -48,10 +48,10 @@ public class ComparativeAnalysis extends CardImpl { // Target player draws two cards. this.getSpellAbility().addEffect(new DrawCardTargetEffect(2)); this.getSpellAbility().addTarget(new TargetPlayer()); - - // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this + // Surge {2}{U} - addAbility(new SurgeAbility(this, "{2}{U}")); } + addAbility(new SurgeAbility(this, "{2}{U}")); + } public ComparativeAnalysis(final ComparativeAnalysis card) { super(card); diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/CorruptedCrossroads.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/CorruptedCrossroads.java index d88fcfcf66b..0125cf2cf1c 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/CorruptedCrossroads.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/CorruptedCrossroads.java @@ -56,7 +56,7 @@ public class CorruptedCrossroads extends CardImpl { // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); - // {T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast spells with devoid. + // {T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast a spell with devoid. Ability ability = new ConditionalAnyColorManaAbility(1, new BlightedCrossroadsManaBuilder()); ability.addCost(new PayLifeCost(1)); this.addAbility(ability); @@ -80,7 +80,7 @@ class BlightedCrossroadsManaBuilder extends ConditionalManaBuilder { @Override public String getRule() { - return "Spend this mana only to cast spells with devoid"; + return "Spend this mana only to cast a spell with devoid"; } } @@ -88,7 +88,7 @@ class BlightedCrossroadsConditionalMana extends ConditionalMana { public BlightedCrossroadsConditionalMana(Mana mana) { super(mana); - staticText = "Spend this mana only to cast spells with devoid"; + staticText = "Spend this mana only to cast a spell with devoid"; addCondition(new BlightedCrossroadsManaCondition()); } } diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/CrushOfTentacles.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/CrushOfTentacles.java index 4db3a1354da..3ffdc4b4d73 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/CrushOfTentacles.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/CrushOfTentacles.java @@ -1,86 +1,84 @@ -/* - * 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.sets.oathofthegatewatch; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.condition.common.SurgedCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; -import mage.abilities.keyword.SurgeAbility; -import mage.cards.CardImpl; -import mage.constants.CardType; -import mage.constants.Rarity; -import mage.filter.common.FilterNonlandPermanent; -import mage.game.permanent.token.Token; - -/** - * - * @author LevelX2 - */ -public class CrushOfTentacles extends CardImpl { - - public CrushOfTentacles(UUID ownerId) { - super(ownerId, 53, "Crush of Tentacles", Rarity.MYTHIC, new CardType[]{CardType.SORCERY}, "{4}{U}{U}"); - this.expansionSetCode = "OGW"; - - // Return all nonland permanents to their owners' hands. If Crush of Tentacles surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield. - getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(new FilterNonlandPermanent("nonland permanents"))); - Effect effect = new ConditionalOneShotEffect(new CreateTokenEffect(new CrushOfTentaclesToken()), SurgedCondition.getInstance()); - effect.setText("If {this} surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield"); - getSpellAbility().addEffect(effect); - - // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this - // Surge {3}{U}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn) - addAbility(new SurgeAbility(this, "{3}{U}{U}")); - - } - - public CrushOfTentacles(final CrushOfTentacles card) { - super(card); - } - - @Override - public CrushOfTentacles copy() { - return new CrushOfTentacles(this); - } -} - -class CrushOfTentaclesToken extends Token { - - public CrushOfTentaclesToken() { - super("Octopus", "8/8 blue Octopus creature"); - this.cardType.add(CardType.CREATURE); - this.color.setBlue(true); - this.subtype.add("Octopus"); - this.power = new MageInt(8); - this.toughness = new MageInt(8); - } -} +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.condition.common.SurgedCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; +import mage.abilities.keyword.SurgeAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.filter.common.FilterNonlandPermanent; +import mage.game.permanent.token.Token; + +/** + * + * @author LevelX2 + */ +public class CrushOfTentacles extends CardImpl { + + public CrushOfTentacles(UUID ownerId) { + super(ownerId, 53, "Crush of Tentacles", Rarity.MYTHIC, new CardType[]{CardType.SORCERY}, "{4}{U}{U}"); + this.expansionSetCode = "OGW"; + + // Return all nonland permanents to their owners' hands. If Crush of Tentacles surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield. + getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(new FilterNonlandPermanent("nonland permanents"))); + Effect effect = new ConditionalOneShotEffect(new CreateTokenEffect(new CrushOfTentaclesToken()), SurgedCondition.getInstance()); + effect.setText("If {this} surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield"); + getSpellAbility().addEffect(effect); + + // Surge {3}{U}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn) + addAbility(new SurgeAbility(this, "{3}{U}{U}")); + } + + public CrushOfTentacles(final CrushOfTentacles card) { + super(card); + } + + @Override + public CrushOfTentacles copy() { + return new CrushOfTentacles(this); + } +} + +class CrushOfTentaclesToken extends Token { + + public CrushOfTentaclesToken() { + super("Octopus", "8/8 blue Octopus creature"); + this.cardType.add(CardType.CREATURE); + this.color.setBlue(true); + this.subtype.add("Octopus"); + this.power = new MageInt(8); + this.toughness = new MageInt(8); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ForcedWillEldrazi.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziObligator.java similarity index 87% rename from Mage.Sets/src/mage/sets/oathofthegatewatch/ForcedWillEldrazi.java rename to Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziObligator.java index bd9d3d5c5dd..c6d0af8ea4a 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/ForcedWillEldrazi.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziObligator.java @@ -51,10 +51,10 @@ import mage.target.common.TargetCreaturePermanent; * * @author fireshoes */ -public class ForcedWillEldrazi extends CardImpl { +public class EldraziObligator extends CardImpl { - public ForcedWillEldrazi(UUID ownerId) { - super(ownerId, 96, "Forced-Will Eldrazi", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{R}"); + public EldraziObligator(UUID ownerId) { + super(ownerId, 96, "Eldrazi Obligator", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.expansionSetCode = "OGW"; this.subtype.add("Eldrazi"); this.subtype.add("Drone"); @@ -67,7 +67,7 @@ public class ForcedWillEldrazi extends CardImpl { // Haste this.addAbility(HasteAbility.getInstance()); - // When you cast Forced-Will Eldrazi, you may pay {1}{C}. If you do, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. + // When you cast Eldrazi Obligator, you may pay {1}{C}. If you do, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn. Ability ability = new CastSourceTriggeredAbility(new DoIfCostPaid(new GainControlTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{C}"))); Effect effect = new UntapTargetEffect(); effect.setText("Untap that creature"); @@ -80,12 +80,12 @@ public class ForcedWillEldrazi extends CardImpl { this.addAbility(ability); } - public ForcedWillEldrazi(final ForcedWillEldrazi card) { + public EldraziObligator(final EldraziObligator card) { super(card); } @Override - public ForcedWillEldrazi copy() { - return new ForcedWillEldrazi(this); + public EldraziObligator copy() { + return new EldraziObligator(this); } } diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/GeneralTazri.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/GeneralTazri.java index 53d28738ec2..688f6296b41 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/GeneralTazri.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/GeneralTazri.java @@ -1,142 +1,142 @@ -/* - * 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.sets.oathofthegatewatch; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; -import mage.cards.CardImpl; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Rarity; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetCardInLibrary; - -/** - * - * @author LevelX2 - */ -public class GeneralTazri extends CardImpl { - - private static final FilterCreatureCard filter = new FilterCreatureCard("an Ally creature card"); - - static { - filter.add(new SubtypePredicate("Ally")); - } - - public GeneralTazri(UUID ownerId) { - super(ownerId, 19, "General Tazri", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.expansionSetCode = "OGW"; - this.supertype.add("Legendary"); - this.subtype.add("Human"); - this.subtype.add("Ally"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // When General Tazri enters the battlefield, you may search your library for an Ally creature card, reveal it, put it into your hand, then shuffle your library. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect( - new TargetCardInLibrary(filter), true, true), true)); - // {W}{U}{B}{R}{G}: Ally creatures you control get +X/+X until end of turn, where X is the number of colors among those creatures. - DynamicValue xValue = new GeneralTazriColorCount(); - this.addAbility(new SimpleActivatedAbility( - Zone.BATTLEFIELD, - new BoostControlledEffect(xValue, xValue, Duration.EndOfTurn, new FilterCreaturePermanent("Ally", "Ally creatures"), false), - new ManaCostsImpl("{3}{W}{W}"))); - - } - - public GeneralTazri(final GeneralTazri card) { - super(card); - } - - @Override - public GeneralTazri copy() { - return new GeneralTazri(this); - } -} - -class GeneralTazriColorCount implements DynamicValue { - - private final static FilterCreaturePermanent filter = new FilterCreaturePermanent(); - - static { - filter.add(new SubtypePredicate(("Ally"))); - } - - @Override - public int calculate(Game game, Ability sourceAbility, Effect effect) { - int count = 0; - boolean black = false; - boolean red = false; - boolean white = false; - boolean green = false; - boolean blue = false; - for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter, sourceAbility.getControllerId(), game)) { - ObjectColor color = creature.getColor(game); - black |= color.isBlack(); - red |= color.isRed(); - white |= color.isWhite(); - green |= color.isGreen(); - blue |= color.isBlue(); - } - count += black ? 1 : 0; - count += red ? 1 : 0; - count += white ? 1 : 0; - count += green ? 1 : 0; - count += blue ? 1 : 0; - return count; - } - - @Override - public GeneralTazriColorCount copy() { - return new GeneralTazriColorCount(); - } - - @Override - public String getMessage() { - return "the number of colors among those creatures"; - } - - @Override - public String toString() { - return "X"; - } -} +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class GeneralTazri extends CardImpl { + + private static final FilterCreatureCard filter = new FilterCreatureCard("an Ally creature card"); + + static { + filter.add(new SubtypePredicate("Ally")); + } + + public GeneralTazri(UUID ownerId) { + super(ownerId, 19, "General Tazri", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{4}{W}"); + this.expansionSetCode = "OGW"; + this.supertype.add("Legendary"); + this.subtype.add("Human"); + this.subtype.add("Ally"); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // When General Tazri enters the battlefield, you may search your library for an Ally creature card, reveal it, put it into your hand, then shuffle your library. + this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect( + new TargetCardInLibrary(filter), true, true), true)); + // {W}{U}{B}{R}{G}: Ally creatures you control get +X/+X until end of turn, where X is the number of colors among those creatures. + DynamicValue xValue = new GeneralTazriColorCount(); + this.addAbility(new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new BoostControlledEffect(xValue, xValue, Duration.EndOfTurn, new FilterCreaturePermanent("Ally", "Ally creatures"), false), + new ManaCostsImpl("{W}{U}{B}{R}{G}"))); + + } + + public GeneralTazri(final GeneralTazri card) { + super(card); + } + + @Override + public GeneralTazri copy() { + return new GeneralTazri(this); + } +} + +class GeneralTazriColorCount implements DynamicValue { + + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent(); + + static { + filter.add(new SubtypePredicate(("Ally"))); + } + + @Override + public int calculate(Game game, Ability sourceAbility, Effect effect) { + int count = 0; + boolean black = false; + boolean red = false; + boolean white = false; + boolean green = false; + boolean blue = false; + for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter, sourceAbility.getControllerId(), game)) { + ObjectColor color = creature.getColor(game); + black |= color.isBlack(); + red |= color.isRed(); + white |= color.isWhite(); + green |= color.isGreen(); + blue |= color.isBlue(); + } + count += black ? 1 : 0; + count += red ? 1 : 0; + count += white ? 1 : 0; + count += green ? 1 : 0; + count += blue ? 1 : 0; + return count; + } + + @Override + public GeneralTazriColorCount copy() { + return new GeneralTazriColorCount(); + } + + @Override + public String getMessage() { + return "the number of colors among those creatures"; + } + + @Override + public String toString() { + return "X"; + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java new file mode 100644 index 00000000000..36013c17b0f --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java @@ -0,0 +1,71 @@ +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CantBeCounteredSourceEffect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.keyword.SurgeAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetSpell; + +/** + * + * @author fireshoes + */ +public class OverwhelmingDenial extends CardImpl { + + public OverwhelmingDenial(UUID ownerId) { + super(ownerId, 61, "Overwhelming Denial", Rarity.RARE, new CardType[]{CardType.INSTANT}, "{2}{U}{U}"); + this.expansionSetCode = "OGW"; + + // Overwhelming Denial can't be countered by spell or abilities. + this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantBeCounteredSourceEffect())); + + // Counter target spell. + this.getSpellAbility().addTarget(new TargetSpell()); + this.getSpellAbility().addEffect(new CounterTargetEffect()); + + // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this + // Surge {U}{U} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn) + addAbility(new SurgeAbility(this, "{U}{U}")); + } + + public OverwhelmingDenial(final OverwhelmingDenial card) { + super(card); + } + + @Override + public OverwhelmingDenial copy() { + return new OverwhelmingDenial(this); + } +} diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/PyromancersAssault.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/PyromancersAssault.java new file mode 100644 index 00000000000..9e85489e807 --- /dev/null +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/PyromancersAssault.java @@ -0,0 +1,146 @@ +/* + * 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.sets.oathofthegatewatch; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.WatcherScope; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.stack.Spell; +import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.Watcher; + +/** + * + * @author fireshoes + */ +public class PyromancersAssault extends CardImpl { + + public PyromancersAssault(UUID ownerId) { + super(ownerId, 115, "Pyromancer's Assault", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); + this.expansionSetCode = "OGW"; + + // Whenever you cast your second spell each turn, Pyromancer's Assault deals 2 damage to target creature or player. + Ability ability = new PyromancersAssaultTriggeredAbility(); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability, new PyromancersAssaultWatcher()); + } + + public PyromancersAssault(final PyromancersAssault card) { + super(card); + } + + @Override + public PyromancersAssault copy() { + return new PyromancersAssault(this); + } +} + +class PyromancersAssaultTriggeredAbility extends TriggeredAbilityImpl { + + public PyromancersAssaultTriggeredAbility() { + super(Zone.BATTLEFIELD, new DamageTargetEffect(2)); + } + + public PyromancersAssaultTriggeredAbility(final PyromancersAssaultTriggeredAbility ability) { + super(ability); + } + + @Override + public PyromancersAssaultTriggeredAbility copy() { + return new PyromancersAssaultTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.SPELL_CAST; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getPlayerId().equals(controllerId)) { + Watcher watcher = game.getState().getWatchers().get("SecondSpellCast", controllerId); + if (watcher != null && watcher.conditionMet()) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever you cast your second spell each turn, {this} deals 2 damage to target creature or player."; + } +} + +class PyromancersAssaultWatcher extends Watcher { + + int spellCount = 0; + + public PyromancersAssaultWatcher() { + super("SecondSpellCast", WatcherScope.PLAYER); + } + + public PyromancersAssaultWatcher(final PyromancersAssaultWatcher watcher) { + super(watcher); + this.spellCount = watcher.spellCount; + } + + @Override + public PyromancersAssaultWatcher copy() { + return new PyromancersAssaultWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + condition = false; + if (event.getType() == GameEvent.EventType.SPELL_CAST && event.getPlayerId().equals(controllerId)) { + Spell spell = game.getStack().getSpell(event.getTargetId()); + if (spell != null) { + spellCount++; + if (spellCount == 2) { + condition = true; + } + } + } + } + + @Override + public void reset() { + super.reset(); + spellCount = 0; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java index 9b3490448e0..449d0d21bac 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java @@ -57,6 +57,9 @@ public class RecklessBushwhacker extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); + // Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn) + addAbility(new SurgeAbility(this, "{1}{R}")); + // Haste this.addAbility(HasteAbility.getInstance()); @@ -66,9 +69,6 @@ public class RecklessBushwhacker extends CardImpl { this.addAbility(new ConditionalTriggeredAbility(ability, SurgedCondition.getInstance(), "When {this} enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn.")); - // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this - // Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn) - addAbility(new SurgeAbility(this, "{1}{R}")); } public RecklessBushwhacker(final RecklessBushwhacker card) { diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/SifterOfSkulls.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/SifterOfSkulls.java index 982bd4c203e..b3cb29160f2 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/SifterOfSkulls.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/SifterOfSkulls.java @@ -30,6 +30,7 @@ package mage.sets.oathofthegatewatch; import java.util.UUID; import mage.MageInt; import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; @@ -68,7 +69,9 @@ public class SifterOfSkulls extends CardImpl { // Whenever another nontoken creature you control dies, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. // It has "Sacrifice this creature: Add {C} to your mana pool." - this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect(new EldraziScionToken()), false, filter)); + Effect effect = new CreateTokenEffect(new EldraziScionToken()); + effect.setText("put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has \"Sacrifice this creature: Add {C} to your mana pool.\""); + this.addAbility(new DiesCreatureTriggeredAbility(effect, false, filter)); } public SifterOfSkulls(final SifterOfSkulls card) { diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 2121f5f185f..16ea813145c 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -28272,9 +28272,11 @@ Kalitas, Traitor of Ghet|Oath of the Gatewatch|86|M|{2}{B}{B}|Legendary Creature Remorseless Punishment|Oath of the Gatewatch|89|R|{3}{B}{B}|Sorcery|||Target opponent loses 5 life unless that player discards two cards or sacrifices a creature or planeswalker. Repeat this process once.| Eldrazi Obligator|Oath of the Gatewatch|96|R|{2}{R}|Creature - Eldrazi Drone|3|1|Devoid (This card has no color.)$Haste$When you cast Eldrazi Obligator, you may pay {1}{C}. If you do, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn.| Kozilek's Return|Oath of the Gatewatch|98|M|{2}{R}|Instant|||Devoid (This card has no color.)$Kozilek's Return deals 2 damage to each creature.$Whenever you cast an Eldrazi creature spell with converted mana cost 7 or greater, you may exile Kozilek's Return from your graveyard. If you do, Kozilek's Return deals 5 damage to each creature.| +Boulder Salvo|Oath of the Gatewatch|102|C|{4}{R}|Sorcery|||Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Boulder Salvo deals 4 damage to target creature.| Chandra, Flamecaller|Oath of the Gatewatch|104|M|{4}{R}{R}|Planeswalker - Chandra|||+1: Put two 3/1 red Elemental creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step.$0: Discard all the cards in your hand, then draw that many cards plus one.$-X: Chandra, Flamecaller deals X damage to each creature.| Embodiment of Fury|Oath of the Gatewatch|107|U|{3}{R}|Creature - Elemental|4|3|Trample$Land creatures you control have trample.$Landfall - Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land.| Goblin Dark-Dwellers|Oath of the Gatewatch|110|R|{3}{R}{R}|Creature - Goblin|4|4|Menace$When Goblin Dark-Dwellers enters the battlefield, you may cast target instant or sorcery card with converted mana cost 3 or less from your graveyard without paying its mana cost. If that card would be put into your graveyard this turn, exile it instead.| +Pyromancer's Assault|Oath of the Gatewatch|115|U|{3}{R}|Enchantment|||Whenever you cast your second spell each turn, Pyromancer's Assault deals 2 damage to target creature or player.| Reckless Bushwhacker|Oath of the Gatewatch|116|U|{2}{R}|Creature - Goblin Warrior Ally|2|1|Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Haste$When Reckless Bushwhacker enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn.| Tyrant of Valakut|Oath of the Gatewatch|119|R|{5}{R}{R}|Creature - Dragon|5|4|Surge {3}{R}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Flying$When Tyrant of Valakut enters the battlefield, if its surge cost was paid, it deals 3 damage to target creature or player.| Scion Summoner|Oath of the Gatewatch|123|C|{2}{G}|Creature - Eldrazi Drone|2|2|Devoid (This card has no color.)$When Scion Summoner enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."| @@ -28292,9 +28294,10 @@ Jori En, Ruin Diver|Oath of the Gatewatch|155|R|{1}{U}{R}|Legendary Creature - M Mina and Denn, Wildborn|Oath of the Gatewatch|156|R|{2}{R}{G}|Legendary Creature - Elf Ally|4|4|You may play an additional land on each of your turns.${R}{G}, Return a land you control to its owner's hand: Target creature gains trample until end of turn.| Reflector Mage|Oath of the Gatewatch|157|U|{1}{W}{U}|Creature - Human Wizard|2|3|When Reflector Mage enters the battlefield, return target creature an opponent controls to its owner's hand. That creature's owner can't cast spells with the same name as that creature until your next turn.| Relentless Hunter|Oath of the Gatewatch|158|U|{1}{R}{G}|Creature - Human Warrior|3|3|{1}{R}{G}: Relentless Hunter gets +1/+1 and gains trample until end of turn.| +Bone Saw|Oath of the Gatewatch|161|C|{0}|Artifact - Equipment|||Equipped creature gets +1/+0.$Equip {1}| Stoneforge Masterwork|Oath of the Gatewatch|166|R|{1}|Artifact - Equipment|||Equipped creature gets +1/+1 for each other creature you control that shares a creature type with it.$Equip {2}| Cinder Barrens|Oath of the Gatewatch|168|U||Land|||Cinder Barrens enters the battlefield tapped.${T}: Add {B} or {R} to your mana pool.| -Corrupted Crossroads|Oath of the Gatewatch|169|R||Land|||{T}: Add {C} to your mana pool. ({C} represents colorless mana.)${T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast spells with devoid.| +Corrupted Crossroads|Oath of the Gatewatch|169|R||Land|||{T}: Add {C} to your mana pool. ({C} represents colorless mana.)${T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast a spell with devoid.| Crumbling Vestige|Oath of the Gatewatch|170|C||Land|||Crumbling Vestige enters the battlefield tapped.$When Crumbling Vestige enters the battlefield, add one mana of any color to your mana pool.${T}: Add {C} to you mana pool. ({C} represents colorless mana.)| Hissing Quagmire|Oath of the Gatewatch|171|R||Land|||Hissing Quagmire enters the battlefield tapped.${T}: Add {B} or {G} to your mana pool.${1}{B}{G}: Hissing Quagmire becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land.| Holdout Settlement|Oath of the Gatewatch|172|C||Land|||{T}: Add {C} to your mana pool. ({C} represents colorless mana.)${T}, Tap an untapped creature you control: Add one mana of any color to your mana pool.|