diff --git a/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java b/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
index 006e83cc84f..a6d6e14392e 100644
--- a/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
+++ b/Mage.Sets/src/mage/cards/a/AdarkarValkyrie.java
@@ -17,8 +17,7 @@ import mage.constants.CardType;
import mage.constants.SetTargetPointer;
import mage.constants.SubType;
import mage.constants.SuperType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
/**
@@ -27,12 +26,6 @@ import mage.target.TargetPermanent;
*/
public final class AdarkarValkyrie extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public AdarkarValkyrie(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}");
this.supertype.add(SuperType.SNOW);
@@ -53,7 +46,7 @@ public final class AdarkarValkyrie extends CardImpl {
);
delayedAbility.setTriggerPhrase("When target creature other than {this} dies this turn, ");
Ability ability = new SimpleActivatedAbility(new CreateDelayedTriggeredAbilityEffect(delayedAbility), new TapSourceCost());
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AkroanConscriptor.java b/Mage.Sets/src/mage/cards/a/AkroanConscriptor.java
index 0c960f0b56c..519e4086dff 100644
--- a/Mage.Sets/src/mage/cards/a/AkroanConscriptor.java
+++ b/Mage.Sets/src/mage/cards/a/AkroanConscriptor.java
@@ -15,8 +15,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -25,12 +24,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class AkroanConscriptor extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public AkroanConscriptor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}");
this.subtype.add(SubType.HUMAN);
@@ -47,7 +40,7 @@ public final class AkroanConscriptor extends CardImpl {
effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn);
effect.setText("It gains haste until end of turn");
ability.addEffect(effect);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AngelOfCondemnation.java b/Mage.Sets/src/mage/cards/a/AngelOfCondemnation.java
index 270a7c8c17d..8dc2b1e9770 100644
--- a/Mage.Sets/src/mage/cards/a/AngelOfCondemnation.java
+++ b/Mage.Sets/src/mage/cards/a/AngelOfCondemnation.java
@@ -20,8 +20,7 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -35,12 +34,6 @@ import java.util.UUID;
*/
public final class AngelOfCondemnation extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public AngelOfCondemnation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
@@ -59,14 +52,14 @@ public final class AngelOfCondemnation extends CardImpl {
new AngelOfCondemnationExileUntilEOTEffect(), new ManaCostsImpl<>("{2}{W}")
);
ability.addCost(new TapSourceCost());
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// {2}{W}, {T}, Exert Angel of Condemnation: Exile another target creature until Angel of Condemnation leaves the battlefield.
ability = new SimpleActivatedAbility(new ExileUntilSourceLeavesEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new ExertSourceCost());
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility()));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AtzocanArcher.java b/Mage.Sets/src/mage/cards/a/AtzocanArcher.java
index 44df92aefba..4e7ca252211 100644
--- a/Mage.Sets/src/mage/cards/a/AtzocanArcher.java
+++ b/Mage.Sets/src/mage/cards/a/AtzocanArcher.java
@@ -12,8 +12,7 @@ import mage.abilities.keyword.ReachAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -22,12 +21,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class AtzocanArcher extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public AtzocanArcher(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
@@ -44,7 +37,7 @@ public final class AtzocanArcher extends CardImpl {
effect.setText("you may have it fight another target creature. " +
"(Each deals damage equal to its power to the other.)");
Ability ability = new EntersBattlefieldTriggeredAbility(effect, true);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/a/AvacynGuardianAngel.java b/Mage.Sets/src/mage/cards/a/AvacynGuardianAngel.java
index 02a528cc4ee..67987e408ae 100644
--- a/Mage.Sets/src/mage/cards/a/AvacynGuardianAngel.java
+++ b/Mage.Sets/src/mage/cards/a/AvacynGuardianAngel.java
@@ -14,8 +14,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.choices.ChoiceColor;
import mage.constants.*;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
@@ -29,12 +28,6 @@ import java.util.UUID;
*/
public final class AvacynGuardianAngel extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public AvacynGuardianAngel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}{W}");
this.supertype.add(SuperType.LEGENDARY);
@@ -51,7 +44,7 @@ public final class AvacynGuardianAngel extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new AvacynGuardianAngelPreventToCreatureEffect(),
new ManaCostsImpl<>("{1}{W}"));
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice.
diff --git a/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java b/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java
index 5b720ede03f..d04e0026606 100644
--- a/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java
+++ b/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java
@@ -39,7 +39,7 @@ public final class CephalidFacetaker extends CardImpl {
Ability ability = new BeginningOfCombatTriggeredAbility(
new CephalidFacetakerEffect(), TargetController.YOU, true
);
- ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/c/CherishedHatchling.java b/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
index fa22c05462f..3626f6401c6 100644
--- a/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
+++ b/Mage.Sets/src/mage/cards/c/CherishedHatchling.java
@@ -16,8 +16,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterCard;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.Spell;
@@ -62,12 +61,6 @@ public final class CherishedHatchling extends CardImpl {
class CherishedHatchlingTriggeredAbility extends DelayedTriggeredAbility {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public CherishedHatchlingTriggeredAbility() {
super(getEffectToAdd(), Duration.EndOfTurn, false);
setTriggerPhrase("whenever you cast a Dinosaur spell this turn, ");
@@ -75,7 +68,7 @@ class CherishedHatchlingTriggeredAbility extends DelayedTriggeredAbility {
private static Effect getEffectToAdd() {
Ability abilityToAdd = new EntersBattlefieldTriggeredAbility(new FightTargetSourceEffect().setText("you may have it fight another target creature"), true);
- abilityToAdd.addTarget(new TargetCreaturePermanent(filter));
+ abilityToAdd.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
Effect effect = new GainAbilityTargetEffect(abilityToAdd, Duration.EndOfTurn,
"it gains \"When this creature enters the battlefield, you may have it fight another target creature.\"", true);
return effect;
diff --git a/Mage.Sets/src/mage/cards/d/DeadlyDancer.java b/Mage.Sets/src/mage/cards/d/DeadlyDancer.java
index bb49d313cfe..94d4377a0df 100644
--- a/Mage.Sets/src/mage/cards/d/DeadlyDancer.java
+++ b/Mage.Sets/src/mage/cards/d/DeadlyDancer.java
@@ -16,8 +16,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetPermanent;
@@ -29,12 +28,6 @@ import java.util.UUID;
*/
public final class DeadlyDancer extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public DeadlyDancer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
@@ -56,7 +49,7 @@ public final class DeadlyDancer extends CardImpl {
).setText("{this}"), new ManaCostsImpl<>("{R}{R}"));
ability.addEffect(new BoostTargetEffect(1, 0)
.setText("and another target creature each get +1/+0 until end of turn"));
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java b/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java
index d2d7bc7e773..f1c88491256 100644
--- a/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java
+++ b/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java
@@ -12,8 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
@@ -23,12 +22,6 @@ import java.util.UUID;
*/
public final class EldraziDisplacer extends CardImpl {
- private static final FilterCreaturePermanent FILTER = new FilterCreaturePermanent("another target creature");
-
- static {
- FILTER.add(AnotherPredicate.instance);
- }
-
public EldraziDisplacer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
this.subtype.add(SubType.ELDRAZI);
@@ -41,7 +34,7 @@ public final class EldraziDisplacer extends CardImpl {
// {2}{C}: Exile another target creature, then return it to the battlefield tapped under its owner's control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect(), new ManaCostsImpl<>("{2}{C}"));
ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect(true, false, "it").concatBy(", then"));
- ability.addTarget(new TargetCreaturePermanent(FILTER));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java b/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java
index 294a3bd7a9a..62a7775afaa 100644
--- a/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java
+++ b/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java
@@ -17,8 +17,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
@@ -30,12 +29,6 @@ import mage.target.targetpointer.FixedTarget;
*/
public final class FelhideSpiritbinder extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public FelhideSpiritbinder(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}");
this.subtype.add(SubType.MINOTAUR);
@@ -46,7 +39,7 @@ public final class FelhideSpiritbinder extends CardImpl {
// Inspired — Whenever Felhide Spiritbinder becomes untapped, you may pay {1}{R}. If you do, create a token that's a copy of another target creature except it's an enchantment in addition to its other types. It gains haste. Exile it at the beginning of the next end step.
Ability ability = new InspiredAbility(new DoIfCostPaid(new FelhideSpiritbinderEffect(), new ManaCostsImpl<>("{1}{R}"), "Use effect of {this}?"));
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/g/GalepowderMage.java b/Mage.Sets/src/mage/cards/g/GalepowderMage.java
index 7cd3bbcc429..7da09080854 100644
--- a/Mage.Sets/src/mage/cards/g/GalepowderMage.java
+++ b/Mage.Sets/src/mage/cards/g/GalepowderMage.java
@@ -16,8 +16,7 @@ import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.constants.Zone;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -31,12 +30,6 @@ import java.util.UUID;
*/
public final class GalepowderMage extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public GalepowderMage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.subtype.add(SubType.KITHKIN);
@@ -49,7 +42,7 @@ public final class GalepowderMage extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Whenever Galepowder Mage attacks, exile another target creature. Return that card to the battlefield under its owner's control at the beginning of the next end step.
Ability ability = new AttacksTriggeredAbility(new GalepowderMageEffect(), false);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/g/GhostLitDrifter.java b/Mage.Sets/src/mage/cards/g/GhostLitDrifter.java
index cd740e80522..50721cc168d 100644
--- a/Mage.Sets/src/mage/cards/g/GhostLitDrifter.java
+++ b/Mage.Sets/src/mage/cards/g/GhostLitDrifter.java
@@ -12,9 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
-import mage.filter.FilterPermanent;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
@@ -27,12 +25,6 @@ import java.util.UUID;
*/
public final class GhostLitDrifter extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public GhostLitDrifter(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}");
@@ -48,7 +40,7 @@ public final class GhostLitDrifter extends CardImpl {
FlyingAbility.getInstance(), Duration.EndOfTurn,
"another target creature gains flying until end of turn"
), new ManaCostsImpl<>("{2}{U}"));
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// Channel — {X}{U}, Discard Ghost-Lit Drifter: X target creatures gain flying until end of turn.
diff --git a/Mage.Sets/src/mage/cards/g/GravityNegator.java b/Mage.Sets/src/mage/cards/g/GravityNegator.java
index 963fcf13959..9fbfad5d2e1 100644
--- a/Mage.Sets/src/mage/cards/g/GravityNegator.java
+++ b/Mage.Sets/src/mage/cards/g/GravityNegator.java
@@ -15,8 +15,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -25,12 +24,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class GravityNegator extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public GravityNegator(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}");
this.subtype.add(SubType.ELDRAZI);
@@ -47,7 +40,7 @@ public final class GravityNegator extends CardImpl {
// Whenenever Gravity Negator attacks, you may pay {C}. If you do, another target creature gains flying until end of turn.
Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{C}")), false,
"Whenever {this} attacks you may pay {C}. If you do, another target creature gains flying until end of turn.");
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/i/IcefeatherAven.java b/Mage.Sets/src/mage/cards/i/IcefeatherAven.java
index 99fd716c33b..b3a1a6cb921 100644
--- a/Mage.Sets/src/mage/cards/i/IcefeatherAven.java
+++ b/Mage.Sets/src/mage/cards/i/IcefeatherAven.java
@@ -13,8 +13,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -23,12 +22,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class IcefeatherAven extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public IcefeatherAven(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}");
this.subtype.add(SubType.BIRD);
@@ -43,7 +36,7 @@ public final class IcefeatherAven extends CardImpl {
this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{G}{U}")));
// When Icefeather Aven is turned face up, you may return another target creature to its owner's hand.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new ReturnToHandTargetEffect(), false, true);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/j/JediInstructor.java b/Mage.Sets/src/mage/cards/j/JediInstructor.java
index ff0cfc7156e..6b14794a12f 100644
--- a/Mage.Sets/src/mage/cards/j/JediInstructor.java
+++ b/Mage.Sets/src/mage/cards/j/JediInstructor.java
@@ -12,8 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -22,12 +21,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class JediInstructor extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public JediInstructor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}");
this.subtype.add(SubType.TWILEK);
@@ -37,7 +30,7 @@ public final class JediInstructor extends CardImpl {
// When Jedi Instructor enters the battlefield, you may put a +1/+1 counter on another target creature.
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// Meditate {1}{W}
diff --git a/Mage.Sets/src/mage/cards/l/LegionGuildmage.java b/Mage.Sets/src/mage/cards/l/LegionGuildmage.java
index d14215bfff0..419ff3fd814 100644
--- a/Mage.Sets/src/mage/cards/l/LegionGuildmage.java
+++ b/Mage.Sets/src/mage/cards/l/LegionGuildmage.java
@@ -13,8 +13,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -23,13 +22,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class LegionGuildmage extends CardImpl {
- private static final FilterCreaturePermanent filter
- = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public LegionGuildmage(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}");
@@ -52,7 +44,7 @@ public final class LegionGuildmage extends CardImpl {
new ManaCostsImpl<>("{2}{W}")
);
ability.addCost(new TapSourceCost());
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/l/LivingTotem.java b/Mage.Sets/src/mage/cards/l/LivingTotem.java
index abe82bcf437..7722b0441d2 100644
--- a/Mage.Sets/src/mage/cards/l/LivingTotem.java
+++ b/Mage.Sets/src/mage/cards/l/LivingTotem.java
@@ -12,8 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.counters.CounterType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -22,12 +21,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class LivingTotem extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public LivingTotem(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}");
this.subtype.add(SubType.PLANT);
@@ -40,7 +33,7 @@ public final class LivingTotem extends CardImpl {
this.addAbility(new ConvokeAbility());
// When Living Totem enters the battlefield, you may put a +1/+1 counter on another target creature.
Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/l/LivioOathswornSentinel.java b/Mage.Sets/src/mage/cards/l/LivioOathswornSentinel.java
index f8a539f4064..3d0196f39fb 100644
--- a/Mage.Sets/src/mage/cards/l/LivioOathswornSentinel.java
+++ b/Mage.Sets/src/mage/cards/l/LivioOathswornSentinel.java
@@ -12,9 +12,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.counters.CounterType;
-import mage.filter.FilterPermanent;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -30,12 +28,6 @@ import java.util.stream.Collectors;
*/
public final class LivioOathswornSentinel extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public LivioOathswornSentinel(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}");
@@ -49,7 +41,7 @@ public final class LivioOathswornSentinel extends CardImpl {
Ability ability = new SimpleActivatedAbility(
new LivioOathswornSentinelExileEffect(), new ManaCostsImpl<>("{1}{W}")
);
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// {2}{W}, {T}: Return all exiled cards with aegis counters on them to the battlefield under their owners' control.
diff --git a/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java b/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java
index 5743a737fcb..6d6e3f9c363 100644
--- a/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java
+++ b/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java
@@ -12,8 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Outcome;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -25,12 +24,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class NoxiousGearhulk extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public NoxiousGearhulk(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{B}{B}");
this.subtype.add(SubType.CONSTRUCT);
@@ -42,7 +35,7 @@ public final class NoxiousGearhulk extends CardImpl {
// When Noxious Gearhulk enters the battlefield, you may destroy another target creature. If a creature is destroyed this way, you gain life equal to its toughness.
Ability ability = new EntersBattlefieldTriggeredAbility(new NoxiousGearhulkEffect());
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java b/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java
index 95f72b79047..b11f4852115 100644
--- a/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java
+++ b/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java
@@ -11,9 +11,7 @@ import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.TargetController;
-import mage.filter.FilterPermanent;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import java.util.UUID;
@@ -23,12 +21,6 @@ import java.util.UUID;
*/
public final class PrimordialPlasm extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public PrimordialPlasm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "");
@@ -46,7 +38,7 @@ public final class PrimordialPlasm extends CardImpl {
);
ability.addEffect(new LoseAllAbilitiesTargetEffect(Duration.EndOfTurn)
.setText("and loses all abilities until end of turn"));
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java b/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java
index 03a4fac99ce..23db74875a5 100644
--- a/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java
+++ b/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java
@@ -15,8 +15,8 @@ import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
+import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent;
-import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.Game;
@@ -31,12 +31,6 @@ import java.util.UUID;
*/
public final class RhonasTheIndomitable extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public RhonasTheIndomitable(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
@@ -61,7 +55,7 @@ public final class RhonasTheIndomitable extends CardImpl {
effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and gains trample until end of turn");
ability.addEffect(effect);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java b/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java
index ec3812ad731..b1cfee137d1 100644
--- a/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java
+++ b/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java
@@ -15,8 +15,7 @@ import mage.abilities.keyword.VigilanceAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -30,12 +29,6 @@ import java.util.UUID;
*/
public final class RoonOfTheHiddenRealm extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public RoonOfTheHiddenRealm(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}{U}");
this.supertype.add(SuperType.LEGENDARY);
@@ -51,7 +44,7 @@ public final class RoonOfTheHiddenRealm extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// {2}, {tap}: Exile another target creature. Return that card to the battlefield under its owner's control at the beginning of the next end step.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RoonOfTheHiddenRealmEffect(), new GenericManaCost(2));
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java
index e56ee36c4b4..9596db5524d 100644
--- a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java
+++ b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java
@@ -15,8 +15,7 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.counters.CounterType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@@ -28,12 +27,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class ScroungingBandar extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public ScroungingBandar(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
@@ -47,7 +40,7 @@ public final class ScroungingBandar extends CardImpl {
// At the beginning of you upkeep, you may move any number of +1/+1 counters from Scrounging Bandar onto another target creature.
Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScroungingBandarEffect(), TargetController.YOU, true);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShamelessCharlatan.java b/Mage.Sets/src/mage/cards/s/ShamelessCharlatan.java
index ce98eb6dcad..f9116487105 100644
--- a/Mage.Sets/src/mage/cards/s/ShamelessCharlatan.java
+++ b/Mage.Sets/src/mage/cards/s/ShamelessCharlatan.java
@@ -9,10 +9,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
-import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
@@ -25,12 +22,6 @@ import java.util.UUID;
*/
public final class ShamelessCharlatan extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public ShamelessCharlatan(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
@@ -39,7 +30,7 @@ public final class ShamelessCharlatan extends CardImpl {
// Commander creatures you own have "{2}{U}: This creature becomes a copy of another target creature."
Ability ability = new SimpleActivatedAbility(new ShamelessCharlatanEffect(), new ManaCostsImpl<>("{2}{U}"));
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(
ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER
)));
diff --git a/Mage.Sets/src/mage/cards/t/TheScorpionGod.java b/Mage.Sets/src/mage/cards/t/TheScorpionGod.java
index aecda1cf894..d022db60dc8 100644
--- a/Mage.Sets/src/mage/cards/t/TheScorpionGod.java
+++ b/Mage.Sets/src/mage/cards/t/TheScorpionGod.java
@@ -23,8 +23,7 @@ import mage.constants.Outcome;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.counters.CounterType;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
@@ -38,12 +37,6 @@ import mage.target.targetpointer.FixedTarget;
*/
public final class TheScorpionGod extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public TheScorpionGod(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{R}");
@@ -57,7 +50,7 @@ public final class TheScorpionGod extends CardImpl {
// {1}{B}{R}: Put a -1/-1 counter on another target creature.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{1}{B}{R}"));
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// When The Scorpion God dies, return it to its owner's hand at the beginning of the next end step.
diff --git a/Mage.Sets/src/mage/cards/t/TideforceElemental.java b/Mage.Sets/src/mage/cards/t/TideforceElemental.java
index 68331bf88de..fba0f1e88f9 100644
--- a/Mage.Sets/src/mage/cards/t/TideforceElemental.java
+++ b/Mage.Sets/src/mage/cards/t/TideforceElemental.java
@@ -16,8 +16,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Zone;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -26,12 +25,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class TideforceElemental extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public TideforceElemental(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}");
this.subtype.add(SubType.ELEMENTAL);
@@ -45,7 +38,7 @@ public final class TideforceElemental extends CardImpl {
new MayTapOrUntapTargetEffect(),
new ColoredManaCost(ColoredManaSymbol.U));
ability.addCost(new TapSourceCost());
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
// Landfall - Whenever a land enters the battlefield under your control, you may untap Tideforce Elemental.
this.addAbility(new LandfallAbility(new UntapSourceEffect(), true));
diff --git a/Mage.Sets/src/mage/cards/w/WillowduskEssenceSeer.java b/Mage.Sets/src/mage/cards/w/WillowduskEssenceSeer.java
index 45ab918123a..698b9c34a64 100644
--- a/Mage.Sets/src/mage/cards/w/WillowduskEssenceSeer.java
+++ b/Mage.Sets/src/mage/cards/w/WillowduskEssenceSeer.java
@@ -16,9 +16,7 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.counters.CounterType;
-import mage.filter.FilterPermanent;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.game.Game;
import mage.target.TargetPermanent;
import mage.watchers.common.PlayerGainedLifeWatcher;
@@ -31,12 +29,6 @@ import java.util.UUID;
*/
public final class WillowduskEssenceSeer extends CardImpl {
- private static final FilterPermanent filter = new FilterCreaturePermanent("another creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public WillowduskEssenceSeer(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}");
@@ -53,7 +45,7 @@ public final class WillowduskEssenceSeer extends CardImpl {
"equal to the amount of life you gained this turn or the amount of " +
"life you lost this turn, whichever is greater"), new GenericManaCost(1));
ability.addCost(new TapSourceCost());
- ability.addTarget(new TargetPermanent(filter));
+ ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
ability.addHint(ControllerGotLifeCount.getHint());
ability.addHint(WillowduskEssenceSeerHint.instance);
this.addAbility(ability, new PlayerGainedLifeWatcher());
@@ -105,4 +97,4 @@ enum WillowduskEssenceSeerHint implements Hint {
public WillowduskEssenceSeerHint copy() {
return instance;
}
-}
\ No newline at end of file
+}
diff --git a/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java b/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java
index 0681c9ad256..55e00ec7391 100644
--- a/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java
+++ b/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java
@@ -12,8 +12,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Duration;
-import mage.filter.common.FilterCreaturePermanent;
-import mage.filter.predicate.mageobject.AnotherPredicate;
+import mage.filter.StaticFilters;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -22,12 +21,6 @@ import mage.target.common.TargetCreaturePermanent;
*/
public final class WookieeRaidleader extends CardImpl {
- private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature");
-
- static {
- filter.add(AnotherPredicate.instance);
- }
-
public WookieeRaidleader(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}{R/G}");
this.subtype.add(SubType.WOOKIEE);
@@ -37,7 +30,7 @@ public final class WookieeRaidleader extends CardImpl {
// Whenever Wookiee Raidleader attacks, antoher target creature gains trample until end of turn
Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), false);
- ability.addTarget(new TargetCreaturePermanent(filter));
+ ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
this.addAbility(ability);
}
diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java
index 931b7b12245..a0c79c4a049 100644
--- a/Mage/src/main/java/mage/filter/StaticFilters.java
+++ b/Mage/src/main/java/mage/filter/StaticFilters.java
@@ -555,6 +555,13 @@ public final class StaticFilters {
FILTER_OPPONENTS_PERMANENT_ARTIFACT_OR_CREATURE.setLockedFilter(true);
}
+ public static final FilterCreaturePermanent FILTER_ANOTHER_TARGET_CREATURE = new FilterCreaturePermanent("another target creature");
+
+ static {
+ FILTER_ANOTHER_TARGET_CREATURE.add(AnotherPredicate.instance);
+ FILTER_ANOTHER_TARGET_CREATURE.setLockedFilter(true);
+ }
+
public static final FilterCreaturePermanent FILTER_ANOTHER_CREATURE_TARGET_2 = new FilterCreaturePermanent("another target creature");
static {