From ad7a0979ddf30bdbdd7bea0b1fc3bcf5ff288e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Krist=C3=B3f?= <20043803+balazskristof@users.noreply.github.com> Date: Wed, 19 Mar 2025 01:42:56 +0100 Subject: [PATCH] [TDM] Implement Roiling Dragonstorm (#13460) thanks for the contribution --- .../src/mage/cards/r/RoilingDragonstorm.java | 40 +++++++++++++++++++ .../src/mage/sets/TarkirDragonstorm.java | 2 + 2 files changed, 42 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RoilingDragonstorm.java diff --git a/Mage.Sets/src/mage/cards/r/RoilingDragonstorm.java b/Mage.Sets/src/mage/cards/r/RoilingDragonstorm.java new file mode 100644 index 00000000000..f1f88f8a5e8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RoilingDragonstorm.java @@ -0,0 +1,40 @@ +package mage.cards.r; + +import java.util.UUID; + +import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledPermanent; + +/** + * @author balazskristof + */ +public final class RoilingDragonstorm extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.DRAGON, "a Dragon"); + + public RoilingDragonstorm(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); + + // When this enchantment enters, draw two cards, then discard a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(2, 1))); + + // When a Dragon you control enters, return this enchantment to its owner's hand. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new ReturnToHandSourceEffect(), filter)); + } + + private RoilingDragonstorm(final RoilingDragonstorm card) { + super(card); + } + + @Override + public RoilingDragonstorm copy() { + return new RoilingDragonstorm(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index 61aa846f141..95b598294be 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -28,6 +28,8 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Mox Jasper", 246, Rarity.MYTHIC, mage.cards.m.MoxJasper.class)); cards.add(new SetCardInfo("Narset, Jeskai Waymaster", 209, Rarity.RARE, mage.cards.n.NarsetJeskaiWaymaster.class)); cards.add(new SetCardInfo("Rally the Monastery", 19, Rarity.UNCOMMON, mage.cards.r.RallyTheMonastery.class)); + cards.add(new SetCardInfo("Roiling Dragonstorm", 55, Rarity.UNCOMMON, mage.cards.r.RoilingDragonstorm.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Roiling Dragonstorm", 296, Rarity.UNCOMMON, mage.cards.r.RoilingDragonstorm.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Shiko, Paragon of the Way", 223, Rarity.MYTHIC, mage.cards.s.ShikoParagonOfTheWay.class)); cards.add(new SetCardInfo("Skirmish Rhino", 224, Rarity.UNCOMMON, mage.cards.s.SkirmishRhino.class)); cards.add(new SetCardInfo("Smile at Death", 24, Rarity.MYTHIC, mage.cards.s.SmileAtDeath.class));