From 7969ffb548bf0a3de31cea5a16b47ccdfaa02b55 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Wed, 14 Aug 2024 22:46:52 -0400 Subject: [PATCH] refactor: cleanup unneeded method (closes #12547) --- Mage.Sets/src/mage/cards/g/GiantOyster.java | 28 ++++--------------- .../target/targetpointer/TargetPointer.java | 5 ---- .../targetpointer/TargetPointerImpl.java | 13 --------- 3 files changed, 6 insertions(+), 40 deletions(-) diff --git a/Mage.Sets/src/mage/cards/g/GiantOyster.java b/Mage.Sets/src/mage/cards/g/GiantOyster.java index c4d1a745531..fd8b43557f6 100644 --- a/Mage.Sets/src/mage/cards/g/GiantOyster.java +++ b/Mage.Sets/src/mage/cards/g/GiantOyster.java @@ -51,7 +51,9 @@ public final class GiantOyster extends CardImpl { this.addAbility(new SkipUntapOptionalAbility()); // {tap}: For as long as Giant Oyster remains tapped, target tapped creature doesn't untap during its controller's untap step, and at the beginning of each of your draw steps, put a -1/-1 counter on that creature. When Giant Oyster leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GiantOysterDontUntapAsLongAsSourceTappedEffect(), new TapSourceCost()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DontUntapAsLongAsSourceTappedEffect() + .setText("For as long as {this} remains tapped, target tapped creature doesn't untap during its controller's untap step"), + new TapSourceCost()); ability.addEffect(new GiantOysterCreateDelayedTriggerEffects()); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); @@ -67,26 +69,9 @@ public final class GiantOyster extends CardImpl { } } -class GiantOysterDontUntapAsLongAsSourceTappedEffect extends DontUntapAsLongAsSourceTappedEffect { - - GiantOysterDontUntapAsLongAsSourceTappedEffect() { - super(); - staticText = "For as long as {this} remains tapped, target tapped creature doesn't untap during its controller's untap step"; - } - - private GiantOysterDontUntapAsLongAsSourceTappedEffect(final GiantOysterDontUntapAsLongAsSourceTappedEffect effect) { - super(effect); - } - - @Override - public GiantOysterDontUntapAsLongAsSourceTappedEffect copy() { - return new GiantOysterDontUntapAsLongAsSourceTappedEffect(this); - } -} - class GiantOysterCreateDelayedTriggerEffects extends OneShotEffect { - public GiantOysterCreateDelayedTriggerEffects() { + GiantOysterCreateDelayedTriggerEffects() { super(Outcome.Detriment); this.staticText = "at the beginning of each of your draw steps, put a -1/-1 counter on that creature. When {this} leaves the battlefield or becomes untapped, remove all -1/-1 counters from the creature."; } @@ -105,13 +90,12 @@ class GiantOysterCreateDelayedTriggerEffects extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); Permanent oyster = game.getPermanent(source.getSourceId()); Permanent tappedCreature = game.getPermanent(source.getFirstTarget()); - FixedTarget fixedTarget = getTargetPointer().getFirstAsFixedTarget(game, source); - if (controller == null || oyster == null || tappedCreature == null || fixedTarget == null) { + if (controller == null || oyster == null || tappedCreature == null) { return false; } Effect addCountersEffect = new AddCountersTargetEffect(CounterType.M1M1.createInstance(1)); - addCountersEffect.setTargetPointer(fixedTarget); + addCountersEffect.setTargetPointer(new FixedTarget(tappedCreature, game)); DelayedTriggeredAbility drawStepAbility = new AtTheBeginOfYourNextDrawStepDelayedTriggeredAbility(addCountersEffect, Duration.Custom, false); drawStepAbility.setControllerId(source.getControllerId()); UUID drawStepAbilityUUID = game.addDelayedTriggeredAbility(drawStepAbility, source); diff --git a/Mage/src/main/java/mage/target/targetpointer/TargetPointer.java b/Mage/src/main/java/mage/target/targetpointer/TargetPointer.java index 7626a9c5100..5ba454b23b9 100644 --- a/Mage/src/main/java/mage/target/targetpointer/TargetPointer.java +++ b/Mage/src/main/java/mage/target/targetpointer/TargetPointer.java @@ -32,11 +32,6 @@ public interface TargetPointer extends Serializable, Copyable { */ UUID getFirst(Game game, Ability source); - /** - * Return first actual target data (null on outdated targets) - */ - FixedTarget getFirstAsFixedTarget(Game game, Ability source); - TargetPointer copy(); /** diff --git a/Mage/src/main/java/mage/target/targetpointer/TargetPointerImpl.java b/Mage/src/main/java/mage/target/targetpointer/TargetPointerImpl.java index 9d991af23e9..ea2c9cbe570 100644 --- a/Mage/src/main/java/mage/target/targetpointer/TargetPointerImpl.java +++ b/Mage/src/main/java/mage/target/targetpointer/TargetPointerImpl.java @@ -1,11 +1,7 @@ package mage.target.targetpointer; -import mage.abilities.Ability; -import mage.game.Game; - import java.util.HashMap; import java.util.Map; -import java.util.UUID; /** * @author JayDi85 @@ -57,13 +53,4 @@ public abstract class TargetPointerImpl implements TargetPointer { return this; } - @Override - public final FixedTarget getFirstAsFixedTarget(Game game, Ability source) { - UUID firstId = this.getFirst(game, source); - if (firstId != null) { - return new FixedTarget(firstId, game.getState().getZoneChangeCounter(firstId)); - } - - return null; - } }