From c9f7e916e48d94ab96b0305736d12ed896cba03a Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 27 May 2025 07:49:43 -0400 Subject: [PATCH] remove filter constructors for TargetArtifactPermanent --- Mage.Sets/src/mage/cards/c/Crush.java | 10 ++++---- Mage.Sets/src/mage/cards/d/Detonate.java | 3 ++- Mage.Sets/src/mage/cards/d/DustToDust.java | 10 ++++---- Mage.Sets/src/mage/cards/g/GremlinMine.java | 11 ++++----- .../src/mage/cards/h/HyperionBlacksmith.java | 11 ++++----- .../src/mage/cards/k/KukemssaPirates.java | 4 ++-- .../src/mage/cards/l/LifecraftAwakening.java | 6 ++--- .../src/mage/cards/m/MagusOfTheUnseen.java | 23 +++++++++---------- Mage.Sets/src/mage/cards/s/SalvageTrader.java | 15 +++++++----- .../src/mage/cards/s/SonicScrewdriver.java | 4 ++-- .../src/mage/cards/s/StrikeTeamCommando.java | 10 ++++---- Mage.Sets/src/mage/cards/t/Touchstone.java | 11 ++++----- .../src/mage/cards/t/TragicArrogance.java | 11 ++++----- Mage.Sets/src/mage/cards/v/Vandalblast.java | 4 ++-- .../src/mage/cards/x/XenicPoltergeist.java | 8 +++---- .../abilities/keyword/ModularAbility.java | 6 ++--- .../common/TargetArtifactPermanent.java | 11 +-------- 17 files changed, 73 insertions(+), 85 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/Crush.java b/Mage.Sets/src/mage/cards/c/Crush.java index 1db0441dcf5..49691ca1b6e 100644 --- a/Mage.Sets/src/mage/cards/c/Crush.java +++ b/Mage.Sets/src/mage/cards/c/Crush.java @@ -1,17 +1,17 @@ package mage.cards.c; -import java.util.UUID; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.Predicates; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author North */ public final class Crush extends CardImpl { @@ -23,10 +23,10 @@ public final class Crush extends CardImpl { } public Crush(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}"); + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}"); - this.getSpellAbility().addTarget(new TargetArtifactPermanent(filter)); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); } diff --git a/Mage.Sets/src/mage/cards/d/Detonate.java b/Mage.Sets/src/mage/cards/d/Detonate.java index 042ab4be4c1..0db0424ccf4 100644 --- a/Mage.Sets/src/mage/cards/d/Detonate.java +++ b/Mage.Sets/src/mage/cards/d/Detonate.java @@ -7,6 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterArtifactPermanent; +import mage.target.TargetPermanent; import mage.target.common.TargetArtifactPermanent; import mage.target.targetadjustment.XManaValueTargetAdjuster; @@ -22,7 +23,7 @@ public final class Detonate extends CardImpl { // Destroy target artifact with converted mana cost X. It can't be regenerated. Detonate deals X damage to that artifact's controller. this.getSpellAbility().addEffect(new DestroyTargetEffect(true)); - this.getSpellAbility().addTarget(new TargetArtifactPermanent(new FilterArtifactPermanent("artifact with mana value X"))); + this.getSpellAbility().addTarget(new TargetPermanent(new FilterArtifactPermanent("artifact with mana value X"))); this.getSpellAbility().addEffect(new DamageTargetControllerEffect(GetXValue.instance, "artifact")); this.getSpellAbility().addTarget(new TargetArtifactPermanent()); this.getSpellAbility().setTargetAdjuster(new XManaValueTargetAdjuster()); diff --git a/Mage.Sets/src/mage/cards/d/DustToDust.java b/Mage.Sets/src/mage/cards/d/DustToDust.java index 1cdea568ffe..c3d96c41ce4 100644 --- a/Mage.Sets/src/mage/cards/d/DustToDust.java +++ b/Mage.Sets/src/mage/cards/d/DustToDust.java @@ -1,26 +1,24 @@ - package mage.cards.d; -import java.util.UUID; import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.filter.common.FilterArtifactPermanent; import mage.target.common.TargetArtifactPermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class DustToDust extends CardImpl { public DustToDust(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{W}{W}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}{W}"); // Exile two target artifacts. this.getSpellAbility().addEffect(new ExileTargetEffect()); - this.getSpellAbility().addTarget(new TargetArtifactPermanent(2, 2, new FilterArtifactPermanent("artifacts"), false)); + this.getSpellAbility().addTarget(new TargetArtifactPermanent(2)); } private DustToDust(final DustToDust card) { diff --git a/Mage.Sets/src/mage/cards/g/GremlinMine.java b/Mage.Sets/src/mage/cards/g/GremlinMine.java index 6f6cb61a922..cf095bcd157 100644 --- a/Mage.Sets/src/mage/cards/g/GremlinMine.java +++ b/Mage.Sets/src/mage/cards/g/GremlinMine.java @@ -1,7 +1,6 @@ package mage.cards.g; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -15,17 +14,17 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.Predicates; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author North */ public final class GremlinMine extends CardImpl { @@ -45,13 +44,13 @@ public final class GremlinMine extends CardImpl { Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(4, "it"), new ManaCostsImpl<>("{1}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filterCreature)); + ability.addTarget(new TargetPermanent(filterCreature)); this.addAbility(ability); // {1}, {tap}, Sacrifice Gremlin Mine: Remove up to four charge counters from target noncreature artifact. ability = new SimpleActivatedAbility(new GremlinMineEffect(), new ManaCostsImpl<>("{1}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filterNonCreature)); + ability.addTarget(new TargetPermanent(filterNonCreature)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java b/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java index d0f32ace70d..72d43bac2c7 100644 --- a/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java +++ b/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java @@ -1,7 +1,6 @@ package mage.cards.h; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -12,12 +11,12 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author fireshoes */ public final class HyperionBlacksmith extends CardImpl { @@ -29,7 +28,7 @@ public final class HyperionBlacksmith extends CardImpl { } public HyperionBlacksmith(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); @@ -37,7 +36,7 @@ public final class HyperionBlacksmith extends CardImpl { // {tap}: You may tap or untap target artifact an opponent controls. Ability ability = new SimpleActivatedAbility(new MayTapOrUntapTargetEffect(), new TapSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/k/KukemssaPirates.java b/Mage.Sets/src/mage/cards/k/KukemssaPirates.java index 6e063d28208..b493a7546d6 100644 --- a/Mage.Sets/src/mage/cards/k/KukemssaPirates.java +++ b/Mage.Sets/src/mage/cards/k/KukemssaPirates.java @@ -13,7 +13,7 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.permanent.DefendingPlayerControlsSourceAttackingPredicate; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; import java.util.UUID; @@ -39,7 +39,7 @@ public final class KukemssaPirates extends CardImpl { // Whenever Kukemssa Pirates attacks and isn't blocked, you may gain control of target artifact defending player controls. If you do, Kukemssa Pirates assigns no combat damage this turn. Ability ability = new AttacksAndIsNotBlockedTriggeredAbility(new GainControlTargetEffect(Duration.Custom), true); ability.addEffect(new AssignNoCombatDamageSourceEffect(Duration.EndOfTurn, true)); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java b/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java index 14b6adf5ddb..90f7b7c73de 100644 --- a/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java +++ b/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java @@ -16,13 +16,12 @@ import mage.filter.common.FilterArtifactPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.TokenImpl; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; import mage.target.targetpointer.FixedTarget; import java.util.UUID; /** - * * @author fireshoes */ public final class LifecraftAwakening extends CardImpl { @@ -40,7 +39,7 @@ public final class LifecraftAwakening extends CardImpl { getSpellAbility().addEffect(new AddCountersTargetEffect( CounterType.P1P1.createInstance(), GetXValue.instance ).setText("put X +1/+1 counters on target artifact you control")); - getSpellAbility().addTarget(new TargetArtifactPermanent(filter)); + getSpellAbility().addTarget(new TargetPermanent(filter)); getSpellAbility().addEffect(new LifecraftAwakeningEffect()); } @@ -94,6 +93,7 @@ class LifecraftAwakeningToken extends TokenImpl { this.power = new MageInt(0); this.toughness = new MageInt(0); } + private LifecraftAwakeningToken(final LifecraftAwakeningToken token) { super(token); } diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java b/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java index 54aeccaada4..585af1075b4 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java @@ -1,7 +1,6 @@ package mage.cards.m; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; @@ -18,29 +17,29 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author emerald000 */ public final class MagusOfTheUnseen extends CardImpl { - + private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact an opponent controls"); + static { filter.add(TargetController.OPPONENT.getControllerPredicate()); } public MagusOfTheUnseen(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); @@ -50,7 +49,7 @@ public final class MagusOfTheUnseen extends CardImpl { // {1}{U}, {tap}: Untap target artifact an opponent controls and gain control of it until end of turn. It gains haste until end of turn. When you lose control of the artifact, tap it. Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new ManaCostsImpl<>("{1}{U}")); ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); Effect effect = new GainControlTargetEffect(Duration.EndOfTurn); effect.setText("and gain control of it until end of turn. "); ability.addEffect(effect); @@ -88,15 +87,15 @@ class MagusOfTheUnseenDelayedTriggeredAbility extends DelayedTriggeredAbility { @Override public boolean checkTrigger(GameEvent event, Game game) { - return event.getPlayerId().equals(controllerId) + return event.getPlayerId().equals(controllerId) && event.getTargetId().equals(this.getEffects().get(0).getTargetPointer().getFirst(game, this)); } - + @Override public MagusOfTheUnseenDelayedTriggeredAbility copy() { return new MagusOfTheUnseenDelayedTriggeredAbility(this); } - + @Override public String getRule() { return "When you lose control of the artifact, tap it"; diff --git a/Mage.Sets/src/mage/cards/s/SalvageTrader.java b/Mage.Sets/src/mage/cards/s/SalvageTrader.java index 10e7253c9cf..cd9f7dac8e7 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageTrader.java +++ b/Mage.Sets/src/mage/cards/s/SalvageTrader.java @@ -1,6 +1,5 @@ package mage.cards.s; -import java.util.*; import mage.MageInt; import mage.MageItem; import mage.abilities.Ability; @@ -9,17 +8,21 @@ import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.TargetController; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.ObjectSourcePlayer; import mage.filter.predicate.ObjectSourcePlayerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.stack.StackObject; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author NinthWorld */ public final class SalvageTrader extends CardImpl { @@ -38,11 +41,11 @@ public final class SalvageTrader extends CardImpl { new TapSourceCost()); FilterArtifactPermanent filterYou = new FilterArtifactPermanent("artifact you control"); filterYou.add(TargetController.YOU.getControllerPredicate()); - ability.addTarget(new TargetArtifactPermanent(filterYou)); + ability.addTarget(new TargetPermanent(filterYou)); FilterArtifactPermanent filterOpponent = new FilterArtifactPermanent("artifact an opponent controls with the same casting cost as your targeted artifact"); filterOpponent.add(TargetController.OPPONENT.getControllerPredicate()); filterOpponent.add(new SameCastingCostPredicate()); - ability.addTarget(new TargetArtifactPermanent(filterOpponent)); + ability.addTarget(new TargetPermanent(filterOpponent)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SonicScrewdriver.java b/Mage.Sets/src/mage/cards/s/SonicScrewdriver.java index bd7709073a4..8096c3e3733 100644 --- a/Mage.Sets/src/mage/cards/s/SonicScrewdriver.java +++ b/Mage.Sets/src/mage/cards/s/SonicScrewdriver.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -42,7 +42,7 @@ public final class SonicScrewdriver extends CardImpl { new GenericManaCost(1) ); ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); // {2}, {T}: Scry 1. diff --git a/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java b/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java index 286968a9a20..a867cef6ad8 100644 --- a/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java +++ b/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java @@ -1,7 +1,6 @@ package mage.cards.s; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; @@ -14,10 +13,11 @@ import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author Styxo */ public final class StrikeTeamCommando extends CardImpl { @@ -29,7 +29,7 @@ public final class StrikeTeamCommando extends CardImpl { } public StrikeTeamCommando(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}{G/W}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G/W}{G/W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.REBEL); this.power = new MageInt(3); @@ -37,7 +37,7 @@ public final class StrikeTeamCommando extends CardImpl { // When Strike Team Commando enters the battlefield, you may destroy target artifact without spaceflight. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/Touchstone.java b/Mage.Sets/src/mage/cards/t/Touchstone.java index 2b2157e6116..2d109a7ceaa 100644 --- a/Mage.Sets/src/mage/cards/t/Touchstone.java +++ b/Mage.Sets/src/mage/cards/t/Touchstone.java @@ -1,7 +1,6 @@ package mage.cards.t; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; @@ -10,12 +9,12 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author LoneFox */ public final class Touchstone extends CardImpl { @@ -27,11 +26,11 @@ public final class Touchstone extends CardImpl { } public Touchstone(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // {tap}: Tap target artifact you don't control. Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new TapSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TragicArrogance.java b/Mage.Sets/src/mage/cards/t/TragicArrogance.java index 2a7322518e5..bb92d2fa3ca 100644 --- a/Mage.Sets/src/mage/cards/t/TragicArrogance.java +++ b/Mage.Sets/src/mage/cards/t/TragicArrogance.java @@ -1,8 +1,5 @@ package mage.cards.t; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -20,10 +17,12 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; import mage.target.TargetPermanent; -import mage.target.common.TargetArtifactPermanent; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; /** - * * @author LevelX2 */ public final class TragicArrogance extends CardImpl { @@ -71,7 +70,7 @@ class TragicArroganceEffect extends OneShotEffect { if (player != null) { FilterArtifactPermanent filterArtifactPermanent = new FilterArtifactPermanent("an artifact of " + player.getName()); filterArtifactPermanent.add(new ControllerIdPredicate(playerId)); - Target target1 = new TargetArtifactPermanent(1, 1, filterArtifactPermanent, true); + Target target1 = new TargetPermanent(1, 1, filterArtifactPermanent, true); FilterCreaturePermanent filterCreaturePermanent = new FilterCreaturePermanent("a creature of " + player.getName()); filterCreaturePermanent.add(new ControllerIdPredicate(playerId)); diff --git a/Mage.Sets/src/mage/cards/v/Vandalblast.java b/Mage.Sets/src/mage/cards/v/Vandalblast.java index 580d56d1bd4..ec07ccff7b4 100644 --- a/Mage.Sets/src/mage/cards/v/Vandalblast.java +++ b/Mage.Sets/src/mage/cards/v/Vandalblast.java @@ -9,7 +9,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; import mage.filter.common.FilterArtifactPermanent; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; import java.util.UUID; @@ -28,7 +28,7 @@ public final class Vandalblast extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // Destroy target artifact you don't control. - this.getSpellAbility().addTarget(new TargetArtifactPermanent(FILTER)); + this.getSpellAbility().addTarget(new TargetPermanent(FILTER)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); // Overload {4}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.") diff --git a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java index 90e0f410a77..ba907743169 100644 --- a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java +++ b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java @@ -1,7 +1,6 @@ package mage.cards.x; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -14,10 +13,11 @@ import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.Predicates; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; /** - * * @author MarcoMarin */ public final class XenicPoltergeist extends CardImpl { @@ -36,7 +36,7 @@ public final class XenicPoltergeist extends CardImpl { // {tap}: Until your next upkeep, target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost. Ability ability = new SimpleActivatedAbility(new XenicPoltergeistEffect(), new TapSourceCost()); - ability.addTarget(new TargetArtifactPermanent(filter)); + ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java b/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java index 30d4caf5fdd..f11bb84d88c 100644 --- a/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/ModularAbility.java @@ -17,7 +17,7 @@ import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetArtifactPermanent; +import mage.target.TargetPermanent; import mage.util.CardUtil; import java.util.ArrayList; @@ -53,7 +53,7 @@ public class ModularAbility extends DiesSourceTriggeredAbility { public ModularAbility(Card card, int amount, boolean sunburst) { super(new ModularDistributeCounterEffect(), true); - this.addTarget(new TargetArtifactPermanent(filter)); + this.addTarget(new TargetPermanent(filter)); this.amount = amount; this.sunburst = sunburst; if (sunburst) { @@ -91,7 +91,7 @@ public class ModularAbility extends DiesSourceTriggeredAbility { public String getRule() { if (sunburst) { return "Modular—Sunburst (This enters the battlefield with a +1/+1 counter on it for each" - + " color of mana spent to cast it. When it dies, you may put its +1/+1 counters on target artifact creature.)"; + + " color of mana spent to cast it. When it dies, you may put its +1/+1 counters on target artifact creature.)"; } else { return "Modular " + amount + " (This creature enters the battlefield with " + CardUtil.getOneOneCountersText(amount) + diff --git a/Mage/src/main/java/mage/target/common/TargetArtifactPermanent.java b/Mage/src/main/java/mage/target/common/TargetArtifactPermanent.java index 38387696f36..bdb192d9c57 100644 --- a/Mage/src/main/java/mage/target/common/TargetArtifactPermanent.java +++ b/Mage/src/main/java/mage/target/common/TargetArtifactPermanent.java @@ -1,7 +1,6 @@ package mage.target.common; import mage.filter.StaticFilters; -import mage.filter.common.FilterArtifactPermanent; import mage.target.TargetPermanent; /** @@ -18,19 +17,11 @@ public class TargetArtifactPermanent extends TargetPermanent { } public TargetArtifactPermanent(int minNumTargets, int maxNumTargets) { - this(minNumTargets, maxNumTargets, + super(minNumTargets, maxNumTargets, (maxNumTargets > 1 ? StaticFilters.FILTER_PERMANENT_ARTIFACTS : StaticFilters.FILTER_PERMANENT_ARTIFACT), false); } - public TargetArtifactPermanent(FilterArtifactPermanent filter) { - this(1, 1, filter, false); - } - - public TargetArtifactPermanent(int minNumTargets, int maxNumTargets, FilterArtifactPermanent filter, boolean notTarget) { - super(minNumTargets, maxNumTargets, filter, notTarget); - } - protected TargetArtifactPermanent(final TargetArtifactPermanent target) { super(target); }