From fdfe7c0d6e76b252386692eb6ec5482a76cb7cfb Mon Sep 17 00:00:00 2001 From: theelk801 Date: Mon, 31 Mar 2025 11:48:40 -0400 Subject: [PATCH] [TDM] Implement Rainveil Rejuvenator --- .../src/mage/cards/r/RainveilRejuvenator.java | 46 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 1 + 2 files changed, 47 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RainveilRejuvenator.java diff --git a/Mage.Sets/src/mage/cards/r/RainveilRejuvenator.java b/Mage.Sets/src/mage/cards/r/RainveilRejuvenator.java new file mode 100644 index 00000000000..c878316282e --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RainveilRejuvenator.java @@ -0,0 +1,46 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue; +import mage.abilities.effects.common.MillCardsControllerEffect; +import mage.abilities.mana.DynamicManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RainveilRejuvenator extends CardImpl { + + public RainveilRejuvenator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // When this creature enters, you may mill three cards. + this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(3), true)); + + // {T}: Add an amount of {G} equal to this creature's power. + this.addAbility(new DynamicManaAbility( + Mana.GreenMana(1), SourcePermanentPowerValue.NOT_NEGATIVE, "Add an amount of {G} equal to {this}'s power." + )); + } + + private RainveilRejuvenator(final RainveilRejuvenator card) { + super(card); + } + + @Override + public RainveilRejuvenator copy() { + return new RainveilRejuvenator(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index e94ce50a506..46766fc91ac 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -144,6 +144,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Plains", 277, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Poised Practitioner", 18, Rarity.COMMON, mage.cards.p.PoisedPractitioner.class)); cards.add(new SetCardInfo("Qarsi Revenant", 86, Rarity.RARE, mage.cards.q.QarsiRevenant.class)); + cards.add(new SetCardInfo("Rainveil Rejuvenator", 152, Rarity.UNCOMMON, mage.cards.r.RainveilRejuvenator.class)); cards.add(new SetCardInfo("Rakshasa's Bargain", 214, Rarity.UNCOMMON, mage.cards.r.RakshasasBargain.class)); cards.add(new SetCardInfo("Rally the Monastery", 19, Rarity.UNCOMMON, mage.cards.r.RallyTheMonastery.class)); cards.add(new SetCardInfo("Rebellious Strike", 20, Rarity.COMMON, mage.cards.r.RebelliousStrike.class));