From 3d823233bb2949010d676a8361d5fa1b1b816b4e Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 31 Jan 2025 10:34:30 -0500 Subject: [PATCH] [DFT] Implement Maximum Overdrive --- .../src/mage/cards/m/MaximumOverdrive.java | 40 +++++++++++++++++++ Mage.Sets/src/mage/sets/Aetherdrift.java | 1 + 2 files changed, 41 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MaximumOverdrive.java diff --git a/Mage.Sets/src/mage/cards/m/MaximumOverdrive.java b/Mage.Sets/src/mage/cards/m/MaximumOverdrive.java new file mode 100644 index 00000000000..66a48db4612 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MaximumOverdrive.java @@ -0,0 +1,40 @@ +package mage.cards.m; + +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class MaximumOverdrive extends CardImpl { + + public MaximumOverdrive(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); + + // Put a +1/+1 counter on target creature. It gains deathtouch and indestructible until end of turn. + this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance())); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance()) + .setText("it gains deathtouch")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance()) + .setText("and indestructible until end of turn")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + private MaximumOverdrive(final MaximumOverdrive card) { + super(card); + } + + @Override + public MaximumOverdrive copy() { + return new MaximumOverdrive(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Aetherdrift.java b/Mage.Sets/src/mage/sets/Aetherdrift.java index 8662c3bdc6d..b98931eb8ac 100644 --- a/Mage.Sets/src/mage/sets/Aetherdrift.java +++ b/Mage.Sets/src/mage/sets/Aetherdrift.java @@ -98,6 +98,7 @@ public final class Aetherdrift extends ExpansionSet { cards.add(new SetCardInfo("Lightshield Parry", 19, Rarity.COMMON, mage.cards.l.LightshieldParry.class)); cards.add(new SetCardInfo("Marketback Walker", 235, Rarity.RARE, mage.cards.m.MarketbackWalker.class)); cards.add(new SetCardInfo("Marshals' Pathcruiser", 236, Rarity.UNCOMMON, mage.cards.m.MarshalsPathcruiser.class)); + cards.add(new SetCardInfo("Maximum Overdrive", 96, Rarity.COMMON, mage.cards.m.MaximumOverdrive.class)); cards.add(new SetCardInfo("Midnight Mangler", 50, Rarity.COMMON, mage.cards.m.MidnightMangler.class)); cards.add(new SetCardInfo("Mindspring Merfolk", 51, Rarity.RARE, mage.cards.m.MindspringMerfolk.class)); cards.add(new SetCardInfo("Molt Tender", 171, Rarity.UNCOMMON, mage.cards.m.MoltTender.class));