From 134c6fceb94cc8ea5e8a9df5e64d4f7ec48f39be Mon Sep 17 00:00:00 2001 From: Muz Date: Wed, 7 Jan 2026 07:40:56 -0600 Subject: [PATCH] [ECL] Implement Disruptor of Currents (#14185) --- .../src/mage/cards/d/DisruptorOfCurrents.java | 59 +++++++++++++++++++ Mage.Sets/src/mage/sets/LorwynEclipsed.java | 2 + 2 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/d/DisruptorOfCurrents.java diff --git a/Mage.Sets/src/mage/cards/d/DisruptorOfCurrents.java b/Mage.Sets/src/mage/cards/d/DisruptorOfCurrents.java new file mode 100644 index 00000000000..06483b00a01 --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DisruptorOfCurrents.java @@ -0,0 +1,59 @@ +package mage.cards.d; + +import java.util.UUID; +import mage.MageInt; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterNonlandPermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.target.TargetPermanent; +import mage.abilities.keyword.FlashAbility; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.keyword.ConvokeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author muz + */ +public final class DisruptorOfCurrents extends CardImpl { + + private static final FilterPermanent filter = new FilterNonlandPermanent("other target nonland permanent"); + + static { + filter.add(AnotherPredicate.instance); + } + + public DisruptorOfCurrents(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); + + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // Convoke + this.addAbility(new ConvokeAbility()); + + // When this creature enters, return up to one other target nonland permanent to its owner's hand. + Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()); + ability.addTarget(new TargetPermanent(0, 1, filter)); + this.addAbility(ability); + } + + private DisruptorOfCurrents(final DisruptorOfCurrents card) { + super(card); + } + + @Override + public DisruptorOfCurrents copy() { + return new DisruptorOfCurrents(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsed.java b/Mage.Sets/src/mage/sets/LorwynEclipsed.java index 12cd930debf..9e57399d0f1 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsed.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsed.java @@ -51,6 +51,8 @@ public final class LorwynEclipsed extends ExpansionSet { cards.add(new SetCardInfo("Crossroads Watcher", 173, Rarity.COMMON, mage.cards.c.CrossroadsWatcher.class)); cards.add(new SetCardInfo("Deceit", 212, Rarity.MYTHIC, mage.cards.d.Deceit.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Deceit", 293, Rarity.MYTHIC, mage.cards.d.Deceit.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Disruptor of Currents", 303, Rarity.RARE, mage.cards.d.DisruptorOfCurrents.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Disruptor of Currents", 47, Rarity.RARE, mage.cards.d.DisruptorOfCurrents.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dose of Dawnglow", 100, Rarity.UNCOMMON, mage.cards.d.DoseOfDawnglow.class)); cards.add(new SetCardInfo("Dream Seizer", 101, Rarity.COMMON, mage.cards.d.DreamSeizer.class)); cards.add(new SetCardInfo("Eclipsed Flamekin", 219, Rarity.UNCOMMON, mage.cards.e.EclipsedFlamekin.class, NON_FULL_USE_VARIOUS));