From ea974d505714bb12eac30eaab2d60dde8586a3c0 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 23 Jan 2026 12:49:01 -0500 Subject: [PATCH] [TMT] Implement Leatherhead, Swamp Stalker --- .../mage/cards/l/LeatherheadSwampStalker.java | 62 +++++++++++++++++++ .../mage/sets/TeenageMutantNinjaTurtles.java | 1 + 2 files changed, 63 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/l/LeatherheadSwampStalker.java diff --git a/Mage.Sets/src/mage/cards/l/LeatherheadSwampStalker.java b/Mage.Sets/src/mage/cards/l/LeatherheadSwampStalker.java new file mode 100644 index 00000000000..4ebeb4adfad --- /dev/null +++ b/Mage.Sets/src/mage/cards/l/LeatherheadSwampStalker.java @@ -0,0 +1,62 @@ +package mage.cards.l; + +import mage.MageInt; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.EntersBattlefieldWithCountersAbility; +import mage.abilities.common.delayed.ReflexiveTriggeredAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.DoWhenCostPaid; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.counters.CounterType; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; +import mage.target.targetadjustment.ThatPlayerControlsTargetAdjuster; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class LeatherheadSwampStalker extends CardImpl { + + public LeatherheadSwampStalker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.CROCODILE); + this.subtype.add(SubType.MUTANT); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Leatherhead enters with a hexproof counter on her. + this.addAbility(new EntersBattlefieldWithCountersAbility(CounterType.HEXPROOF.createInstance())); + + // Whenever Leatherhead deals combat damage to a player, you may remove a counter from her. When you do, destroy target artifact or enchantment that player controls. + ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new DestroyTargetEffect() + .setText("destroy target artifact or enchantment that player controls"), false); + ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); + ability.setTargetAdjuster(new ThatPlayerControlsTargetAdjuster()); + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DoWhenCostPaid( + ability, new RemoveCountersSourceCost(1), "Remove a counter?" + ))); + } + + private LeatherheadSwampStalker(final LeatherheadSwampStalker card) { + super(card); + } + + @Override + public LeatherheadSwampStalker copy() { + return new LeatherheadSwampStalker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TeenageMutantNinjaTurtles.java b/Mage.Sets/src/mage/sets/TeenageMutantNinjaTurtles.java index 318dd125fe5..fcb861897f1 100644 --- a/Mage.Sets/src/mage/sets/TeenageMutantNinjaTurtles.java +++ b/Mage.Sets/src/mage/sets/TeenageMutantNinjaTurtles.java @@ -46,6 +46,7 @@ public final class TeenageMutantNinjaTurtles extends ExpansionSet { cards.add(new SetCardInfo("Krang, Master Mind", 43, Rarity.RARE, mage.cards.k.KrangMasterMind.class)); cards.add(new SetCardInfo("Krang, Utrom Warlord", 175, Rarity.MYTHIC, mage.cards.k.KrangUtromWarlord.class)); cards.add(new SetCardInfo("Leader's Talent", 13, Rarity.RARE, mage.cards.l.LeadersTalent.class)); + cards.add(new SetCardInfo("Leatherhead, Swamp Stalker", 117, Rarity.RARE, mage.cards.l.LeatherheadSwampStalker.class)); cards.add(new SetCardInfo("Leonardo's Technique", 18, Rarity.RARE, mage.cards.l.LeonardosTechnique.class)); cards.add(new SetCardInfo("Leonardo, Cutting Edge", 15, Rarity.RARE, mage.cards.l.LeonardoCuttingEdge.class)); cards.add(new SetCardInfo("Leonardo, Sewer Samurai", 17, Rarity.MYTHIC, mage.cards.l.LeonardoSewerSamurai.class, NON_FULL_USE_VARIOUS));