From 0017f7a458d9f41df1194baf549888ec0652634c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 10 Jul 2016 10:43:26 +0200 Subject: [PATCH] [EMN] Added 8 black cards. --- .../mage/sets/darksteel/ChitteringRats.java | 2 +- .../mage/sets/dissension/TasteForMayhem.java | 6 +- .../sets/eldritchmoon/PryingQuestions.java | 106 ++++++++++++++++++ .../sets/eldritchmoon/RuthlessDisposal.java | 70 ++++++++++++ .../sets/eldritchmoon/SkirsdagSupplicant.java | 72 ++++++++++++ .../eldritchmoon/StrangeAugmentation.java | 80 +++++++++++++ .../eldritchmoon/SuccumbToTemptation.java | 64 +++++++++++ .../sets/eldritchmoon/ThrabenFoulbloods.java | 75 +++++++++++++ .../sets/eldritchmoon/VampireCutthroat.java | 66 +++++++++++ .../sets/eldritchmoon/WeirdedVampire.java | 64 +++++++++++ 10 files changed, 601 insertions(+), 4 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/PryingQuestions.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/RuthlessDisposal.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/SkirsdagSupplicant.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/StrangeAugmentation.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/SuccumbToTemptation.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/ThrabenFoulbloods.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/VampireCutthroat.java create mode 100644 Mage.Sets/src/mage/sets/eldritchmoon/WeirdedVampire.java diff --git a/Mage.Sets/src/mage/sets/darksteel/ChitteringRats.java b/Mage.Sets/src/mage/sets/darksteel/ChitteringRats.java index 8bda69bdde..04be7370de 100644 --- a/Mage.Sets/src/mage/sets/darksteel/ChitteringRats.java +++ b/Mage.Sets/src/mage/sets/darksteel/ChitteringRats.java @@ -78,7 +78,7 @@ class ChitteringRatsEffect extends OneShotEffect { public ChitteringRatsEffect() { super(Outcome.Detriment); - this.staticText = "target opponent puts a card from his or her hand on top of his or her library."; + this.staticText = "target opponent puts a card from his or her hand on top of his or her library"; } public ChitteringRatsEffect(final ChitteringRatsEffect effect) { diff --git a/Mage.Sets/src/mage/sets/dissension/TasteForMayhem.java b/Mage.Sets/src/mage/sets/dissension/TasteForMayhem.java index 606c4cd5da..84503580e4 100644 --- a/Mage.Sets/src/mage/sets/dissension/TasteForMayhem.java +++ b/Mage.Sets/src/mage/sets/dissension/TasteForMayhem.java @@ -60,12 +60,12 @@ public class TasteForMayhem extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); - + // Enchanted creature gets +2/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 0))); - + // Hellbent - Enchanted creature gets an additional +2/+0 as long as you have no cards in hand. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(2, 0), HellbentCondition.getInstance(), "Hellbent — Enchanted creature gets an additional +2/+0 as long as you have no cards in hand"))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(2, 0), HellbentCondition.getInstance(), "Hellbent — Enchanted creature gets an additional +2/+0 as long as you have no cards in hand"))); } public TasteForMayhem(final TasteForMayhem card) { diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/PryingQuestions.java b/Mage.Sets/src/mage/sets/eldritchmoon/PryingQuestions.java new file mode 100644 index 0000000000..f072fca655 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/PryingQuestions.java @@ -0,0 +1,106 @@ +/* + * 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.eldritchmoon; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.LoseLifeTargetEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInHand; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class PryingQuestions extends CardImpl { + + public PryingQuestions(UUID ownerId) { + super(ownerId, 101, "Prying Questions", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{B}"); + this.expansionSetCode = "EMN"; + + // Target opponent loses 3 life and puts a card from his or her hand on top of his or her library. + this.getSpellAbility().addTarget(new TargetOpponent()); + this.getSpellAbility().addEffect(new LoseLifeTargetEffect(3)); + this.getSpellAbility().addEffect(new PryingQuestionsEffect()); + + } + + public PryingQuestions(final PryingQuestions card) { + super(card); + } + + @Override + public PryingQuestions copy() { + return new PryingQuestions(this); + } +} + +class PryingQuestionsEffect extends OneShotEffect { + + public PryingQuestionsEffect() { + super(Outcome.Detriment); + this.staticText = "and puts a card from his or her hand on top of his or her library"; + } + + public PryingQuestionsEffect(final PryingQuestionsEffect effect) { + super(effect); + } + + @Override + public PryingQuestionsEffect copy() { + return new PryingQuestionsEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player targetOpponent = game.getPlayer(this.getTargetPointer().getFirst(game, source)); + if (targetOpponent != null) { + if (targetOpponent.getHand().size() > 0) { + TargetCardInHand target = new TargetCardInHand(); + target.setNotTarget(true); + target.setTargetName("a card from your hand to put on top of your library"); + targetOpponent.choose(Outcome.Detriment, target, source.getSourceId(), game); + Card card = targetOpponent.getHand().get(target.getFirstTarget(), game); + if (card != null) { + targetOpponent.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.HAND, true, false); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/RuthlessDisposal.java b/Mage.Sets/src/mage/sets/eldritchmoon/RuthlessDisposal.java new file mode 100644 index 0000000000..ecfa343cfc --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/RuthlessDisposal.java @@ -0,0 +1,70 @@ +/* + * 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.eldritchmoon; + +import java.util.UUID; +import mage.abilities.costs.common.DiscardTargetCost; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.filter.FilterCard; +import mage.target.common.TargetCardInHand; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class RuthlessDisposal extends CardImpl { + + public RuthlessDisposal(UUID ownerId) { + super(ownerId, 103, "Ruthless Disposal", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{B}"); + this.expansionSetCode = "EMN"; + + // As an additional cost to cast Ruthless Disposal, discard a card and sacrifice a creature. + this.getSpellAbility().addCost(new DiscardTargetCost(new TargetCardInHand(new FilterCard("card to discard")))); + this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); + // Two target creatures each get -13/-13 until end of turn. + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2)); + this.getSpellAbility().addEffect(new BoostTargetEffect(-13, -13, Duration.EndOfTurn)); + + } + + public RuthlessDisposal(final RuthlessDisposal card) { + super(card); + } + + @Override + public RuthlessDisposal copy() { + return new RuthlessDisposal(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/SkirsdagSupplicant.java b/Mage.Sets/src/mage/sets/eldritchmoon/SkirsdagSupplicant.java new file mode 100644 index 0000000000..34941dfe89 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/SkirsdagSupplicant.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.eldritchmoon; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.LoseLifeAllPlayersEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class SkirsdagSupplicant extends CardImpl { + + public SkirsdagSupplicant(UUID ownerId) { + super(ownerId, 104, "Skirsdag Supplicant", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "EMN"; + this.subtype.add("Human"); + this.subtype.add("Cleric"); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // {B}, {T}, Discard a card: Each player loses 2 life. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeAllPlayersEffect(2), new ManaCostsImpl("{B}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new DiscardCardCost()); + this.addAbility(ability); + } + + public SkirsdagSupplicant(final SkirsdagSupplicant card) { + super(card); + } + + @Override + public SkirsdagSupplicant copy() { + return new SkirsdagSupplicant(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/StrangeAugmentation.java b/Mage.Sets/src/mage/sets/eldritchmoon/StrangeAugmentation.java new file mode 100644 index 0000000000..910c0c6016 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/StrangeAugmentation.java @@ -0,0 +1,80 @@ +/* + * 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.eldritchmoon; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DeliriumCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.continuous.BoostEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class StrangeAugmentation extends CardImpl { + + public StrangeAugmentation(UUID ownerId) { + super(ownerId, 105, "Strange Augmentation", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{B}"); + this.expansionSetCode = "EMN"; + this.subtype.add("Aura"); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // Enchanted creature gets +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1))); + + // Delirium &mdash Enchanted creature gets an additional +2/+2 as long as there are four or more card types among cards in your graveyard. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(2, 2), DeliriumCondition.getInstance(), + "Delirium — Enchanted creature gets an additional +2/+2 as long as you have no cards in hand"))); + } + + public StrangeAugmentation(final StrangeAugmentation card) { + super(card); + } + + @Override + public StrangeAugmentation copy() { + return new StrangeAugmentation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/SuccumbToTemptation.java b/Mage.Sets/src/mage/sets/eldritchmoon/SuccumbToTemptation.java new file mode 100644 index 0000000000..5a014740a0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/SuccumbToTemptation.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.eldritchmoon; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class SuccumbToTemptation extends CardImpl { + + public SuccumbToTemptation(UUID ownerId) { + super(ownerId, 107, "Succumb to Temptation", Rarity.COMMON, new CardType[]{}, "{1}{B}{B}"); + this.expansionSetCode = "EMN"; + this.supertype.add("Insant"); + + // You draw two cards and you lose 2 life. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); + Effect effect = new LoseLifeSourceControllerEffect(2); + effect.setText("and you lose 2 life"); + this.getSpellAbility().addEffect(effect); + } + + public SuccumbToTemptation(final SuccumbToTemptation card) { + super(card); + } + + @Override + public SuccumbToTemptation copy() { + return new SuccumbToTemptation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/ThrabenFoulbloods.java b/Mage.Sets/src/mage/sets/eldritchmoon/ThrabenFoulbloods.java new file mode 100644 index 0000000000..24b5623508 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/ThrabenFoulbloods.java @@ -0,0 +1,75 @@ +/* + * 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.eldritchmoon; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DeliriumCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class ThrabenFoulbloods extends CardImpl { + + public ThrabenFoulbloods(UUID ownerId) { + super(ownerId, 108, "Thraben Foulbloods", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.expansionSetCode = "EMN"; + this.subtype.add("Zombie"); + this.subtype.add("Hound"); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Delirium — Thraben Foulbloods gets +1/+1 and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.) + ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), DeliriumCondition.getInstance(), "Delirium — {this} gets +1/+1"); + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); + ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect(new MenaceAbility()), DeliriumCondition.getInstance(), + "and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.)")); + this.addAbility(ability); + } + + public ThrabenFoulbloods(final ThrabenFoulbloods card) { + super(card); + } + + @Override + public ThrabenFoulbloods copy() { + return new ThrabenFoulbloods(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/VampireCutthroat.java b/Mage.Sets/src/mage/sets/eldritchmoon/VampireCutthroat.java new file mode 100644 index 0000000000..9b69fd448c --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/VampireCutthroat.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.eldritchmoon; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.SkulkAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class VampireCutthroat extends CardImpl { + + public VampireCutthroat(UUID ownerId) { + super(ownerId, 110, "Vampire Cutthroat", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{B}"); + this.expansionSetCode = "EMN"; + this.subtype.add("Vampire"); + this.subtype.add("Rogue"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Skulk + this.addAbility(new SkulkAbility()); + // Lifelink + this.addAbility(LifelinkAbility.getInstance()); + } + + public VampireCutthroat(final VampireCutthroat card) { + super(card); + } + + @Override + public VampireCutthroat copy() { + return new VampireCutthroat(this); + } +} diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/WeirdedVampire.java b/Mage.Sets/src/mage/sets/eldritchmoon/WeirdedVampire.java new file mode 100644 index 0000000000..2aa2aa7f81 --- /dev/null +++ b/Mage.Sets/src/mage/sets/eldritchmoon/WeirdedVampire.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.eldritchmoon; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.keyword.MadnessAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class WeirdedVampire extends CardImpl { + + public WeirdedVampire(UUID ownerId) { + super(ownerId, 113, "Weirded Vampire", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{B}"); + this.expansionSetCode = "EMN"; + this.subtype.add("Vampire"); + this.subtype.add("Horror"); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Madness {2}{B} + this.addAbility(new MadnessAbility(this, new ManaCostsImpl("{2}{B}"))); + } + + public WeirdedVampire(final WeirdedVampire card) { + super(card); + } + + @Override + public WeirdedVampire copy() { + return new WeirdedVampire(this); + } +}