From a20423a72eb80a4f05f71a8da8d8a32036ae46a4 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Fri, 28 Dec 2012 17:32:45 +0100 Subject: [PATCH] [PC2] Added 13 cards. --- .../mage/sets/alarareborn/EnigmaSphinx.java | 129 +++++++++++++++ .../src/mage/sets/conflux/ExoticOrchard.java | 154 ++++++++++++++++++ .../sets/dissension/CelestialAncient.java | 76 +++++++++ .../sets/planechase2012/ArmoredGriffin.java | 66 ++++++++ .../sets/planechase2012/BalefulStrix.java | 72 ++++++++ .../sets/planechase2012/BeetlebackChief.java | 67 ++++++++ .../sets/planechase2012/BrambleElemental.java | 52 ++++++ .../sets/planechase2012/BrindleShoat.java | 79 +++++++++ .../sets/planechase2012/CelestialAncient.java | 52 ++++++ .../sets/planechase2012/DarkHatchling.java | 52 ++++++ .../sets/planechase2012/DragonlairSpider.java | 72 ++++++++ .../sets/planechase2012/DreampodDruid.java | 72 ++++++++ .../sets/planechase2012/EnigmaSphinx.java | 52 ++++++ .../planechase2012/EtheriumHornSorcerer.java | 72 ++++++++ .../sets/planechase2012/ExoticOrchard.java | 52 ++++++ .../sets/planechase2012/KrondTheDawnClad.java | 79 +++++++++ .../mage/sets/ravnika/BrambleElemental.java | 105 ++++++++++++ .../mage/sets/urzassaga/DarkHatchling.java | 82 ++++++++++ 18 files changed, 1385 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/alarareborn/EnigmaSphinx.java create mode 100644 Mage.Sets/src/mage/sets/conflux/ExoticOrchard.java create mode 100644 Mage.Sets/src/mage/sets/dissension/CelestialAncient.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/ArmoredGriffin.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/BalefulStrix.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/BeetlebackChief.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/BrambleElemental.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/BrindleShoat.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/CelestialAncient.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/DarkHatchling.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/DragonlairSpider.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/DreampodDruid.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/EnigmaSphinx.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/EtheriumHornSorcerer.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/ExoticOrchard.java create mode 100644 Mage.Sets/src/mage/sets/planechase2012/KrondTheDawnClad.java create mode 100644 Mage.Sets/src/mage/sets/ravnika/BrambleElemental.java create mode 100644 Mage.Sets/src/mage/sets/urzassaga/DarkHatchling.java diff --git a/Mage.Sets/src/mage/sets/alarareborn/EnigmaSphinx.java b/Mage.Sets/src/mage/sets/alarareborn/EnigmaSphinx.java new file mode 100644 index 00000000000..027b15d0591 --- /dev/null +++ b/Mage.Sets/src/mage/sets/alarareborn/EnigmaSphinx.java @@ -0,0 +1,129 @@ +/* + * 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.alarareborn; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.PutIntoGraveFromBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.CascadeAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.players.Library; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class EnigmaSphinx extends CardImpl { + + public EnigmaSphinx(UUID ownerId) { + super(ownerId, 106, "Enigma Sphinx", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{W}{U}{B}"); + this.expansionSetCode = "ARB"; + this.subtype.add("Sphinx"); + + this.color.setWhite(true); + this.color.setBlue(true); + this.color.setBlack(true); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Enigma Sphinx is put into your graveyard from the battlefield, put it into your library third from the top. + this.addAbility(new PutIntoGraveFromBattlefieldTriggeredAbility(new EnigmaSphinxEffect())); + + // Cascade + this.addAbility(new CascadeAbility()); + } + + public EnigmaSphinx(final EnigmaSphinx card) { + super(card); + } + + @Override + public EnigmaSphinx copy() { + return new EnigmaSphinx(this); + } +} + +class EnigmaSphinxEffect extends OneShotEffect { + + public EnigmaSphinxEffect() { + super(Outcome.ReturnToHand); + staticText = "put it into your library third from the top"; + } + + public EnigmaSphinxEffect(final EnigmaSphinxEffect effect) { + super(effect); + } + + @Override + public EnigmaSphinxEffect copy() { + return new EnigmaSphinxEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(source.getSourceId()); + if (card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { + Player owner = game.getPlayer(card.getOwnerId()); + if (card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true)) { + // Move Sphinx to third position + Library lib = game.getPlayer(source.getControllerId()).getLibrary(); + if (lib != null) { + Card card1 = lib.removeFromTop(game); + if (card1.getId().equals(source.getSourceId())) { + Card card2 = lib.removeFromTop(game); + Card card3 = lib.removeFromTop(game); + if (card1 != null) { + lib.putOnTop(card1, game); + } + if (card3 != null) { + lib.putOnTop(card3, game); + } + if (card2 != null) { + lib.putOnTop(card2, game); + } + return true; + } + } + } + } + return false; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/conflux/ExoticOrchard.java b/Mage.Sets/src/mage/sets/conflux/ExoticOrchard.java new file mode 100644 index 00000000000..77c3834c931 --- /dev/null +++ b/Mage.Sets/src/mage/sets/conflux/ExoticOrchard.java @@ -0,0 +1,154 @@ +/* + * 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.conflux; + +import java.util.List; +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.TargetController; +import mage.Constants.Zone; +import mage.Mana; +import mage.abilities.Abilities; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.mana.ManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class ExoticOrchard extends CardImpl { + + public ExoticOrchard(UUID ownerId) { + super(ownerId, 142, "Exotic Orchard", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "CON"; + + // {T}: Add to your mana pool one mana of any color that a land an opponent controls could produce. + this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ExoticOrchardEffect(), new TapSourceCost())); + } + + public ExoticOrchard(final ExoticOrchard card) { + super(card); + } + + @Override + public ExoticOrchard copy() { + return new ExoticOrchard(this); + } +} + +class ExoticOrchardEffect extends ManaEffect { + + private static final FilterPermanent filter = new FilterLandPermanent(); + static { + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + } + + public ExoticOrchardEffect() { + super(); + staticText = "Add to your mana pool one mana of any color that a land an opponent controls could produce"; + } + + public ExoticOrchardEffect(final ExoticOrchardEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + List lands = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game); + Mana types = new Mana(); + for (Permanent land : lands) { + Abilities mana = land.getAbilities().getManaAbilities(Zone.BATTLEFIELD); + for (ManaAbility ability : mana) { + types.add(ability.getNetMana(game)); + } + } + Choice choice = new ChoiceImpl(true); + choice.setMessage("Pick a mana color"); + if (types.getBlack() > 0) { + choice.getChoices().add("Black"); + } + if (types.getRed() > 0) { + choice.getChoices().add("Red"); + } + if (types.getBlue() > 0) { + choice.getChoices().add("Blue"); + } + if (types.getGreen() > 0) { + choice.getChoices().add("Green"); + } + if (types.getWhite() > 0) { + choice.getChoices().add("White"); + } + if (types.getAny() > 0) { + choice.getChoices().add("Black"); + choice.getChoices().add("Red"); + choice.getChoices().add("Blue"); + choice.getChoices().add("Green"); + choice.getChoices().add("White"); + } + if (choice.getChoices().size() > 0) { + Player player = game.getPlayer(source.getControllerId()); + if (choice.getChoices().size() == 1) { + choice.setChoice(choice.getChoices().iterator().next()); + } else { + player.choose(outcome, choice, game); + } + if (choice.getChoice().equals("Black")) { + player.getManaPool().addMana(Mana.BlackMana, game, source); + } else if (choice.getChoice().equals("Blue")) { + player.getManaPool().addMana(Mana.BlueMana, game, source); + } else if (choice.getChoice().equals("Red")) { + player.getManaPool().addMana(Mana.RedMana, game, source); + } else if (choice.getChoice().equals("Green")) { + player.getManaPool().addMana(Mana.GreenMana, game, source); + } else if (choice.getChoice().equals("White")) { + player.getManaPool().addMana(Mana.WhiteMana, game, source); + } + } + return true; + } + + @Override + public ExoticOrchardEffect copy() { + return new ExoticOrchardEffect(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/dissension/CelestialAncient.java b/Mage.Sets/src/mage/sets/dissension/CelestialAncient.java new file mode 100644 index 00000000000..19e9fd0a9a9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/dissension/CelestialAncient.java @@ -0,0 +1,76 @@ +/* + * 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.dissension; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SpellCastTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.counters.CounterType; +import mage.filter.FilterSpell; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; + +/** + * + * @author LevelX2 + */ +public class CelestialAncient extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("an enchantment spell"); + static { + filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); + } + public CelestialAncient(UUID ownerId) { + super(ownerId, 7, "Celestial Ancient", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + this.expansionSetCode = "DIS"; + this.subtype.add("Elemental"); + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever you cast an enchantment spell, put a +1/+1 counter on each creature you control. + this.addAbility(new SpellCastTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()),filter, false)); + } + + public CelestialAncient(final CelestialAncient card) { + super(card); + } + + @Override + public CelestialAncient copy() { + return new CelestialAncient(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/ArmoredGriffin.java b/Mage.Sets/src/mage/sets/planechase2012/ArmoredGriffin.java new file mode 100644 index 00000000000..01525f6f407 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/ArmoredGriffin.java @@ -0,0 +1,66 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; + +/** + * + * @author LevelX2 + */ +public class ArmoredGriffin extends CardImpl { + + public ArmoredGriffin(UUID ownerId) { + super(ownerId, 1, "Armored Griffin", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{W}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Griffin"); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // vigilance + this.addAbility(VigilanceAbility.getInstance()); + } + + public ArmoredGriffin(final ArmoredGriffin card) { + super(card); + } + + @Override + public ArmoredGriffin copy() { + return new ArmoredGriffin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/BalefulStrix.java b/Mage.Sets/src/mage/sets/planechase2012/BalefulStrix.java new file mode 100644 index 00000000000..92adf3ce262 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/BalefulStrix.java @@ -0,0 +1,72 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DrawCardControllerEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author LevelX2 + */ +public class BalefulStrix extends CardImpl { + + public BalefulStrix(UUID ownerId) { + super(ownerId, 82, "Baleful Strix", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{U}{B}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Bird"); + this.color.setBlue(true); + this.color.setBlack(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // vigilance + this.addAbility(DeathtouchAbility.getInstance()); + // When Baleful Strix enters the battlefield, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardControllerEffect(1))); + + } + + public BalefulStrix(final BalefulStrix card) { + super(card); + } + + @Override + public BalefulStrix copy() { + return new BalefulStrix(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/BeetlebackChief.java b/Mage.Sets/src/mage/sets/planechase2012/BeetlebackChief.java new file mode 100644 index 00000000000..d00829622c4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/BeetlebackChief.java @@ -0,0 +1,67 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.game.permanent.token.GoblinToken; + +/** + * + * @author LevelX2 + */ +public class BeetlebackChief extends CardImpl { + + public BeetlebackChief(UUID ownerId) { + super(ownerId, 40, "Beetleback Chief", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Goblin"); + this.subtype.add("Warrior"); + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Beetleback Chief enters the battlefield, put two 1/1 red Goblin creature tokens onto the battlefield. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GoblinToken(), 2))); + + } + + public BeetlebackChief(final BeetlebackChief card) { + super(card); + } + + @Override + public BeetlebackChief copy() { + return new BeetlebackChief(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/BrambleElemental.java b/Mage.Sets/src/mage/sets/planechase2012/BrambleElemental.java new file mode 100644 index 00000000000..7208eb7c02a --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/BrambleElemental.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.planechase2012; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class BrambleElemental extends mage.sets.ravnika.BrambleElemental { + + public BrambleElemental(UUID ownerId) { + super(ownerId); + this.cardNumber = 59; + this.expansionSetCode = "PC2"; + } + + public BrambleElemental(final BrambleElemental card) { + super(card); + } + + @Override + public BrambleElemental copy() { + return new BrambleElemental(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/BrindleShoat.java b/Mage.Sets/src/mage/sets/planechase2012/BrindleShoat.java new file mode 100644 index 00000000000..f5112f01383 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/BrindleShoat.java @@ -0,0 +1,79 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DevourEffect; +import mage.abilities.keyword.DevourAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * + * @author LevelX2 + */ +public class BrindleShoat extends CardImpl { + + public BrindleShoat(UUID ownerId) { + super(ownerId, 60, "Brindle Shoat", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Boar"); + this.color.setGreen(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Brindle Shoat dies, put a 3/3 green Boar creature token onto the battlefield. + this.addAbility(new DiesTriggeredAbility(new CreateTokenEffect(new BoarToken()))); + } + + public BrindleShoat(final BrindleShoat card) { + super(card); + } + + @Override + public BrindleShoat copy() { + return new BrindleShoat(this); + } +} + +class BoarToken extends Token { + BoarToken() { + super("Boar", "3/3 green Boar creature token"); + cardType.add(CardType.CREATURE); + color.setGreen(true); + subtype.add("Boar"); + power = new MageInt(3); + toughness = new MageInt(3); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/planechase2012/CelestialAncient.java b/Mage.Sets/src/mage/sets/planechase2012/CelestialAncient.java new file mode 100644 index 00000000000..a8622050fe3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/CelestialAncient.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.planechase2012; + +import java.util.UUID; + +/** + * + * @author * @author LevelX2 + */ +public class CelestialAncient extends mage.sets.dissension.CelestialAncient { + + public CelestialAncient(UUID ownerId) { + super(ownerId); + this.cardNumber = 5; + this.expansionSetCode = "PC2"; + } + + public CelestialAncient(final CelestialAncient card) { + super(card); + } + + @Override + public CelestialAncient copy() { + return new CelestialAncient(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/planechase2012/DarkHatchling.java b/Mage.Sets/src/mage/sets/planechase2012/DarkHatchling.java new file mode 100644 index 00000000000..b622dd27992 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/DarkHatchling.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.planechase2012; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class DarkHatchling extends mage.sets.urzassaga.DarkHatchling { + + public DarkHatchling(UUID ownerId) { + super(ownerId); + this.cardNumber = 32; + this.expansionSetCode = "PC2"; + } + + public DarkHatchling(final DarkHatchling card) { + super(card); + } + + @Override + public DarkHatchling copy() { + return new DarkHatchling(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/DragonlairSpider.java b/Mage.Sets/src/mage/sets/planechase2012/DragonlairSpider.java new file mode 100644 index 00000000000..058c380e329 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/DragonlairSpider.java @@ -0,0 +1,72 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.OpponentCastsSpellTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.ReachAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.InsectToken; + +/** + * + * @author LevelX2 + */ +public class DragonlairSpider extends CardImpl { + + public DragonlairSpider(UUID ownerId) { + super(ownerId, 87, "Dragonlair Spider", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{G}{G}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Spider"); + this.color.setRed(true); + this.color.setGreen(true); + this.power = new MageInt(5); + this.toughness = new MageInt(6); + + // Reach + this.addAbility(ReachAbility.getInstance()); + + // Whenever an opponent casts a spell, put a 1/1 green Insect creature token onto the battlefield. + this.addAbility(new OpponentCastsSpellTriggeredAbility(new CreateTokenEffect(new InsectToken()), false)); + + + } + + public DragonlairSpider(final DragonlairSpider card) { + super(card); + } + + @Override + public DragonlairSpider copy() { + return new DragonlairSpider(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/DreampodDruid.java b/Mage.Sets/src/mage/sets/planechase2012/DreampodDruid.java new file mode 100644 index 00000000000..149dad9b28a --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/DreampodDruid.java @@ -0,0 +1,72 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.condition.common.EnchantedCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.game.permanent.token.SaprolingToken; + +/** + * + * @author LevelX2 + */ +public class DreampodDruid extends CardImpl { + + public DreampodDruid(UUID ownerId) { + super(ownerId, 64, "Dreampod Druid", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Human"); + this.subtype.add("Druid"); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // At the beginning of each upkeep, if Dreampod Druid is enchanted, put a 1/1 green Saproling creature token onto the battlefield. + this.addAbility(new ConditionalTriggeredAbility( + new BeginningOfUpkeepTriggeredAbility(Constants.Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken(),1), Constants.TargetController.ANY, false, false), + new EnchantedCondition(), + "At the beginning of each upkeep, if Dreampod Druid is enchanted, put a 1/1 green Saproling creature token onto the battlefield.")); + } + + public DreampodDruid(final DreampodDruid card) { + super(card); + } + + @Override + public DreampodDruid copy() { + return new DreampodDruid(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/EnigmaSphinx.java b/Mage.Sets/src/mage/sets/planechase2012/EnigmaSphinx.java new file mode 100644 index 00000000000..0fd1491de9e --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/EnigmaSphinx.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.planechase2012; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class EnigmaSphinx extends mage.sets.alarareborn.EnigmaSphinx { + + public EnigmaSphinx(UUID ownerId) { + super(ownerId); + this.cardNumber = 89; + this.expansionSetCode = "PC2"; + } + + public EnigmaSphinx(final EnigmaSphinx card) { + super(card); + } + + @Override + public EnigmaSphinx copy() { + return new EnigmaSphinx(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/EtheriumHornSorcerer.java b/Mage.Sets/src/mage/sets/planechase2012/EtheriumHornSorcerer.java new file mode 100644 index 00000000000..daab6d51ea3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/EtheriumHornSorcerer.java @@ -0,0 +1,72 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.abilities.keyword.CascadeAbility; +import mage.cards.CardImpl; + +/** + * + * @author LevelX2 + */ +public class EtheriumHornSorcerer extends CardImpl { + + public EtheriumHornSorcerer(UUID ownerId) { + super(ownerId, 91, "Etherium-Horn Sorcerer", Rarity.RARE, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{R}"); + this.expansionSetCode = "PC2"; + this.subtype.add("Minotaur"); + this.subtype.add("Wizard"); + this.color.setBlue(true); + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(6); + + // {1}{U}{R}: Return Etherium-Horn Sorcerer to its owner's hand. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{1}{U}{R}"))); + + // Cascade + this.addAbility(new CascadeAbility()); + } + + public EtheriumHornSorcerer(final EtheriumHornSorcerer card) { + super(card); + } + + @Override + public EtheriumHornSorcerer copy() { + return new EtheriumHornSorcerer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/ExoticOrchard.java b/Mage.Sets/src/mage/sets/planechase2012/ExoticOrchard.java new file mode 100644 index 00000000000..e626916f60e --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/ExoticOrchard.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.planechase2012; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class ExoticOrchard extends mage.sets.conflux.ExoticOrchard { + + public ExoticOrchard(UUID ownerId) { + super(ownerId); + this.cardNumber = 117; + this.expansionSetCode = "PC2"; + } + + public ExoticOrchard(final ExoticOrchard card) { + super(card); + } + + @Override + public ExoticOrchard copy() { + return new ExoticOrchard(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planechase2012/KrondTheDawnClad.java b/Mage.Sets/src/mage/sets/planechase2012/KrondTheDawnClad.java new file mode 100644 index 00000000000..2958bf30ef9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase2012/KrondTheDawnClad.java @@ -0,0 +1,79 @@ +/* + * 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.planechase2012; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.condition.common.EnchantedCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.target.TargetPermanent; + +/** + * + * @author LevelX2 + */ +public class KrondTheDawnClad extends CardImpl { + + public KrondTheDawnClad(UUID ownerId) { + super(ownerId, 99, "Krond the Dawn-Clad", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{G}{G}{G}{W}{W}{W}"); + this.expansionSetCode = "PC2"; + this.supertype.add("Legendary"); + this.subtype.add("Archon"); + this.color.setGreen(true); + this.color.setWhite(true); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Krond the Dawn-Clad attacks, if it's enchanted, exile target permanent. + Ability ability = new ConditionalTriggeredAbility( + new AttacksTriggeredAbility(new ExileTargetEffect(), false), + new EnchantedCondition(), + "Whenever Krond the Dawn-Clad attacks, if it's enchanted, exile target permanent."); + ability.addTarget(new TargetPermanent()); + this.addAbility(ability); + } + + public KrondTheDawnClad(final KrondTheDawnClad card) { + super(card); + } + + @Override + public KrondTheDawnClad copy() { + return new KrondTheDawnClad(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ravnika/BrambleElemental.java b/Mage.Sets/src/mage/sets/ravnika/BrambleElemental.java new file mode 100644 index 00000000000..6c70d562fd3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/ravnika/BrambleElemental.java @@ -0,0 +1,105 @@ +/* + * 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.ravnika; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.SaprolingToken; + +/** + * + * @author LevelX2 + */ +public class BrambleElemental extends CardImpl { + + public BrambleElemental(UUID ownerId) { + super(ownerId, 154, "Bramble Elemental", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); + this.expansionSetCode = "RAV"; + this.subtype.add("Elemental"); + this.color.setGreen(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Whenever an Aura becomes attached to Bramble Elemental, put two 1/1 green Saproling creature tokens onto the battlefield. + this.addAbility(new AttachedTriggeredAbility(new CreateTokenEffect(new SaprolingToken(),2),false)); + } + + public BrambleElemental(final BrambleElemental card) { + super(card); + } + + @Override + public BrambleElemental copy() { + return new BrambleElemental(this); + } +} + +class AttachedTriggeredAbility extends TriggeredAbilityImpl { + + public AttachedTriggeredAbility(Effect effect, boolean optional) { + super(Zone.BATTLEFIELD, effect, optional); + } + + public AttachedTriggeredAbility(final AttachedTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == EventType.ATTACHED && event.getTargetId().equals(this.getSourceId()) ) { + Permanent attachment = game.getPermanent(event.getSourceId()); + if (attachment != null && attachment.getSubtype().contains("Aura")) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever an Aura becomes attached to {this}, " + super.getRule(); + } + + @Override + public AttachedTriggeredAbility copy() { + return new AttachedTriggeredAbility(this); + } + + +} diff --git a/Mage.Sets/src/mage/sets/urzassaga/DarkHatchling.java b/Mage.Sets/src/mage/sets/urzassaga/DarkHatchling.java new file mode 100644 index 00000000000..5c064a27ab4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/DarkHatchling.java @@ -0,0 +1,82 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class DarkHatchling extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + static { + filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public DarkHatchling (UUID ownerId) { + super(ownerId, 126, "Dark Hatchling", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); + this.expansionSetCode = "USG"; + this.subtype.add("Horror"); + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Dark Hatchling enters the battlefield, destroy target nonblack creature. It can't be regenerated. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(true)); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + } + + public DarkHatchling (final DarkHatchling card) { + super(card); + } + + @Override + public DarkHatchling copy() { + return new DarkHatchling(this); + } +}