From 2ee7f8889bb83256b006233234665991c2cd75a0 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Fri, 18 Jul 2025 19:12:34 +0200 Subject: [PATCH] implement [EOE] Mental Modulation --- .../src/mage/cards/m/MentalModulation.java | 49 +++++++++++++++++++ Mage.Sets/src/mage/sets/EdgeOfEternities.java | 1 + 2 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MentalModulation.java diff --git a/Mage.Sets/src/mage/cards/m/MentalModulation.java b/Mage.Sets/src/mage/cards/m/MentalModulation.java new file mode 100644 index 00000000000..7b5249369e5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MentalModulation.java @@ -0,0 +1,49 @@ +package mage.cards.m; + +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.MyTurnCondition; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class MentalModulation extends CardImpl { + + public MentalModulation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{W}{B}"); + + // This spell costs {1} less to cast during your turn. + Ability ability = new SimpleStaticAbility( + Zone.ALL, new SpellCostReductionSourceEffect(1, MyTurnCondition.instance) + .setText("this spell costs {1} less to cast during your turn")); + ability.setRuleAtTheTop(true); + this.addAbility(ability); + + // Tap target artifact or creature. + this.getSpellAbility().addEffect(new TapTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE)); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); + } + + private MentalModulation(final MentalModulation card) { + super(card); + } + + @Override + public MentalModulation copy() { + return new MentalModulation(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index 31c3263e60f..3260753baaa 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -189,6 +189,7 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Meltstrider Eulogist", 197, Rarity.UNCOMMON, mage.cards.m.MeltstriderEulogist.class)); cards.add(new SetCardInfo("Meltstrider's Resolve", 199, Rarity.UNCOMMON, mage.cards.m.MeltstridersResolve.class)); cards.add(new SetCardInfo("Memorial Team Leader", 144, Rarity.UNCOMMON, mage.cards.m.MemorialTeamLeader.class)); + cards.add(new SetCardInfo("Mental Modulation", 67, Rarity.COMMON, mage.cards.m.MentalModulation.class)); cards.add(new SetCardInfo("Mightform Harmonizer", 200, Rarity.RARE, mage.cards.m.MightformHarmonizer.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Mightform Harmonizer", 297, Rarity.RARE, mage.cards.m.MightformHarmonizer.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Mm'menon, Uthros Exile", 221, Rarity.UNCOMMON, mage.cards.m.MmmenonUthrosExile.class));