From 2bb2fc1c868febcd95ac47026e74067b59f8b3dc Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Fri, 31 May 2019 21:48:49 -0400 Subject: [PATCH] Implemented Graveshifter --- Mage.Sets/src/mage/cards/g/Graveshifter.java | 46 ++++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons.java | 1 + 2 files changed, 47 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/Graveshifter.java diff --git a/Mage.Sets/src/mage/cards/g/Graveshifter.java b/Mage.Sets/src/mage/cards/g/Graveshifter.java new file mode 100644 index 00000000000..279b8397c0f --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/Graveshifter.java @@ -0,0 +1,46 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.keyword.ChangelingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class Graveshifter extends CardImpl { + + public Graveshifter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.subtype.add(SubType.SHAPESHIFTER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Changeling + this.addAbility(ChangelingAbility.getInstance()); + + // When Graveshifter enters the battlefield, you may return target creature card from your graveyard to your hand. + Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true); + ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); + this.addAbility(ability); + } + + private Graveshifter(final Graveshifter card) { + super(card); + } + + @Override + public Graveshifter copy() { + return new Graveshifter(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons.java b/Mage.Sets/src/mage/sets/ModernHorizons.java index 2046ac50991..480a5cf5e38 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons.java @@ -105,6 +105,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Goblin Oriflamme", 130, Rarity.UNCOMMON, mage.cards.g.GoblinOriflamme.class)); cards.add(new SetCardInfo("Goblin War Party", 131, Rarity.COMMON, mage.cards.g.GoblinWarParty.class)); cards.add(new SetCardInfo("Good-Fortune Unicorn", 201, Rarity.UNCOMMON, mage.cards.g.GoodFortuneUnicorn.class)); + cards.add(new SetCardInfo("Graveshifter", 94, Rarity.UNCOMMON, mage.cards.g.Graveshifter.class)); cards.add(new SetCardInfo("Hall of Heliod's Generosity", 241, Rarity.RARE, mage.cards.h.HallOfHeliodsGenerosity.class)); cards.add(new SetCardInfo("Headless Specter", 95, Rarity.COMMON, mage.cards.h.HeadlessSpecter.class)); cards.add(new SetCardInfo("Hexdrinker", 168, Rarity.MYTHIC, mage.cards.h.Hexdrinker.class));