From e040598a9cbc9ef7f6e9d669f474e2f0b96e7a64 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 27 Aug 2022 10:43:47 -0400 Subject: [PATCH] [DMU] Implemented Eerie Soultender --- .../src/mage/cards/e/EerieSoultender.java | 63 +++++++++++++++++++ Mage.Sets/src/mage/sets/DominariaUnited.java | 1 + 2 files changed, 64 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/EerieSoultender.java diff --git a/Mage.Sets/src/mage/cards/e/EerieSoultender.java b/Mage.Sets/src/mage/cards/e/EerieSoultender.java new file mode 100644 index 00000000000..2129f943320 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EerieSoultender.java @@ -0,0 +1,63 @@ +package mage.cards.e; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileSourceFromGraveCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.MillCardsControllerEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class EerieSoultender extends CardImpl { + + private static final FilterCard filter + = new FilterCreatureCard("another target creature card from your graveyard"); + + static { + filter.add(AnotherPredicate.instance); + } + + public EerieSoultender(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // When Eerie Soultender enters the battlefield, mill three cards. + this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3))); + + // {4}{B}, Exile Eerie Soultender from your graveyard: Return another target creature card from your graveyard to your hand. + Ability ability = new SimpleActivatedAbility( + Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{4}{B}") + ); + ability.addCost(new ExileSourceFromGraveCost()); + ability.addTarget(new TargetCardInYourGraveyard(filter)); + this.addAbility(ability); + } + + private EerieSoultender(final EerieSoultender card) { + super(card); + } + + @Override + public EerieSoultender copy() { + return new EerieSoultender(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index a28ca7691be..b95bbac20eb 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -74,6 +74,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Destroy Evil", 17, Rarity.COMMON, mage.cards.d.DestroyEvil.class)); cards.add(new SetCardInfo("Drag to the Bottom", 91, Rarity.RARE, mage.cards.d.DragToTheBottom.class)); cards.add(new SetCardInfo("Dragon Whelp", 120, Rarity.UNCOMMON, mage.cards.d.DragonWhelp.class)); + cards.add(new SetCardInfo("Eerie Soultender", 92, Rarity.COMMON, mage.cards.e.EerieSoultender.class)); cards.add(new SetCardInfo("Elas il-Kor, Sadistic Pilgrim", 198, Rarity.UNCOMMON, mage.cards.e.ElasIlKorSadisticPilgrim.class)); cards.add(new SetCardInfo("Electrostatic Infantry", 122, Rarity.UNCOMMON, mage.cards.e.ElectrostaticInfantry.class)); cards.add(new SetCardInfo("Elfhame Wurm", 161, Rarity.COMMON, mage.cards.e.ElfhameWurm.class));