diff --git a/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java b/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java index c64aeee0fbe..0d84ef3c1e2 100644 --- a/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java +++ b/Mage.Sets/src/mage/cards/a/AbzanAscendancy.java @@ -28,7 +28,7 @@ public final class AbzanAscendancy extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public AbzanAscendancy(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AkoumFlameseeker.java b/Mage.Sets/src/mage/cards/a/AkoumFlameseeker.java index d076743f8cb..5c1c67eea29 100644 --- a/Mage.Sets/src/mage/cards/a/AkoumFlameseeker.java +++ b/Mage.Sets/src/mage/cards/a/AkoumFlameseeker.java @@ -30,7 +30,7 @@ public final class AkoumFlameseeker extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public AkoumFlameseeker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AkroanHoplite.java b/Mage.Sets/src/mage/cards/a/AkroanHoplite.java index 599a0dfa130..d19cdaf3b65 100644 --- a/Mage.Sets/src/mage/cards/a/AkroanHoplite.java +++ b/Mage.Sets/src/mage/cards/a/AkroanHoplite.java @@ -27,7 +27,7 @@ public final class AkroanHoplite extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public AkroanHoplite(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/Alarum.java b/Mage.Sets/src/mage/cards/a/Alarum.java index 553c075fa38..ac526c698fc 100644 --- a/Mage.Sets/src/mage/cards/a/Alarum.java +++ b/Mage.Sets/src/mage/cards/a/Alarum.java @@ -23,7 +23,7 @@ public final class Alarum extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonattacking creature"); static { - filter.add(Predicates.not(new AttackingPredicate())); + filter.add(Predicates.not(AttackingPredicate.instance)); } public Alarum(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AltarGolem.java b/Mage.Sets/src/mage/cards/a/AltarGolem.java index 52501d4637e..5b0dc5a367c 100644 --- a/Mage.Sets/src/mage/cards/a/AltarGolem.java +++ b/Mage.Sets/src/mage/cards/a/AltarGolem.java @@ -34,7 +34,7 @@ public final class AltarGolem extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public AltarGolem(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AlwaysWatching.java b/Mage.Sets/src/mage/cards/a/AlwaysWatching.java index ecb7a7d3506..a844009f12b 100644 --- a/Mage.Sets/src/mage/cards/a/AlwaysWatching.java +++ b/Mage.Sets/src/mage/cards/a/AlwaysWatching.java @@ -26,7 +26,7 @@ public final class AlwaysWatching extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public AlwaysWatching(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AnaBattlemage.java b/Mage.Sets/src/mage/cards/a/AnaBattlemage.java index f77efb80a82..dbf3e6a8417 100644 --- a/Mage.Sets/src/mage/cards/a/AnaBattlemage.java +++ b/Mage.Sets/src/mage/cards/a/AnaBattlemage.java @@ -34,7 +34,7 @@ public final class AnaBattlemage extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public AnaBattlemage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AnafenzaKinTreeSpirit.java b/Mage.Sets/src/mage/cards/a/AnafenzaKinTreeSpirit.java index 5760f40edec..3c8407616c2 100644 --- a/Mage.Sets/src/mage/cards/a/AnafenzaKinTreeSpirit.java +++ b/Mage.Sets/src/mage/cards/a/AnafenzaKinTreeSpirit.java @@ -25,7 +25,7 @@ public final class AnafenzaKinTreeSpirit extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/a/AnafenzaTheForemost.java b/Mage.Sets/src/mage/cards/a/AnafenzaTheForemost.java index aa00ce83a03..96e8487a47e 100644 --- a/Mage.Sets/src/mage/cards/a/AnafenzaTheForemost.java +++ b/Mage.Sets/src/mage/cards/a/AnafenzaTheForemost.java @@ -33,7 +33,7 @@ public final class AnafenzaTheForemost extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public AnafenzaTheForemost(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AncestorsProphet.java b/Mage.Sets/src/mage/cards/a/AncestorsProphet.java index 356f2cf0967..a83a788e70a 100644 --- a/Mage.Sets/src/mage/cards/a/AncestorsProphet.java +++ b/Mage.Sets/src/mage/cards/a/AncestorsProphet.java @@ -27,7 +27,7 @@ public final class AncestorsProphet extends CardImpl { static { filter.add(new SubtypePredicate(SubType.CLERIC)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public AncestorsProphet(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AncientHellkite.java b/Mage.Sets/src/mage/cards/a/AncientHellkite.java index a07bb7320ee..527f9bec33e 100644 --- a/Mage.Sets/src/mage/cards/a/AncientHellkite.java +++ b/Mage.Sets/src/mage/cards/a/AncientHellkite.java @@ -29,7 +29,7 @@ public final class AncientHellkite extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public AncientHellkite(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AncientHolocron.java b/Mage.Sets/src/mage/cards/a/AncientHolocron.java index 565a7f334bd..37c27e48365 100644 --- a/Mage.Sets/src/mage/cards/a/AncientHolocron.java +++ b/Mage.Sets/src/mage/cards/a/AncientHolocron.java @@ -23,7 +23,7 @@ public final class AncientHolocron extends CardImpl { private static final FilterSpell filter = new FilterSpell("multicolored spells"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public AncientHolocron(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AncientStoneIdol.java b/Mage.Sets/src/mage/cards/a/AncientStoneIdol.java index c9935eb2c3c..bc7ddf8dacc 100644 --- a/Mage.Sets/src/mage/cards/a/AncientStoneIdol.java +++ b/Mage.Sets/src/mage/cards/a/AncientStoneIdol.java @@ -65,7 +65,7 @@ class AncientStoneIdolCostReductionEffect extends CostModificationEffectImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public AncientStoneIdolCostReductionEffect() { diff --git a/Mage.Sets/src/mage/cards/a/AngelicFavor.java b/Mage.Sets/src/mage/cards/a/AngelicFavor.java index 9ab91cae5dd..0fb54f81536 100644 --- a/Mage.Sets/src/mage/cards/a/AngelicFavor.java +++ b/Mage.Sets/src/mage/cards/a/AngelicFavor.java @@ -38,7 +38,7 @@ public final class AngelicFavor extends CardImpl { private static final FilterControlledCreaturePermanent untappedCreatureYouControl = new FilterControlledCreaturePermanent("untapped creature you control"); static { - untappedCreatureYouControl.add(Predicates.not(new TappedPredicate())); + untappedCreatureYouControl.add(Predicates.not(TappedPredicate.instance)); } public AngelicFavor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AnointerPriest.java b/Mage.Sets/src/mage/cards/a/AnointerPriest.java index 31784994a28..bc4f0e4e883 100644 --- a/Mage.Sets/src/mage/cards/a/AnointerPriest.java +++ b/Mage.Sets/src/mage/cards/a/AnointerPriest.java @@ -24,7 +24,7 @@ public final class AnointerPriest extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("a creature token"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public AnointerPriest(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AphettoGrifter.java b/Mage.Sets/src/mage/cards/a/AphettoGrifter.java index a00ec7bb62e..c1e7324741f 100644 --- a/Mage.Sets/src/mage/cards/a/AphettoGrifter.java +++ b/Mage.Sets/src/mage/cards/a/AphettoGrifter.java @@ -28,7 +28,7 @@ public final class AphettoGrifter extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Wizards you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.WIZARD)); } diff --git a/Mage.Sets/src/mage/cards/a/ApocalypseChime.java b/Mage.Sets/src/mage/cards/a/ApocalypseChime.java index 18f862f153b..178b6930de2 100644 --- a/Mage.Sets/src/mage/cards/a/ApocalypseChime.java +++ b/Mage.Sets/src/mage/cards/a/ApocalypseChime.java @@ -27,7 +27,7 @@ public final class ApocalypseChime extends CardImpl { static { filter.add(Predicates.and( - Predicates.not(new TokenPredicate()), + Predicates.not(TokenPredicate.instance), new ExpansionSetPredicate("HML") )); } diff --git a/Mage.Sets/src/mage/cards/a/ArachnusSpinner.java b/Mage.Sets/src/mage/cards/a/ArachnusSpinner.java index 3d5fca4ea89..7a1ef89b36b 100644 --- a/Mage.Sets/src/mage/cards/a/ArachnusSpinner.java +++ b/Mage.Sets/src/mage/cards/a/ArachnusSpinner.java @@ -39,7 +39,7 @@ public final class ArachnusSpinner extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SPIDER)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ArachnusSpinner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java b/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java index a59ec01c4d6..d6f18e479c8 100644 --- a/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java +++ b/Mage.Sets/src/mage/cards/a/ArashinWarBeast.java @@ -51,7 +51,7 @@ class ArashinWarBeastTriggeredAbility extends TriggeredAbilityImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("one or more blockers"); static { - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } boolean usedForCombatDamageStep; diff --git a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java index 2cc2901e877..2737870ceed 100644 --- a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java +++ b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java @@ -29,8 +29,8 @@ public final class ArcadesSabboth extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); - filter.add(Predicates.not(new AttackingPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); + filter.add(Predicates.not(AttackingPredicate.instance)); } public ArcadesSabboth(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/ArtificersAssistant.java b/Mage.Sets/src/mage/cards/a/ArtificersAssistant.java index d8c5d76f4fa..2a610e18b0e 100644 --- a/Mage.Sets/src/mage/cards/a/ArtificersAssistant.java +++ b/Mage.Sets/src/mage/cards/a/ArtificersAssistant.java @@ -22,7 +22,7 @@ public final class ArtificersAssistant extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public ArtificersAssistant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java b/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java index 86ad83f7f44..b260e580119 100644 --- a/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java +++ b/Mage.Sets/src/mage/cards/a/AryelKnightOfWindgrace.java @@ -80,7 +80,7 @@ class AryelTapXTargetCost extends VariableCostImpl { static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Knights you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.KNIGHT)); } diff --git a/Mage.Sets/src/mage/cards/a/Asphyxiate.java b/Mage.Sets/src/mage/cards/a/Asphyxiate.java index 030206e5790..d5275dc2966 100644 --- a/Mage.Sets/src/mage/cards/a/Asphyxiate.java +++ b/Mage.Sets/src/mage/cards/a/Asphyxiate.java @@ -20,7 +20,7 @@ public final class Asphyxiate extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Asphyxiate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/Assassinate.java b/Mage.Sets/src/mage/cards/a/Assassinate.java index 891a186397e..47355573df1 100644 --- a/Mage.Sets/src/mage/cards/a/Assassinate.java +++ b/Mage.Sets/src/mage/cards/a/Assassinate.java @@ -20,7 +20,7 @@ public final class Assassinate extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public Assassinate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AssassinsBlade.java b/Mage.Sets/src/mage/cards/a/AssassinsBlade.java index fe2b98e641a..6f530833e28 100644 --- a/Mage.Sets/src/mage/cards/a/AssassinsBlade.java +++ b/Mage.Sets/src/mage/cards/a/AssassinsBlade.java @@ -29,7 +29,7 @@ public final class AssassinsBlade extends CardImpl { static { filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public AssassinsBlade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AuraOfDominion.java b/Mage.Sets/src/mage/cards/a/AuraOfDominion.java index e0956632a61..2f7be843a01 100644 --- a/Mage.Sets/src/mage/cards/a/AuraOfDominion.java +++ b/Mage.Sets/src/mage/cards/a/AuraOfDominion.java @@ -31,7 +31,7 @@ public final class AuraOfDominion extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } diff --git a/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java b/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java index 52e9da2dc82..551df4191a8 100644 --- a/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java +++ b/Mage.Sets/src/mage/cards/a/AvenSoulgazer.java @@ -33,7 +33,7 @@ public final class AvenSoulgazer extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public AvenSoulgazer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AweForTheGuilds.java b/Mage.Sets/src/mage/cards/a/AweForTheGuilds.java index f1569e4915a..4a0ee0ad5ff 100644 --- a/Mage.Sets/src/mage/cards/a/AweForTheGuilds.java +++ b/Mage.Sets/src/mage/cards/a/AweForTheGuilds.java @@ -22,7 +22,7 @@ public final class AweForTheGuilds extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Monocolored creatures"); static { - filter.add(Predicates.not(new MulticoloredPredicate())); + filter.add(Predicates.not(MulticoloredPredicate.instance)); } public AweForTheGuilds(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AzamiLadyOfScrolls.java b/Mage.Sets/src/mage/cards/a/AzamiLadyOfScrolls.java index 456b3bd39b4..0c3d861582f 100644 --- a/Mage.Sets/src/mage/cards/a/AzamiLadyOfScrolls.java +++ b/Mage.Sets/src/mage/cards/a/AzamiLadyOfScrolls.java @@ -27,7 +27,7 @@ public final class AzamiLadyOfScrolls extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Wizard you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.WIZARD)); } diff --git a/Mage.Sets/src/mage/cards/b/Backlash.java b/Mage.Sets/src/mage/cards/b/Backlash.java index 274ab604164..b054f340c30 100644 --- a/Mage.Sets/src/mage/cards/b/Backlash.java +++ b/Mage.Sets/src/mage/cards/b/Backlash.java @@ -24,7 +24,7 @@ public final class Backlash extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Backlash(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java b/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java index 9c4c948a5a5..d133e2483a8 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianTradingPost.java @@ -34,7 +34,7 @@ public final class BalduvianTradingPost extends CardImpl { static { filter.add(new SubtypePredicate(SubType.MOUNTAIN)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public BalduvianTradingPost(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BantSureblade.java b/Mage.Sets/src/mage/cards/b/BantSureblade.java index 908a9e84b86..e39241c04ed 100644 --- a/Mage.Sets/src/mage/cards/b/BantSureblade.java +++ b/Mage.Sets/src/mage/cards/b/BantSureblade.java @@ -29,7 +29,7 @@ public final class BantSureblade extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another multicolor permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/b/BastionProtector.java b/Mage.Sets/src/mage/cards/b/BastionProtector.java index 14844a9c4db..ba1fdaac309 100644 --- a/Mage.Sets/src/mage/cards/b/BastionProtector.java +++ b/Mage.Sets/src/mage/cards/b/BastionProtector.java @@ -27,7 +27,7 @@ public final class BastionProtector extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("Commander creatures"); static { - filter.add(new CommanderPredicate()); + filter.add(CommanderPredicate.instance); } public BastionProtector(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BattleScreech.java b/Mage.Sets/src/mage/cards/b/BattleScreech.java index 2fc92e6c6bf..2a9f3d72cdc 100644 --- a/Mage.Sets/src/mage/cards/b/BattleScreech.java +++ b/Mage.Sets/src/mage/cards/b/BattleScreech.java @@ -27,7 +27,7 @@ public final class BattleScreech extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public BattleScreech(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BazaarOfWonders.java b/Mage.Sets/src/mage/cards/b/BazaarOfWonders.java index f63d0ebc8ad..542403fb70b 100644 --- a/Mage.Sets/src/mage/cards/b/BazaarOfWonders.java +++ b/Mage.Sets/src/mage/cards/b/BazaarOfWonders.java @@ -76,7 +76,7 @@ class BazaarOfWondersEffect extends OneShotEffect { String spellName = spell.getName(); FilterPermanent filter1 = new FilterPermanent(); filter1.add(new NamePredicate(spellName)); - filter1.add(Predicates.not(new TokenPredicate())); + filter1.add(Predicates.not(TokenPredicate.instance)); if (!game.getBattlefield().getActivePermanents(filter1, source.getControllerId(), game).isEmpty()) { spell.counter(source.getControllerId(), game); return true; diff --git a/Mage.Sets/src/mage/cards/b/BeastmastersMagemark.java b/Mage.Sets/src/mage/cards/b/BeastmastersMagemark.java index 98fd1d3bef4..418c6e671a2 100644 --- a/Mage.Sets/src/mage/cards/b/BeastmastersMagemark.java +++ b/Mage.Sets/src/mage/cards/b/BeastmastersMagemark.java @@ -29,7 +29,7 @@ public final class BeastmastersMagemark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control that are enchanted"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/b/BeastsOfBogardan.java b/Mage.Sets/src/mage/cards/b/BeastsOfBogardan.java index b9035891f6d..0564015c88c 100644 --- a/Mage.Sets/src/mage/cards/b/BeastsOfBogardan.java +++ b/Mage.Sets/src/mage/cards/b/BeastsOfBogardan.java @@ -30,7 +30,7 @@ public final class BeastsOfBogardan extends CardImpl { static { controlFilter.add(new ColorPredicate(ObjectColor.WHITE)); - controlFilter.add(Predicates.not(new TokenPredicate())); + controlFilter.add(Predicates.not(TokenPredicate.instance)); } public BeastsOfBogardan(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BenBenAkkiHermit.java b/Mage.Sets/src/mage/cards/b/BenBenAkkiHermit.java index c8b93e3272e..a32d8b03f08 100644 --- a/Mage.Sets/src/mage/cards/b/BenBenAkkiHermit.java +++ b/Mage.Sets/src/mage/cards/b/BenBenAkkiHermit.java @@ -30,7 +30,7 @@ public final class BenBenAkkiHermit extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("untapped Mountain you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.MOUNTAIN)); } diff --git a/Mage.Sets/src/mage/cards/b/BenalishMissionary.java b/Mage.Sets/src/mage/cards/b/BenalishMissionary.java index d0d4b011fe0..952a930598f 100644 --- a/Mage.Sets/src/mage/cards/b/BenalishMissionary.java +++ b/Mage.Sets/src/mage/cards/b/BenalishMissionary.java @@ -27,7 +27,7 @@ public final class BenalishMissionary extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blocked creature"); static { - filter.add(new BlockedPredicate()); + filter.add(BlockedPredicate.instance); } public BenalishMissionary(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Benthicore.java b/Mage.Sets/src/mage/cards/b/Benthicore.java index 9ca093b8612..48424e9d860 100644 --- a/Mage.Sets/src/mage/cards/b/Benthicore.java +++ b/Mage.Sets/src/mage/cards/b/Benthicore.java @@ -33,7 +33,7 @@ public final class Benthicore extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Merfolk you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.MERFOLK)); } diff --git a/Mage.Sets/src/mage/cards/b/BetrothedOfFire.java b/Mage.Sets/src/mage/cards/b/BetrothedOfFire.java index 95fbfb8440f..bb4ac7ecfb6 100644 --- a/Mage.Sets/src/mage/cards/b/BetrothedOfFire.java +++ b/Mage.Sets/src/mage/cards/b/BetrothedOfFire.java @@ -32,7 +32,7 @@ public final class BetrothedOfFire extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("an untapped creature"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public BetrothedOfFire(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Bifurcate.java b/Mage.Sets/src/mage/cards/b/Bifurcate.java index 4faba2a2605..397ab59792e 100644 --- a/Mage.Sets/src/mage/cards/b/Bifurcate.java +++ b/Mage.Sets/src/mage/cards/b/Bifurcate.java @@ -29,7 +29,7 @@ public final class Bifurcate extends CardImpl { private static FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Bifurcate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BirchloreRangers.java b/Mage.Sets/src/mage/cards/b/BirchloreRangers.java index c6ff1dbc105..749f216e295 100644 --- a/Mage.Sets/src/mage/cards/b/BirchloreRangers.java +++ b/Mage.Sets/src/mage/cards/b/BirchloreRangers.java @@ -26,7 +26,7 @@ public final class BirchloreRangers extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Elves you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ELF)); } diff --git a/Mage.Sets/src/mage/cards/b/BlackOakOfOdunos.java b/Mage.Sets/src/mage/cards/b/BlackOakOfOdunos.java index c9f54643936..22ef04c4630 100644 --- a/Mage.Sets/src/mage/cards/b/BlackOakOfOdunos.java +++ b/Mage.Sets/src/mage/cards/b/BlackOakOfOdunos.java @@ -31,7 +31,7 @@ public final class BlackOakOfOdunos extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public BlackOakOfOdunos(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BlaringCaptain.java b/Mage.Sets/src/mage/cards/b/BlaringCaptain.java index ab763490784..3a4c55c65cb 100644 --- a/Mage.Sets/src/mage/cards/b/BlaringCaptain.java +++ b/Mage.Sets/src/mage/cards/b/BlaringCaptain.java @@ -23,7 +23,7 @@ public final class BlaringCaptain extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.WARRIOR, "attacking Warriors"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public BlaringCaptain(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Blockbuster.java b/Mage.Sets/src/mage/cards/b/Blockbuster.java index 3dbb960768c..174ebca05f5 100644 --- a/Mage.Sets/src/mage/cards/b/Blockbuster.java +++ b/Mage.Sets/src/mage/cards/b/Blockbuster.java @@ -23,7 +23,7 @@ public final class Blockbuster extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public Blockbuster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BloodTribute.java b/Mage.Sets/src/mage/cards/b/BloodTribute.java index cd9587f4095..694c16ac064 100644 --- a/Mage.Sets/src/mage/cards/b/BloodTribute.java +++ b/Mage.Sets/src/mage/cards/b/BloodTribute.java @@ -37,7 +37,7 @@ public final class BloodTribute extends CardImpl { TextPartSubType textPartVampire = (TextPartSubType) addTextPart(new TextPartSubType(SubType.VAMPIRE)); FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped Vampire you control"); filter.add(new TextPartSubtypePredicate(textPartVampire)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); this.addAbility(new KickerAbility(new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, true)))); // Target opponent loses half their life, rounded up. diff --git a/Mage.Sets/src/mage/cards/b/BloodswornSteward.java b/Mage.Sets/src/mage/cards/b/BloodswornSteward.java index e9070d6d069..21ed7ccdc95 100644 --- a/Mage.Sets/src/mage/cards/b/BloodswornSteward.java +++ b/Mage.Sets/src/mage/cards/b/BloodswornSteward.java @@ -27,7 +27,7 @@ public final class BloodswornSteward extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("Commander creatures"); static { - filter.add(new CommanderPredicate()); + filter.add(CommanderPredicate.instance); } public BloodswornSteward(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java index 7b232219997..cebfdf8ec6f 100644 --- a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java +++ b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java @@ -19,7 +19,7 @@ public final class BoardTheWeatherlight extends CardImpl { private static final FilterCard filter = new FilterCard("a historic card"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public BoardTheWeatherlight(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Borrowing100000Arrows.java b/Mage.Sets/src/mage/cards/b/Borrowing100000Arrows.java index 2d6bd827eec..47ba5f1cd41 100644 --- a/Mage.Sets/src/mage/cards/b/Borrowing100000Arrows.java +++ b/Mage.Sets/src/mage/cards/b/Borrowing100000Arrows.java @@ -62,7 +62,7 @@ class Borrowing100000ArrowsEffect extends OneShotEffect { Player opponent = game.getPlayer(this.getTargetPointer().getFirst(game, source)); if (opponent != null) { FilterCreaturePermanent filter = new FilterCreaturePermanent(); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerIdPredicate(opponent.getId())); return new DrawCardSourceControllerEffect(game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game)).apply(game, source); } diff --git a/Mage.Sets/src/mage/cards/b/BraceForImpact.java b/Mage.Sets/src/mage/cards/b/BraceForImpact.java index 28f17918e2c..6b5a458592c 100644 --- a/Mage.Sets/src/mage/cards/b/BraceForImpact.java +++ b/Mage.Sets/src/mage/cards/b/BraceForImpact.java @@ -25,7 +25,7 @@ public final class BraceForImpact extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("multicolored creature"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public BraceForImpact(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Brainspoil.java b/Mage.Sets/src/mage/cards/b/Brainspoil.java index d7422bbba5a..f49bcc4a40e 100644 --- a/Mage.Sets/src/mage/cards/b/Brainspoil.java +++ b/Mage.Sets/src/mage/cards/b/Brainspoil.java @@ -21,7 +21,7 @@ public final class Brainspoil extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature that isn't enchanted"); static { - filter.add(Predicates.not(new EnchantedPredicate())); + filter.add(Predicates.not(EnchantedPredicate.instance)); } public Brainspoil(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BrambleSovereign.java b/Mage.Sets/src/mage/cards/b/BrambleSovereign.java index 579be5ac6ea..caa98f8bf6e 100644 --- a/Mage.Sets/src/mage/cards/b/BrambleSovereign.java +++ b/Mage.Sets/src/mage/cards/b/BrambleSovereign.java @@ -32,7 +32,7 @@ public final class BrambleSovereign extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/b/BrandedBrawlers.java b/Mage.Sets/src/mage/cards/b/BrandedBrawlers.java index b7bff9ce2eb..469bfcc8850 100644 --- a/Mage.Sets/src/mage/cards/b/BrandedBrawlers.java +++ b/Mage.Sets/src/mage/cards/b/BrandedBrawlers.java @@ -28,7 +28,7 @@ public final class BrandedBrawlers extends CardImpl { static final private FilterLandPermanent filter = new FilterLandPermanent("an untapped land"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } final static private String rule = "{this} can't block if you control an untapped land"; diff --git a/Mage.Sets/src/mage/cards/b/BreakOpen.java b/Mage.Sets/src/mage/cards/b/BreakOpen.java index fcfc4f81e14..275c9fc7fb2 100644 --- a/Mage.Sets/src/mage/cards/b/BreakOpen.java +++ b/Mage.Sets/src/mage/cards/b/BreakOpen.java @@ -21,7 +21,7 @@ public final class BreakOpen extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Face-down creature an opponent controls"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java b/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java index fb1f645ac02..41df9ae8fa4 100644 --- a/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java +++ b/Mage.Sets/src/mage/cards/b/BridgeFromBelow.java @@ -34,7 +34,7 @@ public final class BridgeFromBelow extends CardImpl { static{ filter1.add(new ControllerPredicate(TargetController.YOU)); - filter1.add(Predicates.not(new TokenPredicate())); + filter1.add(Predicates.not(TokenPredicate.instance)); filter2.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/b/BrokenVisage.java b/Mage.Sets/src/mage/cards/b/BrokenVisage.java index e250769885f..495b05ec36f 100644 --- a/Mage.Sets/src/mage/cards/b/BrokenVisage.java +++ b/Mage.Sets/src/mage/cards/b/BrokenVisage.java @@ -31,7 +31,7 @@ public final class BrokenVisage extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonartifact attacking creature"); static { filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT))); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public BrokenVisage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BroodingSaurian.java b/Mage.Sets/src/mage/cards/b/BroodingSaurian.java index 9b71bf2e91c..221feab710f 100644 --- a/Mage.Sets/src/mage/cards/b/BroodingSaurian.java +++ b/Mage.Sets/src/mage/cards/b/BroodingSaurian.java @@ -50,7 +50,7 @@ class BroodingSaurianControlEffect extends ContinuousEffectImpl { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public BroodingSaurianControlEffect() { diff --git a/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java b/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java index 3ed5ff115ef..ef8d9f5b947 100644 --- a/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java +++ b/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java @@ -31,7 +31,7 @@ public final class BrudicladTelchorEngineer extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature tokens you control"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public BrudicladTelchorEngineer(UUID ownerId, CardSetInfo setInfo) { @@ -64,7 +64,7 @@ class BrudicladTelchorEngineerEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("token you control"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public BrudicladTelchorEngineerEffect() { diff --git a/Mage.Sets/src/mage/cards/b/BrutalSuppression.java b/Mage.Sets/src/mage/cards/b/BrutalSuppression.java index e45580406ed..0d332368773 100644 --- a/Mage.Sets/src/mage/cards/b/BrutalSuppression.java +++ b/Mage.Sets/src/mage/cards/b/BrutalSuppression.java @@ -58,7 +58,7 @@ class BrutalSuppressionAdditionalCostEffect extends CostModificationEffectImpl { private static final FilterPermanent filter2 = new FilterPermanent("nontoken Rebels"); static{ filter2.add(new SubtypePredicate(SubType.REBEL)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } BrutalSuppressionAdditionalCostEffect() { diff --git a/Mage.Sets/src/mage/cards/b/BurdenOfGreed.java b/Mage.Sets/src/mage/cards/b/BurdenOfGreed.java index 124aac6ceb2..2f8ad795d0c 100644 --- a/Mage.Sets/src/mage/cards/b/BurdenOfGreed.java +++ b/Mage.Sets/src/mage/cards/b/BurdenOfGreed.java @@ -48,7 +48,7 @@ class BurdenOfGreedCount implements DynamicValue { return 0; } FilterArtifactPermanent filter = new FilterArtifactPermanent(); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerIdPredicate(sourceAbility.getFirstTarget())); return game.getBattlefield().count(filter, sourceAbility.getSourceId(), sourceAbility.getControllerId(), game); } diff --git a/Mage.Sets/src/mage/cards/b/BurnAtTheStake.java b/Mage.Sets/src/mage/cards/b/BurnAtTheStake.java index b804747d354..7931708785d 100644 --- a/Mage.Sets/src/mage/cards/b/BurnAtTheStake.java +++ b/Mage.Sets/src/mage/cards/b/BurnAtTheStake.java @@ -27,7 +27,7 @@ public final class BurnAtTheStake extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public BurnAtTheStake(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CalmingVerse.java b/Mage.Sets/src/mage/cards/c/CalmingVerse.java index 8d94a2f0d86..08a66a28efc 100644 --- a/Mage.Sets/src/mage/cards/c/CalmingVerse.java +++ b/Mage.Sets/src/mage/cards/c/CalmingVerse.java @@ -50,7 +50,7 @@ class CalmingVerseEffect extends OneShotEffect { static { untappedLandFilter.add(new CardTypePredicate(CardType.LAND)); - untappedLandFilter.add(Predicates.not(new TappedPredicate())); + untappedLandFilter.add(Predicates.not(TappedPredicate.instance)); } private static final FilterEnchantmentPermanent opponentEnchantmentsFilter = new FilterEnchantmentPermanent("enchantments you don't control"); diff --git a/Mage.Sets/src/mage/cards/c/CaptainPhasma.java b/Mage.Sets/src/mage/cards/c/CaptainPhasma.java index 829342d2b6c..d37a042cd13 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainPhasma.java +++ b/Mage.Sets/src/mage/cards/c/CaptainPhasma.java @@ -32,7 +32,7 @@ public final class CaptainPhasma extends CardImpl { static { filter.add(new SubtypePredicate(SubType.TROOPER)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filterCard.add(new SubtypePredicate(SubType.TROOPER)); } diff --git a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java index 7262d6bc79f..7ae21466188 100644 --- a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java +++ b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java @@ -34,7 +34,7 @@ public final class CaptivatingVampire extends CardImpl { static { filter1.add(new SubtypePredicate(SubType.VAMPIRE)); filter2.add(new SubtypePredicate(SubType.VAMPIRE)); - filter2.add(Predicates.not(new TappedPredicate())); + filter2.add(Predicates.not(TappedPredicate.instance)); } public CaptivatingVampire(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CaribouRange.java b/Mage.Sets/src/mage/cards/c/CaribouRange.java index f2ae348ca77..4599b610cea 100644 --- a/Mage.Sets/src/mage/cards/c/CaribouRange.java +++ b/Mage.Sets/src/mage/cards/c/CaribouRange.java @@ -34,7 +34,7 @@ public final class CaribouRange extends CardImpl { static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a Caribou token"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new SubtypePredicate(SubType.CARIBOU)); } diff --git a/Mage.Sets/src/mage/cards/c/CatapultMaster.java b/Mage.Sets/src/mage/cards/c/CatapultMaster.java index 0664a36eb64..ea9a17d070a 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultMaster.java +++ b/Mage.Sets/src/mage/cards/c/CatapultMaster.java @@ -28,7 +28,7 @@ public final class CatapultMaster extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Soldiers you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.SOLDIER)); } public CatapultMaster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CatapultSquad.java b/Mage.Sets/src/mage/cards/c/CatapultSquad.java index db703b595e1..b8b9bd3af75 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultSquad.java +++ b/Mage.Sets/src/mage/cards/c/CatapultSquad.java @@ -29,7 +29,7 @@ public final class CatapultSquad extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Soldiers you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.SOLDIER)); } diff --git a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java b/Mage.Sets/src/mage/cards/c/CavalryPegasus.java index 023e566e087..6d46fa8c7c9 100644 --- a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java +++ b/Mage.Sets/src/mage/cards/c/CavalryPegasus.java @@ -25,7 +25,7 @@ public final class CavalryPegasus extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("each attacking Human"); static { filter.add(new SubtypePredicate(SubType.HUMAN)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public CavalryPegasus(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChewbaccaTheBeast.java b/Mage.Sets/src/mage/cards/c/ChewbaccaTheBeast.java index 19eb1840042..f7ffe1d408b 100644 --- a/Mage.Sets/src/mage/cards/c/ChewbaccaTheBeast.java +++ b/Mage.Sets/src/mage/cards/c/ChewbaccaTheBeast.java @@ -28,7 +28,7 @@ public final class ChewbaccaTheBeast extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(AnotherPredicate.instance); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public ChewbaccaTheBeast(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChickenALaKing.java b/Mage.Sets/src/mage/cards/c/ChickenALaKing.java index 54fc631a3b3..db786af300e 100644 --- a/Mage.Sets/src/mage/cards/c/ChickenALaKing.java +++ b/Mage.Sets/src/mage/cards/c/ChickenALaKing.java @@ -33,7 +33,7 @@ public final class ChickenALaKing extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Chicken you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.CHICKEN)); } diff --git a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java index 207982df3b9..916b686a1cb 100644 --- a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java +++ b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java @@ -29,7 +29,7 @@ public final class ChiseiHeartOfOceans extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new CounterAnyPredicate()); + filter.add(CounterAnyPredicate.instance); } public ChiseiHeartOfOceans(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java b/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java index 5a31f0d5b8e..e4771fc0e7d 100644 --- a/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java +++ b/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java @@ -28,7 +28,7 @@ public final class ChosenOfMarkov extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Vampire you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.VAMPIRE)); } diff --git a/Mage.Sets/src/mage/cards/c/CitadelOfPain.java b/Mage.Sets/src/mage/cards/c/CitadelOfPain.java index 40973164a4b..1cf2bbde90a 100644 --- a/Mage.Sets/src/mage/cards/c/CitadelOfPain.java +++ b/Mage.Sets/src/mage/cards/c/CitadelOfPain.java @@ -56,7 +56,7 @@ class CitadelOfPainEffect extends OneShotEffect { } static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public CitadelOfPainEffect() { diff --git a/Mage.Sets/src/mage/cards/c/CityInABottle.java b/Mage.Sets/src/mage/cards/c/CityInABottle.java index 00a469b7562..547ba0933ec 100644 --- a/Mage.Sets/src/mage/cards/c/CityInABottle.java +++ b/Mage.Sets/src/mage/cards/c/CityInABottle.java @@ -139,7 +139,7 @@ class CityInABottleStateTriggeredAbility extends StateTriggeredAbility { private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent originally printed in the Arabian Nights expansion other than City in a Bottle"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(Predicates.or(getArabianNightsNamePredicates())); } @@ -173,7 +173,7 @@ class CityInABottleSacrificeEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent originally printed in the Arabian Nights expansion other than City in a Bottle"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(Predicates.or(getArabianNightsNamePredicates())); } diff --git a/Mage.Sets/src/mage/cards/c/ClockOfOmens.java b/Mage.Sets/src/mage/cards/c/ClockOfOmens.java index 3708f17477a..9b852701256 100644 --- a/Mage.Sets/src/mage/cards/c/ClockOfOmens.java +++ b/Mage.Sets/src/mage/cards/c/ClockOfOmens.java @@ -26,7 +26,7 @@ public final class ClockOfOmens extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ClockOfOmens(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java index 368b1c19149..11722998664 100644 --- a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java +++ b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java @@ -34,7 +34,7 @@ public final class CloudgoatRanger extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Kithkin you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.KITHKIN)); } diff --git a/Mage.Sets/src/mage/cards/c/ClovenCasting.java b/Mage.Sets/src/mage/cards/c/ClovenCasting.java index 91c8961b969..389fc161c12 100644 --- a/Mage.Sets/src/mage/cards/c/ClovenCasting.java +++ b/Mage.Sets/src/mage/cards/c/ClovenCasting.java @@ -27,7 +27,7 @@ public final class ClovenCasting extends CardImpl { filter.add(Predicates.or( new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY))); - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public ClovenCasting(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java index bdf26e0adb7..534bec0969d 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java @@ -44,7 +44,7 @@ public final class CollectiveEffort extends CardImpl { private static final FilterPlayer filterPlayer = new FilterPlayer("player whose creatures get +1/+1 counters"); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); filterDestroyCreature.add(new PowerPredicate(ComparisonType.MORE_THAN, 3)); } diff --git a/Mage.Sets/src/mage/cards/c/CommanderCody.java b/Mage.Sets/src/mage/cards/c/CommanderCody.java index 94867b369dc..2b20b390fa4 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderCody.java +++ b/Mage.Sets/src/mage/cards/c/CommanderCody.java @@ -25,7 +25,7 @@ public final class CommanderCody extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-token Trooper creatures"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(new SubtypePredicate(SubType.TROOPER)); } diff --git a/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java b/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java index ea42ffd4a07..0a48307d1fe 100644 --- a/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java +++ b/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java @@ -28,7 +28,7 @@ public final class CopperhoofVorrac extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("untapped permanent your opponents control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/c/CoralAtoll.java b/Mage.Sets/src/mage/cards/c/CoralAtoll.java index 0fc9f416938..92a7ab94cf9 100644 --- a/Mage.Sets/src/mage/cards/c/CoralAtoll.java +++ b/Mage.Sets/src/mage/cards/c/CoralAtoll.java @@ -30,7 +30,7 @@ public final class CoralAtoll extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ISLAND)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public CoralAtoll(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CoralReef.java b/Mage.Sets/src/mage/cards/c/CoralReef.java index a15a7c6afc2..24093ec4c58 100644 --- a/Mage.Sets/src/mage/cards/c/CoralReef.java +++ b/Mage.Sets/src/mage/cards/c/CoralReef.java @@ -40,7 +40,7 @@ public final class CoralReef extends CardImpl { static { islandFilter.add(new SubtypePredicate(SubType.ISLAND)); - untappedBlueCreatureFilter.add(Predicates.not(new TappedPredicate())); + untappedBlueCreatureFilter.add(Predicates.not(TappedPredicate.instance)); untappedBlueCreatureFilter.add(new ColorPredicate(ObjectColor.BLUE)); } diff --git a/Mage.Sets/src/mage/cards/c/CorrosiveOoze.java b/Mage.Sets/src/mage/cards/c/CorrosiveOoze.java index fe7dbf077ba..d33404a5451 100644 --- a/Mage.Sets/src/mage/cards/c/CorrosiveOoze.java +++ b/Mage.Sets/src/mage/cards/c/CorrosiveOoze.java @@ -31,7 +31,7 @@ public final class CorrosiveOoze extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("equipped creature"); static { - filter.add(new EquippedPredicate()); + filter.add(EquippedPredicate.instance); } public CorrosiveOoze(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CovetedPeacock.java b/Mage.Sets/src/mage/cards/c/CovetedPeacock.java index 97502d3bee6..dbe7642a590 100644 --- a/Mage.Sets/src/mage/cards/c/CovetedPeacock.java +++ b/Mage.Sets/src/mage/cards/c/CovetedPeacock.java @@ -25,7 +25,7 @@ public final class CovetedPeacock extends CardImpl { public static final FilterPermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public CovetedPeacock(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/Crackleburr.java b/Mage.Sets/src/mage/cards/c/Crackleburr.java index b958d200618..d970807b973 100644 --- a/Mage.Sets/src/mage/cards/c/Crackleburr.java +++ b/Mage.Sets/src/mage/cards/c/Crackleburr.java @@ -38,10 +38,10 @@ public final class Crackleburr extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.RED)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter2.add(new ColorPredicate(ObjectColor.BLUE)); - filter2.add(new TappedPredicate()); + filter2.add(TappedPredicate.instance); } public Crackleburr(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CracklingPerimeter.java b/Mage.Sets/src/mage/cards/c/CracklingPerimeter.java index b2a49d8229e..0c1e9fc08f7 100644 --- a/Mage.Sets/src/mage/cards/c/CracklingPerimeter.java +++ b/Mage.Sets/src/mage/cards/c/CracklingPerimeter.java @@ -27,7 +27,7 @@ public final class CracklingPerimeter extends CardImpl { static { filter.add(new SubtypePredicate(SubType.GATE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public CracklingPerimeter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CrashingBoars.java b/Mage.Sets/src/mage/cards/c/CrashingBoars.java index 9e47943bd4b..26678b713cb 100644 --- a/Mage.Sets/src/mage/cards/c/CrashingBoars.java +++ b/Mage.Sets/src/mage/cards/c/CrashingBoars.java @@ -53,7 +53,7 @@ class CrashingBoarsEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } CrashingBoarsEffect() { diff --git a/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java b/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java index 341e4494f54..147aeb97ba3 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java @@ -56,7 +56,7 @@ class CrimsonHonorGuardEffect extends OneShotEffect { private final static FilterPermanent filter = new FilterPermanent("Commander"); static { - filter.add(new CommanderPredicate()); + filter.add(CommanderPredicate.instance); } public CrimsonHonorGuardEffect() { diff --git a/Mage.Sets/src/mage/cards/c/CrookclawElder.java b/Mage.Sets/src/mage/cards/c/CrookclawElder.java index a570f6c7f96..54f59b87c56 100644 --- a/Mage.Sets/src/mage/cards/c/CrookclawElder.java +++ b/Mage.Sets/src/mage/cards/c/CrookclawElder.java @@ -33,9 +33,9 @@ public final class CrookclawElder extends CardImpl { static { filter.add(new SubtypePredicate(SubType.BIRD)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter2.add(new SubtypePredicate(SubType.WIZARD)); - filter2.add(Predicates.not(new TappedPredicate())); + filter2.add(Predicates.not(TappedPredicate.instance)); } public CrookclawElder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java index 788303c91ba..71255d87091 100644 --- a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java +++ b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java @@ -33,7 +33,7 @@ public final class Cryptbreaker extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Zombies you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ZOMBIE)); } diff --git a/Mage.Sets/src/mage/cards/c/CrypticGateway.java b/Mage.Sets/src/mage/cards/c/CrypticGateway.java index 5fee54dd1a2..ea840305cfb 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticGateway.java +++ b/Mage.Sets/src/mage/cards/c/CrypticGateway.java @@ -39,7 +39,7 @@ public final class CrypticGateway extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } TargetControlledPermanent target; @@ -70,7 +70,7 @@ class CrypticGatewayCost extends CostImpl { TargetControlledPermanent target; static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public CrypticGatewayCost(TargetControlledPermanent target) { diff --git a/Mage.Sets/src/mage/cards/c/CurtainOfLight.java b/Mage.Sets/src/mage/cards/c/CurtainOfLight.java index c96889ff7a4..5f1e7056ef7 100644 --- a/Mage.Sets/src/mage/cards/c/CurtainOfLight.java +++ b/Mage.Sets/src/mage/cards/c/CurtainOfLight.java @@ -31,8 +31,8 @@ public final class CurtainOfLight extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked attacking creature"); static { - filter.add(new AttackingPredicate()); - filter.add(Predicates.not(new BlockedPredicate())); + filter.add(AttackingPredicate.instance); + filter.add(Predicates.not(BlockedPredicate.instance)); } public CurtainOfLight(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CutTheEarthlyBond.java b/Mage.Sets/src/mage/cards/c/CutTheEarthlyBond.java index 2eb73ac3d34..a3f122cd61c 100644 --- a/Mage.Sets/src/mage/cards/c/CutTheEarthlyBond.java +++ b/Mage.Sets/src/mage/cards/c/CutTheEarthlyBond.java @@ -21,7 +21,7 @@ public final class CutTheEarthlyBond extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("enchanted permanent"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); } public CutTheEarthlyBond(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DAvenantTrapper.java b/Mage.Sets/src/mage/cards/d/DAvenantTrapper.java index d763b44edb7..313cb115944 100644 --- a/Mage.Sets/src/mage/cards/d/DAvenantTrapper.java +++ b/Mage.Sets/src/mage/cards/d/DAvenantTrapper.java @@ -23,7 +23,7 @@ public final class DAvenantTrapper extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public DAvenantTrapper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DanceOfMany.java b/Mage.Sets/src/mage/cards/d/DanceOfMany.java index e99a8ca72ed..6b58f60fe46 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfMany.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfMany.java @@ -39,7 +39,7 @@ public final class DanceOfMany extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public DanceOfMany(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DaringArchaeologist.java b/Mage.Sets/src/mage/cards/d/DaringArchaeologist.java index 9ee2191281c..133b8784685 100644 --- a/Mage.Sets/src/mage/cards/d/DaringArchaeologist.java +++ b/Mage.Sets/src/mage/cards/d/DaringArchaeologist.java @@ -27,7 +27,7 @@ public final class DaringArchaeologist extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public DaringArchaeologist(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DazzlingBeauty.java b/Mage.Sets/src/mage/cards/d/DazzlingBeauty.java index 4e6416c9e54..88bb01666ea 100644 --- a/Mage.Sets/src/mage/cards/d/DazzlingBeauty.java +++ b/Mage.Sets/src/mage/cards/d/DazzlingBeauty.java @@ -32,8 +32,8 @@ public final class DazzlingBeauty extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked attacking creature"); static { - filter.add(new AttackingPredicate()); - filter.add(Predicates.not(new BlockedPredicate())); + filter.add(AttackingPredicate.instance); + filter.add(Predicates.not(BlockedPredicate.instance)); } public DazzlingBeauty(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java index eeb855dd357..a8c31839c7a 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java @@ -27,7 +27,7 @@ public final class DeadeyeHarpooner extends CardImpl { private final static FilterOpponentsCreaturePermanent filter = new FilterOpponentsCreaturePermanent("tapped creature an opponent controls"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public DeadeyeHarpooner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DeathStroke.java b/Mage.Sets/src/mage/cards/d/DeathStroke.java index c47e389c792..db727116c47 100644 --- a/Mage.Sets/src/mage/cards/d/DeathStroke.java +++ b/Mage.Sets/src/mage/cards/d/DeathStroke.java @@ -19,7 +19,7 @@ public final class DeathStroke extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public DeathStroke(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DeathlessAncient.java b/Mage.Sets/src/mage/cards/d/DeathlessAncient.java index 5d7e6046821..6719a9fafa6 100644 --- a/Mage.Sets/src/mage/cards/d/DeathlessAncient.java +++ b/Mage.Sets/src/mage/cards/d/DeathlessAncient.java @@ -27,7 +27,7 @@ public final class DeathlessAncient extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Vampires you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.VAMPIRE)); } diff --git a/Mage.Sets/src/mage/cards/d/DecayingSoil.java b/Mage.Sets/src/mage/cards/d/DecayingSoil.java index dec74944c59..8c709b42aa5 100644 --- a/Mage.Sets/src/mage/cards/d/DecayingSoil.java +++ b/Mage.Sets/src/mage/cards/d/DecayingSoil.java @@ -40,7 +40,7 @@ public final class DecayingSoil extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static{ filter.add(new OwnerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public DecayingSoil(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java b/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java index 83060b54723..75e0cc4bb4e 100644 --- a/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java +++ b/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java @@ -33,7 +33,7 @@ public final class DecimatorBeetle extends CardImpl { public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public DecimatorBeetle(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java index 006e7f11165..2e1f05f99d6 100644 --- a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java +++ b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java @@ -72,7 +72,7 @@ class DefilerOfSoulsEffect extends OneShotEffect { if (player == null) { return false; } - filter.add(new MonocoloredPredicate()); + filter.add(MonocoloredPredicate.instance); int amount; int realCount = game.getBattlefield().countAll(filter, player.getId(), game); diff --git a/Mage.Sets/src/mage/cards/d/Desert.java b/Mage.Sets/src/mage/cards/d/Desert.java index e901bdf3d17..06a6c85466a 100644 --- a/Mage.Sets/src/mage/cards/d/Desert.java +++ b/Mage.Sets/src/mage/cards/d/Desert.java @@ -27,7 +27,7 @@ public final class Desert extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Desert(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DevoutChaplain.java b/Mage.Sets/src/mage/cards/d/DevoutChaplain.java index 2f601ef3447..02b3d391f4d 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutChaplain.java +++ b/Mage.Sets/src/mage/cards/d/DevoutChaplain.java @@ -30,7 +30,7 @@ public final class DevoutChaplain extends CardImpl { private static final FilterControlledPermanent humanFilter = new FilterControlledPermanent("untapped Human you control"); static { - humanFilter.add(Predicates.not(new TappedPredicate())); + humanFilter.add(Predicates.not(TappedPredicate.instance)); humanFilter.add(new SubtypePredicate(SubType.HUMAN)); } diff --git a/Mage.Sets/src/mage/cards/d/DevoutInvocation.java b/Mage.Sets/src/mage/cards/d/DevoutInvocation.java index b9a459fb356..ea6d47b2c79 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutInvocation.java +++ b/Mage.Sets/src/mage/cards/d/DevoutInvocation.java @@ -48,7 +48,7 @@ class DevoutInvocationEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DevoutInvocationEffect() { diff --git a/Mage.Sets/src/mage/cards/d/DiamondKaleidoscope.java b/Mage.Sets/src/mage/cards/d/DiamondKaleidoscope.java index c586f768b79..b34727c950b 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondKaleidoscope.java +++ b/Mage.Sets/src/mage/cards/d/DiamondKaleidoscope.java @@ -29,7 +29,7 @@ public final class DiamondKaleidoscope extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("a Prism token"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new SubtypePredicate(SubType.PRISM)); } diff --git a/Mage.Sets/src/mage/cards/d/Dichotomancy.java b/Mage.Sets/src/mage/cards/d/Dichotomancy.java index c788c4dc8f3..a2bcbcadb8a 100644 --- a/Mage.Sets/src/mage/cards/d/Dichotomancy.java +++ b/Mage.Sets/src/mage/cards/d/Dichotomancy.java @@ -59,7 +59,7 @@ class DichotomancyEffect extends OneShotEffect { private static final FilterNonlandPermanent filter = new FilterNonlandPermanent(); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public DichotomancyEffect() { diff --git a/Mage.Sets/src/mage/cards/d/DiligentExcavator.java b/Mage.Sets/src/mage/cards/d/DiligentExcavator.java index 005b0a09bed..5723ceb284c 100644 --- a/Mage.Sets/src/mage/cards/d/DiligentExcavator.java +++ b/Mage.Sets/src/mage/cards/d/DiligentExcavator.java @@ -23,7 +23,7 @@ public final class DiligentExcavator extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public DiligentExcavator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DireFleetPoisoner.java b/Mage.Sets/src/mage/cards/d/DireFleetPoisoner.java index 3e97583f2dc..f9199a211b6 100644 --- a/Mage.Sets/src/mage/cards/d/DireFleetPoisoner.java +++ b/Mage.Sets/src/mage/cards/d/DireFleetPoisoner.java @@ -30,7 +30,7 @@ public final class DireFleetPoisoner extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public DireFleetPoisoner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DissensionInTheRanks.java b/Mage.Sets/src/mage/cards/d/DissensionInTheRanks.java index ef89d09984f..13d14c9460d 100644 --- a/Mage.Sets/src/mage/cards/d/DissensionInTheRanks.java +++ b/Mage.Sets/src/mage/cards/d/DissensionInTheRanks.java @@ -20,7 +20,7 @@ public final class DissensionInTheRanks extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("blocking creature"); static { - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } public DissensionInTheRanks(UUID ownerId, CardSetInfo setInfo) { @@ -34,7 +34,7 @@ public final class DissensionInTheRanks extends CardImpl { FilterCreaturePermanent filter2 = new FilterCreaturePermanent("another target blocking creature"); filter2.add(new AnotherTargetPredicate(2)); - filter2.add(new BlockingPredicate()); + filter2.add(BlockingPredicate.instance); TargetCreaturePermanent target2 = new TargetCreaturePermanent(filter2); target2.setTargetTag(2); this.getSpellAbility().addTarget(target2); diff --git a/Mage.Sets/src/mage/cards/d/DiversionaryTactics.java b/Mage.Sets/src/mage/cards/d/DiversionaryTactics.java index 2e9c582c229..79ff36ae6b0 100644 --- a/Mage.Sets/src/mage/cards/d/DiversionaryTactics.java +++ b/Mage.Sets/src/mage/cards/d/DiversionaryTactics.java @@ -24,7 +24,7 @@ public final class DiversionaryTactics extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DiversionaryTactics(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DoggedHunter.java b/Mage.Sets/src/mage/cards/d/DoggedHunter.java index 2f5c0600365..b5e8dd7b435 100644 --- a/Mage.Sets/src/mage/cards/d/DoggedHunter.java +++ b/Mage.Sets/src/mage/cards/d/DoggedHunter.java @@ -24,7 +24,7 @@ public final class DoggedHunter extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature token"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public DoggedHunter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DolmenGate.java b/Mage.Sets/src/mage/cards/d/DolmenGate.java index b5172e1baed..24cad2f4d3d 100644 --- a/Mage.Sets/src/mage/cards/d/DolmenGate.java +++ b/Mage.Sets/src/mage/cards/d/DolmenGate.java @@ -21,7 +21,7 @@ public final class DolmenGate extends CardImpl { private static final FilterControlledCreatureInPlay filter = new FilterControlledCreatureInPlay("attacking creatures you control"); static { - filter.getCreatureFilter().add(new AttackingPredicate()); + filter.getCreatureFilter().add(AttackingPredicate.instance); } public DolmenGate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DomineeringWill.java b/Mage.Sets/src/mage/cards/d/DomineeringWill.java index 808966caefd..384ad50460c 100644 --- a/Mage.Sets/src/mage/cards/d/DomineeringWill.java +++ b/Mage.Sets/src/mage/cards/d/DomineeringWill.java @@ -33,7 +33,7 @@ public final class DomineeringWill extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonattacking creatures"); static { - filter.add(Predicates.not(new AttackingPredicate())); + filter.add(Predicates.not(AttackingPredicate.instance)); } public DomineeringWill(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DormantVolcano.java b/Mage.Sets/src/mage/cards/d/DormantVolcano.java index d43f82f6174..8ee5e9f5bbf 100644 --- a/Mage.Sets/src/mage/cards/d/DormantVolcano.java +++ b/Mage.Sets/src/mage/cards/d/DormantVolcano.java @@ -30,7 +30,7 @@ public final class DormantVolcano extends CardImpl { static { filter.add(new SubtypePredicate(SubType.MOUNTAIN)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DormantVolcano(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DovinsDismissal.java b/Mage.Sets/src/mage/cards/d/DovinsDismissal.java index bc1087390bd..598029d98b5 100644 --- a/Mage.Sets/src/mage/cards/d/DovinsDismissal.java +++ b/Mage.Sets/src/mage/cards/d/DovinsDismissal.java @@ -24,7 +24,7 @@ public final class DovinsDismissal extends CardImpl { static { filter.add(new NamePredicate("Dovin, Architect of Law")); - filter2.add(new TappedPredicate()); + filter2.add(TappedPredicate.instance); } public DovinsDismissal(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DragonArch.java b/Mage.Sets/src/mage/cards/d/DragonArch.java index 6b9c444feeb..5a152ea0134 100644 --- a/Mage.Sets/src/mage/cards/d/DragonArch.java +++ b/Mage.Sets/src/mage/cards/d/DragonArch.java @@ -24,7 +24,7 @@ public final class DragonArch extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("a multicolored creature card"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public DragonArch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/Dragonrage.java b/Mage.Sets/src/mage/cards/d/Dragonrage.java index 410fe9bdc59..d378be9433a 100644 --- a/Mage.Sets/src/mage/cards/d/Dragonrage.java +++ b/Mage.Sets/src/mage/cards/d/Dragonrage.java @@ -28,7 +28,7 @@ public final class Dragonrage extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking creature you control"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java b/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java index e9ba1f5213d..ed089609426 100644 --- a/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java +++ b/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java @@ -24,7 +24,7 @@ public final class DragonscaleGeneral extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creatures you control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/d/DranasChosen.java b/Mage.Sets/src/mage/cards/d/DranasChosen.java index 3afa5ccd687..d0dd78f5487 100644 --- a/Mage.Sets/src/mage/cards/d/DranasChosen.java +++ b/Mage.Sets/src/mage/cards/d/DranasChosen.java @@ -31,7 +31,7 @@ public final class DranasChosen extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DranasChosen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DreamChisel.java b/Mage.Sets/src/mage/cards/d/DreamChisel.java index 705fe64cc21..8508e9b24bf 100644 --- a/Mage.Sets/src/mage/cards/d/DreamChisel.java +++ b/Mage.Sets/src/mage/cards/d/DreamChisel.java @@ -20,7 +20,7 @@ public final class DreamChisel extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("Face-down creature spells"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public DreamChisel(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DreamTides.java b/Mage.Sets/src/mage/cards/d/DreamTides.java index 965adba3808..6f15d52bf11 100644 --- a/Mage.Sets/src/mage/cards/d/DreamTides.java +++ b/Mage.Sets/src/mage/cards/d/DreamTides.java @@ -59,7 +59,7 @@ class DreamTidesEffect extends OneShotEffect { static { filter.add(Predicates.not(new ColorPredicate(ObjectColor.GREEN))); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } DreamTidesEffect() { diff --git a/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java b/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java index 149ce963f0a..65596971ff4 100644 --- a/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java +++ b/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java @@ -29,7 +29,7 @@ public final class DrownerOfSecrets extends CardImpl { static { filter.add(new SubtypePredicate(SubType.MERFOLK)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DrownerOfSecrets(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DrudgeSpell.java b/Mage.Sets/src/mage/cards/d/DrudgeSpell.java index 91a2755db40..efd94be9900 100644 --- a/Mage.Sets/src/mage/cards/d/DrudgeSpell.java +++ b/Mage.Sets/src/mage/cards/d/DrudgeSpell.java @@ -32,7 +32,7 @@ public final class DrudgeSpell extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SKELETON)); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public DrudgeSpell(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DualNature.java b/Mage.Sets/src/mage/cards/d/DualNature.java index fa4e3322710..21051057904 100644 --- a/Mage.Sets/src/mage/cards/d/DualNature.java +++ b/Mage.Sets/src/mage/cards/d/DualNature.java @@ -37,7 +37,7 @@ public final class DualNature extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public DualNature(UUID ownerId, CardSetInfo setInfo) { @@ -130,7 +130,7 @@ class DualNatureCreatureLeavesEffect extends OneShotEffect { Permanent creature = game.getPermanentOrLKIBattlefield(this.getTargetPointer().getFirst(game, source)); if (creature != null) { FilterPermanent filter = new FilterPermanent(); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new NamePredicate(creature.getName())); new ExileAllEffect(filter).apply(game, source); return true; diff --git a/Mage.Sets/src/mage/cards/d/DuneDiviner.java b/Mage.Sets/src/mage/cards/d/DuneDiviner.java index 72e74cd8e1d..55a9939923c 100644 --- a/Mage.Sets/src/mage/cards/d/DuneDiviner.java +++ b/Mage.Sets/src/mage/cards/d/DuneDiviner.java @@ -29,7 +29,7 @@ public final class DuneDiviner extends CardImpl { static { filter.add(new SubtypePredicate(SubType.DESERT)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public DuneDiviner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/Duplicant.java b/Mage.Sets/src/mage/cards/d/Duplicant.java index 6cbb058cdf1..0915c8c8da3 100644 --- a/Mage.Sets/src/mage/cards/d/Duplicant.java +++ b/Mage.Sets/src/mage/cards/d/Duplicant.java @@ -30,7 +30,7 @@ public final class Duplicant extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Duplicant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java b/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java index 17462b8f9dc..77a3726456f 100644 --- a/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java +++ b/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java @@ -28,7 +28,7 @@ public final class DuskborneSkymarcher extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.VAMPIRE, "attacking Vampire"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public DuskborneSkymarcher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java b/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java index 8d143825c2c..1638cf682b4 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java @@ -29,7 +29,7 @@ public final class DwarvenBloodboiler extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("an untapped Dwarf you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.DWARF)); } diff --git a/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java b/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java index 73a10a2f16e..fb4ee16fc5b 100644 --- a/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java +++ b/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java @@ -24,7 +24,7 @@ public final class DwynenGiltLeafDaen extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(SubType.ELF, "attacking Elf you control"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public DwynenGiltLeafDaen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EarlOfSquirrel.java b/Mage.Sets/src/mage/cards/e/EarlOfSquirrel.java index 20259b9d8b6..37c2081f546 100644 --- a/Mage.Sets/src/mage/cards/e/EarlOfSquirrel.java +++ b/Mage.Sets/src/mage/cards/e/EarlOfSquirrel.java @@ -33,7 +33,7 @@ public final class EarlOfSquirrel extends CardImpl { static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); filter2.add(new SubtypePredicate(SubType.SQUIRREL)); } diff --git a/Mage.Sets/src/mage/cards/e/Earthcraft.java b/Mage.Sets/src/mage/cards/e/Earthcraft.java index c89ff398bc7..9db0d2926b1 100644 --- a/Mage.Sets/src/mage/cards/e/Earthcraft.java +++ b/Mage.Sets/src/mage/cards/e/Earthcraft.java @@ -29,7 +29,7 @@ public final class Earthcraft extends CardImpl { private static final FilterControlledPermanent filterLand = new FilterControlledPermanent("basic land"); static { - filterCreature.add(Predicates.not(new TappedPredicate())); + filterCreature.add(Predicates.not(TappedPredicate.instance)); filterLand.add(new CardTypePredicate(CardType.LAND)); filterLand.add(new SupertypePredicate(SuperType.BASIC)); } diff --git a/Mage.Sets/src/mage/cards/e/Earthlore.java b/Mage.Sets/src/mage/cards/e/Earthlore.java index 78808360e16..2a511fba605 100644 --- a/Mage.Sets/src/mage/cards/e/Earthlore.java +++ b/Mage.Sets/src/mage/cards/e/Earthlore.java @@ -43,7 +43,7 @@ public final class Earthlore extends CardImpl { private static final FilterPermanent filterUntapped = new FilterPermanent("enchanted land is untapped"); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } public Earthlore(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EbonyHorse.java b/Mage.Sets/src/mage/cards/e/EbonyHorse.java index f5bcac6c36e..610dd3291cf 100644 --- a/Mage.Sets/src/mage/cards/e/EbonyHorse.java +++ b/Mage.Sets/src/mage/cards/e/EbonyHorse.java @@ -30,7 +30,7 @@ public final class EbonyHorse extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public EbonyHorse(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java index 1e52cb5160b..b2c5911d85b 100644 --- a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java +++ b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java @@ -32,7 +32,7 @@ public final class EliteScaleguard extends CardImpl { static { filter.add(new CounterPredicate(CounterType.P1P1)); - filter2.add(new DefendingPlayerControlsPredicate()); + filter2.add(DefendingPlayerControlsPredicate.instance); } public EliteScaleguard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/ElvishScout.java b/Mage.Sets/src/mage/cards/e/ElvishScout.java index fb03e934950..01a924b85e7 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishScout.java +++ b/Mage.Sets/src/mage/cards/e/ElvishScout.java @@ -30,7 +30,7 @@ public final class ElvishScout extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking creature you control"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public ElvishScout(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EmbalmersTools.java b/Mage.Sets/src/mage/cards/e/EmbalmersTools.java index c81514acd8f..4ca900ff9f9 100644 --- a/Mage.Sets/src/mage/cards/e/EmbalmersTools.java +++ b/Mage.Sets/src/mage/cards/e/EmbalmersTools.java @@ -35,7 +35,7 @@ public final class EmbalmersTools extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Zombie you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ZOMBIE)); } diff --git a/Mage.Sets/src/mage/cards/e/EmmaraTandris.java b/Mage.Sets/src/mage/cards/e/EmmaraTandris.java index e51f33d7129..11d0794557e 100644 --- a/Mage.Sets/src/mage/cards/e/EmmaraTandris.java +++ b/Mage.Sets/src/mage/cards/e/EmmaraTandris.java @@ -21,7 +21,7 @@ public final class EmmaraTandris extends CardImpl { private static final FilterCreatureOrPlayer filter = new FilterCreatureOrPlayer("creature tokens you control"); static { - filter.getCreatureFilter().add(new TokenPredicate()); + filter.getCreatureFilter().add(TokenPredicate.instance); filter.getCreatureFilter().add(new ControllerPredicate(TargetController.YOU)); filter.getPlayerFilter().add(new PlayerIdPredicate(UUID.randomUUID())); } diff --git a/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java b/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java index eb2fc372c1a..ee59ff16cb6 100644 --- a/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java @@ -20,7 +20,7 @@ public final class EnemyOfTheGuildpact extends CardImpl { private static final FilterObject filter = new FilterObject("multicolored"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public EnemyOfTheGuildpact(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EnergyTap.java b/Mage.Sets/src/mage/cards/e/EnergyTap.java index ef1aaadbf82..0b8e57fcd82 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyTap.java +++ b/Mage.Sets/src/mage/cards/e/EnergyTap.java @@ -25,7 +25,7 @@ public final class EnergyTap extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public EnergyTap(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EntanglingVines.java b/Mage.Sets/src/mage/cards/e/EntanglingVines.java index 808eb3b5605..49bd76d564d 100644 --- a/Mage.Sets/src/mage/cards/e/EntanglingVines.java +++ b/Mage.Sets/src/mage/cards/e/EntanglingVines.java @@ -26,7 +26,7 @@ public final class EntanglingVines extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public EntanglingVines(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EntrapmentManeuver.java b/Mage.Sets/src/mage/cards/e/EntrapmentManeuver.java index 2853d798b76..846af092c69 100644 --- a/Mage.Sets/src/mage/cards/e/EntrapmentManeuver.java +++ b/Mage.Sets/src/mage/cards/e/EntrapmentManeuver.java @@ -66,7 +66,7 @@ class EntrapmentManeuverSacrificeEffect extends OneShotEffect { return false; } FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); int realCount = game.getBattlefield().countAll(filter, player.getId(), game); if (realCount > 0) { Target target = new TargetControlledPermanent(1, 1, filter, true); diff --git a/Mage.Sets/src/mage/cards/e/EsperStormblade.java b/Mage.Sets/src/mage/cards/e/EsperStormblade.java index 3803a6edcc3..04f376a441a 100644 --- a/Mage.Sets/src/mage/cards/e/EsperStormblade.java +++ b/Mage.Sets/src/mage/cards/e/EsperStormblade.java @@ -29,7 +29,7 @@ public final class EsperStormblade extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another multicolor permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/e/EstridTheMasked.java b/Mage.Sets/src/mage/cards/e/EstridTheMasked.java index f40fcbd162d..25f0afb81c3 100644 --- a/Mage.Sets/src/mage/cards/e/EstridTheMasked.java +++ b/Mage.Sets/src/mage/cards/e/EstridTheMasked.java @@ -38,7 +38,7 @@ public final class EstridTheMasked extends CardImpl { private static final FilterPermanent filter2 = new FilterPermanent("another permanent"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter2.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/e/Everglades.java b/Mage.Sets/src/mage/cards/e/Everglades.java index 13c7fb1c36d..8e2b3ceae0c 100644 --- a/Mage.Sets/src/mage/cards/e/Everglades.java +++ b/Mage.Sets/src/mage/cards/e/Everglades.java @@ -30,7 +30,7 @@ public final class Everglades extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SWAMP)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Everglades(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Excise.java b/Mage.Sets/src/mage/cards/e/Excise.java index 119914cc3be..a390e62e309 100644 --- a/Mage.Sets/src/mage/cards/e/Excise.java +++ b/Mage.Sets/src/mage/cards/e/Excise.java @@ -20,7 +20,7 @@ public final class Excise extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Excise(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Excoriate.java b/Mage.Sets/src/mage/cards/e/Excoriate.java index a015078ba52..fc376d02c18 100644 --- a/Mage.Sets/src/mage/cards/e/Excoriate.java +++ b/Mage.Sets/src/mage/cards/e/Excoriate.java @@ -19,7 +19,7 @@ public final class Excoriate extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public Excoriate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Exile.java b/Mage.Sets/src/mage/cards/e/Exile.java index 13067c94399..a8d28191980 100644 --- a/Mage.Sets/src/mage/cards/e/Exile.java +++ b/Mage.Sets/src/mage/cards/e/Exile.java @@ -29,7 +29,7 @@ public final class Exile extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonwhite attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(Predicates.not(new ColorPredicate(ObjectColor.WHITE))); } diff --git a/Mage.Sets/src/mage/cards/f/FaerieArtisans.java b/Mage.Sets/src/mage/cards/f/FaerieArtisans.java index db39e5549a3..f02fa39ba42 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieArtisans.java +++ b/Mage.Sets/src/mage/cards/f/FaerieArtisans.java @@ -32,7 +32,7 @@ public final class FaerieArtisans extends CardImpl { private static final FilterCreaturePermanent filterNontoken = new FilterCreaturePermanent("nontoken creature"); static { - filterNontoken.add(Predicates.not(new TokenPredicate())); + filterNontoken.add(Predicates.not(TokenPredicate.instance)); filterNontoken.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java index b97b96f86c0..ba624da7933 100644 --- a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java +++ b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java @@ -32,7 +32,7 @@ public final class FathomFleetCaptain extends CardImpl { static { filter.add(new SubtypePredicate(SubType.PIRATE)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public FathomFleetCaptain(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FeastOfDreams.java b/Mage.Sets/src/mage/cards/f/FeastOfDreams.java index 96f547e448d..b42e154268b 100644 --- a/Mage.Sets/src/mage/cards/f/FeastOfDreams.java +++ b/Mage.Sets/src/mage/cards/f/FeastOfDreams.java @@ -22,7 +22,7 @@ public final class FeastOfDreams extends CardImpl { static { filter.add(Predicates.or( - new EnchantedPredicate(), + EnchantedPredicate.instance, new CardTypePredicate(CardType.ENCHANTMENT) )); } diff --git a/Mage.Sets/src/mage/cards/f/FeedThePack.java b/Mage.Sets/src/mage/cards/f/FeedThePack.java index 24957df34a6..181022e5ef0 100644 --- a/Mage.Sets/src/mage/cards/f/FeedThePack.java +++ b/Mage.Sets/src/mage/cards/f/FeedThePack.java @@ -48,7 +48,7 @@ class FeedThePackEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public FeedThePackEffect() { diff --git a/Mage.Sets/src/mage/cards/f/FenStalker.java b/Mage.Sets/src/mage/cards/f/FenStalker.java index d0e606cb071..e1821d199b6 100644 --- a/Mage.Sets/src/mage/cards/f/FenStalker.java +++ b/Mage.Sets/src/mage/cards/f/FenStalker.java @@ -28,7 +28,7 @@ public final class FenStalker extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public FenStalker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FencersMagemark.java b/Mage.Sets/src/mage/cards/f/FencersMagemark.java index 593ad6407cb..60aad9afb0b 100644 --- a/Mage.Sets/src/mage/cards/f/FencersMagemark.java +++ b/Mage.Sets/src/mage/cards/f/FencersMagemark.java @@ -27,7 +27,7 @@ public final class FencersMagemark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control that are enchanted"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/f/FieldOfSouls.java b/Mage.Sets/src/mage/cards/f/FieldOfSouls.java index 3389be54d9a..16dd2e04da1 100644 --- a/Mage.Sets/src/mage/cards/f/FieldOfSouls.java +++ b/Mage.Sets/src/mage/cards/f/FieldOfSouls.java @@ -23,7 +23,7 @@ public final class FieldOfSouls extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static{ filter.add(new OwnerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public FieldOfSouls(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FieldSurgeon.java b/Mage.Sets/src/mage/cards/f/FieldSurgeon.java index 7931385c8e3..93b62fb1f88 100644 --- a/Mage.Sets/src/mage/cards/f/FieldSurgeon.java +++ b/Mage.Sets/src/mage/cards/f/FieldSurgeon.java @@ -28,7 +28,7 @@ public final class FieldSurgeon extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public FieldSurgeon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FiendBinder.java b/Mage.Sets/src/mage/cards/f/FiendBinder.java index 64a65b75064..1cbc7e0cc79 100644 --- a/Mage.Sets/src/mage/cards/f/FiendBinder.java +++ b/Mage.Sets/src/mage/cards/f/FiendBinder.java @@ -22,7 +22,7 @@ public final class FiendBinder extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public FiendBinder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FightToTheDeath.java b/Mage.Sets/src/mage/cards/f/FightToTheDeath.java index 7f958784000..b0b1ec365d7 100644 --- a/Mage.Sets/src/mage/cards/f/FightToTheDeath.java +++ b/Mage.Sets/src/mage/cards/f/FightToTheDeath.java @@ -21,8 +21,8 @@ public final class FightToTheDeath extends CardImpl { static { filter.add(Predicates.or( - new BlockingPredicate(), - new BlockedPredicate())); + BlockingPredicate.instance, + BlockedPredicate.instance)); } public FightToTheDeath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/Finn.java b/Mage.Sets/src/mage/cards/f/Finn.java index b4429e90ae7..6408b55ac2c 100644 --- a/Mage.Sets/src/mage/cards/f/Finn.java +++ b/Mage.Sets/src/mage/cards/f/Finn.java @@ -28,7 +28,7 @@ public final class Finn extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Finn(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FireAtWill.java b/Mage.Sets/src/mage/cards/f/FireAtWill.java index 706a5cee467..efe7a67bce6 100644 --- a/Mage.Sets/src/mage/cards/f/FireAtWill.java +++ b/Mage.Sets/src/mage/cards/f/FireAtWill.java @@ -23,8 +23,8 @@ public final class FireAtWill extends CardImpl { static { filter.add(Predicates.or( - new AttackingPredicate(), - new BlockingPredicate())); + AttackingPredicate.instance, + BlockingPredicate.instance)); } public FireAtWill(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FlamerushRider.java b/Mage.Sets/src/mage/cards/f/FlamerushRider.java index 57a223dafb4..be2c67e9fd8 100644 --- a/Mage.Sets/src/mage/cards/f/FlamerushRider.java +++ b/Mage.Sets/src/mage/cards/f/FlamerushRider.java @@ -36,7 +36,7 @@ public final class FlamerushRider extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public FlamerushRider(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FlameshadowConjuring.java b/Mage.Sets/src/mage/cards/f/FlameshadowConjuring.java index c490eb81919..9db0cd39359 100644 --- a/Mage.Sets/src/mage/cards/f/FlameshadowConjuring.java +++ b/Mage.Sets/src/mage/cards/f/FlameshadowConjuring.java @@ -33,7 +33,7 @@ public final class FlameshadowConjuring extends CardImpl { private static final FilterControlledCreaturePermanent filterNontoken = new FilterControlledCreaturePermanent("nontoken creature"); static { - filterNontoken.add(Predicates.not(new TokenPredicate())); + filterNontoken.add(Predicates.not(TokenPredicate.instance)); } public FlameshadowConjuring(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/Flicker.java b/Mage.Sets/src/mage/cards/f/Flicker.java index b4631281520..dd16b1d1cb0 100644 --- a/Mage.Sets/src/mage/cards/f/Flicker.java +++ b/Mage.Sets/src/mage/cards/f/Flicker.java @@ -21,7 +21,7 @@ public final class Flicker extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("nontoken permanent"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Flicker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java b/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java index c418a879265..8fde7de47c1 100644 --- a/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java +++ b/Mage.Sets/src/mage/cards/f/FloralSpuzzem.java @@ -27,7 +27,7 @@ public final class FloralSpuzzem extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public FloralSpuzzem(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/Forcefield.java b/Mage.Sets/src/mage/cards/f/Forcefield.java index e225e7c328a..9534b45eb50 100644 --- a/Mage.Sets/src/mage/cards/f/Forcefield.java +++ b/Mage.Sets/src/mage/cards/f/Forcefield.java @@ -53,7 +53,7 @@ class ForcefieldEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("an unblocked creature"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } ForcefieldEffect() { diff --git a/Mage.Sets/src/mage/cards/f/ForgeOfHeroes.java b/Mage.Sets/src/mage/cards/f/ForgeOfHeroes.java index e3e24edaa2c..b745f928008 100644 --- a/Mage.Sets/src/mage/cards/f/ForgeOfHeroes.java +++ b/Mage.Sets/src/mage/cards/f/ForgeOfHeroes.java @@ -29,7 +29,7 @@ public final class ForgeOfHeroes extends CardImpl { = new FilterPermanent("commander that entered the battlefield this turn"); static { - filter.add(new CommanderPredicate()); + filter.add(CommanderPredicate.instance); filter.add(new EnteredThisTurnPredicate()); } diff --git a/Mage.Sets/src/mage/cards/g/GalecasterColossus.java b/Mage.Sets/src/mage/cards/g/GalecasterColossus.java index 93ed2f360e3..9c00fb80e7d 100644 --- a/Mage.Sets/src/mage/cards/g/GalecasterColossus.java +++ b/Mage.Sets/src/mage/cards/g/GalecasterColossus.java @@ -34,7 +34,7 @@ public final class GalecasterColossus extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.NOT_YOU)); filter2.add(new SubtypePredicate(SubType.WIZARD)); - filter2.add(Predicates.not(new TappedPredicate())); + filter2.add(Predicates.not(TappedPredicate.instance)); } public GalecasterColossus(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/Galestrike.java b/Mage.Sets/src/mage/cards/g/Galestrike.java index 372e5bcb889..01a3fd7702d 100644 --- a/Mage.Sets/src/mage/cards/g/Galestrike.java +++ b/Mage.Sets/src/mage/cards/g/Galestrike.java @@ -20,7 +20,7 @@ public final class Galestrike extends CardImpl { private static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public Galestrike(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java b/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java index c8ca0944f9a..c7ce35b44fd 100644 --- a/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java +++ b/Mage.Sets/src/mage/cards/g/GallowsAtWillowHill.java @@ -35,7 +35,7 @@ public final class GallowsAtWillowHill extends CardImpl { private static final FilterControlledPermanent humanFilter = new FilterControlledPermanent("untapped Human you control"); static { - humanFilter.add(Predicates.not(new TappedPredicate())); + humanFilter.add(Predicates.not(TappedPredicate.instance)); humanFilter.add(new SubtypePredicate(SubType.HUMAN)); } diff --git a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java index 8bc4dba224e..5ffff388271 100644 --- a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java +++ b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java @@ -42,7 +42,7 @@ public final class GateToTheAfterlife extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public GateToTheAfterlife(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GatewayShade.java b/Mage.Sets/src/mage/cards/g/GatewayShade.java index 684d873a8e2..cb36365322d 100644 --- a/Mage.Sets/src/mage/cards/g/GatewayShade.java +++ b/Mage.Sets/src/mage/cards/g/GatewayShade.java @@ -28,7 +28,7 @@ public final class GatewayShade extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("untapped Gate you control"); static { filter.add(new SubtypePredicate(SubType.GATE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public GatewayShade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GazeOfJustice.java b/Mage.Sets/src/mage/cards/g/GazeOfJustice.java index 4735ad605b7..10b93cd0ba4 100644 --- a/Mage.Sets/src/mage/cards/g/GazeOfJustice.java +++ b/Mage.Sets/src/mage/cards/g/GazeOfJustice.java @@ -28,7 +28,7 @@ public final class GazeOfJustice extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public GazeOfJustice(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GeneralHux.java b/Mage.Sets/src/mage/cards/g/GeneralHux.java index 653a5381f2a..42bfd880d24 100644 --- a/Mage.Sets/src/mage/cards/g/GeneralHux.java +++ b/Mage.Sets/src/mage/cards/g/GeneralHux.java @@ -29,7 +29,7 @@ public final class GeneralHux extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public GeneralHux(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GenesisChamber.java b/Mage.Sets/src/mage/cards/g/GenesisChamber.java index 709aa2b5237..a739a91f3c9 100644 --- a/Mage.Sets/src/mage/cards/g/GenesisChamber.java +++ b/Mage.Sets/src/mage/cards/g/GenesisChamber.java @@ -30,7 +30,7 @@ public final class GenesisChamber extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public GenesisChamber(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java b/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java index da3c5fdb830..68ee5462a09 100644 --- a/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java +++ b/Mage.Sets/src/mage/cards/g/GhirapurAetherGrid.java @@ -26,7 +26,7 @@ public final class GhirapurAetherGrid extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public GhirapurAetherGrid(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GiantOyster.java b/Mage.Sets/src/mage/cards/g/GiantOyster.java index 53e103906b8..6b4dacd0288 100644 --- a/Mage.Sets/src/mage/cards/g/GiantOyster.java +++ b/Mage.Sets/src/mage/cards/g/GiantOyster.java @@ -37,7 +37,7 @@ public final class GiantOyster extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public GiantOyster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GideonJura.java b/Mage.Sets/src/mage/cards/g/GideonJura.java index d18f5028910..12c783c9ed9 100644 --- a/Mage.Sets/src/mage/cards/g/GideonJura.java +++ b/Mage.Sets/src/mage/cards/g/GideonJura.java @@ -35,7 +35,7 @@ public final class GideonJura extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public GideonJura(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java b/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java index 372a87e19dd..8683602db50 100644 --- a/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java +++ b/Mage.Sets/src/mage/cards/g/GlareOfSubdual.java @@ -28,7 +28,7 @@ public final class GlareOfSubdual extends CardImpl { private static final FilterPermanent filterTarget = new FilterPermanent("artifact or creature"); static { - filterCost.add(Predicates.not(new TappedPredicate())); + filterCost.add(Predicates.not(TappedPredicate.instance)); filterTarget.add(Predicates.or( new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE))); diff --git a/Mage.Sets/src/mage/cards/g/GlassOfTheGuildpact.java b/Mage.Sets/src/mage/cards/g/GlassOfTheGuildpact.java index 1f84a760445..a5e095017ff 100644 --- a/Mage.Sets/src/mage/cards/g/GlassOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/g/GlassOfTheGuildpact.java @@ -20,7 +20,7 @@ public final class GlassOfTheGuildpact extends CardImpl { = new FilterCreaturePermanent("multicolored creatures"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public GlassOfTheGuildpact(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java b/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java index 55bfd2f7493..ced28deab94 100644 --- a/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java +++ b/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java @@ -26,7 +26,7 @@ public final class GlimmerdustNap extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public GlimmerdustNap(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlitteringWish.java b/Mage.Sets/src/mage/cards/g/GlitteringWish.java index 9b063c47ff8..355eb718f94 100644 --- a/Mage.Sets/src/mage/cards/g/GlitteringWish.java +++ b/Mage.Sets/src/mage/cards/g/GlitteringWish.java @@ -19,7 +19,7 @@ public final class GlitteringWish extends CardImpl { private static final FilterCard filter = new FilterCard("a multicolored card"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public GlitteringWish(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlyphOfDestruction.java b/Mage.Sets/src/mage/cards/g/GlyphOfDestruction.java index 29a587f8cd9..016c25f35a5 100644 --- a/Mage.Sets/src/mage/cards/g/GlyphOfDestruction.java +++ b/Mage.Sets/src/mage/cards/g/GlyphOfDestruction.java @@ -25,7 +25,7 @@ public final class GlyphOfDestruction extends CardImpl { static { filter.add(new SubtypePredicate(SubType.WALL)); - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } public GlyphOfDestruction(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java b/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java index 69e6f81b231..a58d85839da 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java +++ b/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java @@ -38,7 +38,7 @@ public final class GnarlrootTrapper extends CardImpl { private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking ELf you control"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(new SubtypePredicate(SubType.ELF)); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinMutant.java b/Mage.Sets/src/mage/cards/g/GoblinMutant.java index 9bc7a1e2663..aaa38655474 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMutant.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMutant.java @@ -30,7 +30,7 @@ public final class GoblinMutant extends CardImpl { static final private FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creatures with power 3 or greater"); static { - filter.add(Predicates.and(new PowerPredicate(ComparisonType.MORE_THAN, 2), Predicates.not(new TappedPredicate()))); + filter.add(Predicates.and(new PowerPredicate(ComparisonType.MORE_THAN, 2), Predicates.not(TappedPredicate.instance))); filter2.add(new PowerPredicate(ComparisonType.MORE_THAN, 2)); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java index 5b197248139..813b051f727 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java @@ -35,7 +35,7 @@ public final class GoblinRabblemaster extends CardImpl { otherGoblinFilter.add(AnotherPredicate.instance); otherGoblinFilter.add(new ControllerPredicate(TargetController.YOU)); - attackingFilter.add(new AttackingPredicate()); + attackingFilter.add(AttackingPredicate.instance); attackingFilter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java b/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java index 80e0d2b5b32..c70dbf9aacd 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java @@ -23,7 +23,7 @@ public final class GoblinRacketeer extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public GoblinRacketeer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java index 1817d450213..b3b5bd14eca 100644 --- a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java +++ b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java @@ -26,7 +26,7 @@ public final class GodhunterOctopus extends CardImpl { static { filter.add(Predicates.or( new CardTypePredicate(CardType.ENCHANTMENT), - new EnchantedPredicate())); + EnchantedPredicate.instance)); } public GodhunterOctopus(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GolgariGermination.java b/Mage.Sets/src/mage/cards/g/GolgariGermination.java index bbcfdc53ee4..f6890106e67 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariGermination.java +++ b/Mage.Sets/src/mage/cards/g/GolgariGermination.java @@ -24,7 +24,7 @@ public final class GolgariGermination extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public GolgariGermination(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GolgothianSylex.java b/Mage.Sets/src/mage/cards/g/GolgothianSylex.java index c2b9261d128..1bf1c09124d 100644 --- a/Mage.Sets/src/mage/cards/g/GolgothianSylex.java +++ b/Mage.Sets/src/mage/cards/g/GolgothianSylex.java @@ -51,7 +51,7 @@ class GolgothianSylexEffect extends OneShotEffect { static { filter.add(Predicates.and( new ExpansionSetPredicate("ATQ"), - Predicates.not(new TokenPredicate()) + Predicates.not(TokenPredicate.instance) )); } diff --git a/Mage.Sets/src/mage/cards/g/GossamerChains.java b/Mage.Sets/src/mage/cards/g/GossamerChains.java index de7c0d7e2c1..0d253b122be 100644 --- a/Mage.Sets/src/mage/cards/g/GossamerChains.java +++ b/Mage.Sets/src/mage/cards/g/GossamerChains.java @@ -24,7 +24,7 @@ public final class GossamerChains extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked creature"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } public GossamerChains(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GovernTheGuildless.java b/Mage.Sets/src/mage/cards/g/GovernTheGuildless.java index e49428ecb09..edf5a2ab8dc 100644 --- a/Mage.Sets/src/mage/cards/g/GovernTheGuildless.java +++ b/Mage.Sets/src/mage/cards/g/GovernTheGuildless.java @@ -23,7 +23,7 @@ public final class GovernTheGuildless extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); static { - filter.add(new MonocoloredPredicate()); + filter.add(MonocoloredPredicate.instance); } public GovernTheGuildless(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrandArchitect.java b/Mage.Sets/src/mage/cards/g/GrandArchitect.java index e599814dfc4..3060d391378 100644 --- a/Mage.Sets/src/mage/cards/g/GrandArchitect.java +++ b/Mage.Sets/src/mage/cards/g/GrandArchitect.java @@ -105,7 +105,7 @@ class GrandArchitectManaAbility extends ActivatedManaAbilityImpl { static { filter.add(new ColorPredicate(ObjectColor.BLUE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } GrandArchitectManaAbility() { diff --git a/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java b/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java index 4a8f32c2c88..dad0cec4b61 100644 --- a/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java +++ b/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java @@ -30,7 +30,7 @@ public final class GravespawnSovereign extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ZOMBIE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public GravespawnSovereign(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java b/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java index befbb73a1b4..76c8afdeb80 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java +++ b/Mage.Sets/src/mage/cards/g/GreaterAuramancy.java @@ -31,7 +31,7 @@ public final class GreaterAuramancy extends CardImpl { filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); filter2.add(new ControllerPredicate(TargetController.YOU)); filter2.add(new CardTypePredicate(CardType.CREATURE)); - filter2.add(new EnchantedPredicate()); + filter2.add(EnchantedPredicate.instance); } public GreaterAuramancy(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrimHaruspex.java b/Mage.Sets/src/mage/cards/g/GrimHaruspex.java index a84eff2d812..bf0c9d478ba 100644 --- a/Mage.Sets/src/mage/cards/g/GrimHaruspex.java +++ b/Mage.Sets/src/mage/cards/g/GrimHaruspex.java @@ -29,7 +29,7 @@ public final class GrimHaruspex extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public GrimHaruspex(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrimlockDinobotLeader.java b/Mage.Sets/src/mage/cards/g/GrimlockDinobotLeader.java index 26548048daf..3fd572c4713 100644 --- a/Mage.Sets/src/mage/cards/g/GrimlockDinobotLeader.java +++ b/Mage.Sets/src/mage/cards/g/GrimlockDinobotLeader.java @@ -38,7 +38,7 @@ public final class GrimlockDinobotLeader extends CardImpl{ static { filter2.add(Predicates.not(new SubtypePredicate(SubType.DINOSAUR))); filter2.add(Predicates.not(new SubtypePredicate(SubType.VEHICLE))); - filter2.add(Predicates.or(new AbilityPredicate(TransformAbility.class), new TransformedPredicate())); + filter2.add(Predicates.or(new AbilityPredicate(TransformAbility.class), TransformedPredicate.instance)); } public GrimlockDinobotLeader(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java b/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java index 6d292691d58..9f47971b9b0 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java +++ b/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java @@ -29,7 +29,7 @@ public final class GrixisGrimblade extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another multicolor permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java index f5ae5cbfd91..d7c445de70d 100644 --- a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java +++ b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java @@ -33,7 +33,7 @@ public final class GroveOfTheGuardian extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public GroveOfTheGuardian(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GruulWarChant.java b/Mage.Sets/src/mage/cards/g/GruulWarChant.java index ca508dd10c7..d403a4a3670 100644 --- a/Mage.Sets/src/mage/cards/g/GruulWarChant.java +++ b/Mage.Sets/src/mage/cards/g/GruulWarChant.java @@ -26,7 +26,7 @@ public final class GruulWarChant extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creatures you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public GruulWarChant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GuanYus1000LiMarch.java b/Mage.Sets/src/mage/cards/g/GuanYus1000LiMarch.java index 6a5e9d1f594..5d4d4adb66c 100644 --- a/Mage.Sets/src/mage/cards/g/GuanYus1000LiMarch.java +++ b/Mage.Sets/src/mage/cards/g/GuanYus1000LiMarch.java @@ -18,7 +18,7 @@ public final class GuanYus1000LiMarch extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creatures"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public GuanYus1000LiMarch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java index e70bbd7cd59..d912fe35185 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java @@ -20,7 +20,7 @@ public final class GuardianOfTheGuildpact extends CardImpl { private static final FilterCard filter = new FilterCard("monocolored"); static { - filter.add(new MonocoloredPredicate()); + filter.add(MonocoloredPredicate.instance); } public GuardianOfTheGuildpact(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GuardianProject.java b/Mage.Sets/src/mage/cards/g/GuardianProject.java index 6deeddafcbf..e58e8339138 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianProject.java +++ b/Mage.Sets/src/mage/cards/g/GuardianProject.java @@ -53,7 +53,7 @@ class GuardianProjectTriggeredAbility extends EntersBattlefieldAllTriggeredAbili public static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } GuardianProjectTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java b/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java index e3f44eb59d6..b16ee18b66b 100644 --- a/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java +++ b/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java @@ -25,7 +25,7 @@ public final class GuardiansMagemark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control that are enchanted"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/g/GuardiansOfKoilos.java b/Mage.Sets/src/mage/cards/g/GuardiansOfKoilos.java index 4d5d4e6d900..01d08304a57 100644 --- a/Mage.Sets/src/mage/cards/g/GuardiansOfKoilos.java +++ b/Mage.Sets/src/mage/cards/g/GuardiansOfKoilos.java @@ -27,7 +27,7 @@ public final class GuardiansOfKoilos extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public GuardiansOfKoilos(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GuildSummit.java b/Mage.Sets/src/mage/cards/g/GuildSummit.java index a6d18e5a067..5f66810b15e 100644 --- a/Mage.Sets/src/mage/cards/g/GuildSummit.java +++ b/Mage.Sets/src/mage/cards/g/GuildSummit.java @@ -64,7 +64,7 @@ class GuildSummitEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.GATE)); } diff --git a/Mage.Sets/src/mage/cards/g/GuildscornWard.java b/Mage.Sets/src/mage/cards/g/GuildscornWard.java index d5b36ac2c5b..926493ff835 100644 --- a/Mage.Sets/src/mage/cards/g/GuildscornWard.java +++ b/Mage.Sets/src/mage/cards/g/GuildscornWard.java @@ -24,7 +24,7 @@ public final class GuildscornWard extends CardImpl { private static final FilterObject filter = new FilterObject("multicolored"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public GuildscornWard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HairStrungKoto.java b/Mage.Sets/src/mage/cards/h/HairStrungKoto.java index 9851b3a7a65..461113571c5 100644 --- a/Mage.Sets/src/mage/cards/h/HairStrungKoto.java +++ b/Mage.Sets/src/mage/cards/h/HairStrungKoto.java @@ -52,7 +52,7 @@ public final class HairStrungKoto extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public HairStrungKoto (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HammerheadCorvette.java b/Mage.Sets/src/mage/cards/h/HammerheadCorvette.java index 4fcedfed348..c24bc7ef690 100644 --- a/Mage.Sets/src/mage/cards/h/HammerheadCorvette.java +++ b/Mage.Sets/src/mage/cards/h/HammerheadCorvette.java @@ -28,7 +28,7 @@ public final class HammerheadCorvette extends CardImpl { static { filter.add(new SubtypePredicate(SubType.STARSHIP)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public HammerheadCorvette(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HandOfJustice.java b/Mage.Sets/src/mage/cards/h/HandOfJustice.java index 31dceaa7837..cb8f234b8aa 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfJustice.java +++ b/Mage.Sets/src/mage/cards/h/HandOfJustice.java @@ -31,7 +31,7 @@ public final class HandOfJustice extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public HandOfJustice(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java b/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java index c2f3051f35b..407f1fe645c 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java @@ -27,7 +27,7 @@ public final class HarbingerOfTheTides extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature an opponent controls"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/h/HarmonyOfNature.java b/Mage.Sets/src/mage/cards/h/HarmonyOfNature.java index 6a7f17e1d4d..33bcb4b7a72 100644 --- a/Mage.Sets/src/mage/cards/h/HarmonyOfNature.java +++ b/Mage.Sets/src/mage/cards/h/HarmonyOfNature.java @@ -49,7 +49,7 @@ class HarmonyOfNatureEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public HarmonyOfNatureEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HarshJustice.java b/Mage.Sets/src/mage/cards/h/HarshJustice.java index 6f763f7f431..b65e020c9bd 100644 --- a/Mage.Sets/src/mage/cards/h/HarshJustice.java +++ b/Mage.Sets/src/mage/cards/h/HarshJustice.java @@ -63,7 +63,7 @@ class HarshJusticeTriggeredAbility extends DelayedTriggeredAbility { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public HarshJusticeTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/h/HarvestSeason.java b/Mage.Sets/src/mage/cards/h/HarvestSeason.java index f0652a5db11..02bbfdf85a8 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestSeason.java +++ b/Mage.Sets/src/mage/cards/h/HarvestSeason.java @@ -50,7 +50,7 @@ class HarvestSeasonEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterControlledCreaturePermanent("tapped creature you control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } HarvestSeasonEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java b/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java index f184e8d3b73..487f203ec76 100644 --- a/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java +++ b/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java @@ -23,7 +23,7 @@ public final class HarvesterOfSouls extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/h/HazyHomunculus.java b/Mage.Sets/src/mage/cards/h/HazyHomunculus.java index 6a7ad243d61..67e4877ae4b 100644 --- a/Mage.Sets/src/mage/cards/h/HazyHomunculus.java +++ b/Mage.Sets/src/mage/cards/h/HazyHomunculus.java @@ -27,7 +27,7 @@ public final class HazyHomunculus extends CardImpl { private static final FilterPermanent filter = new FilterLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public HazyHomunculus(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HearthCharm.java b/Mage.Sets/src/mage/cards/h/HearthCharm.java index 5b6e3d7aece..af7d92eea0e 100644 --- a/Mage.Sets/src/mage/cards/h/HearthCharm.java +++ b/Mage.Sets/src/mage/cards/h/HearthCharm.java @@ -28,7 +28,7 @@ public final class HearthCharm extends CardImpl { private static final FilterCreaturePermanent filter3 = new FilterCreaturePermanent("creature with power 2 or less"); static { filter1.add(new CardTypePredicate(CardType.ARTIFACT)); - filter2.add(new AttackingPredicate()); + filter2.add(AttackingPredicate.instance); filter3.add(new PowerPredicate(ComparisonType.FEWER_THAN, 3)); } diff --git a/Mage.Sets/src/mage/cards/h/Hecatomb.java b/Mage.Sets/src/mage/cards/h/Hecatomb.java index 30efd3863b8..ed9b77932cf 100644 --- a/Mage.Sets/src/mage/cards/h/Hecatomb.java +++ b/Mage.Sets/src/mage/cards/h/Hecatomb.java @@ -32,7 +32,7 @@ public final class Hecatomb extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SWAMP)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Hecatomb(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java b/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java index 3baa8970d36..902555e718a 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteWhelp.java @@ -25,7 +25,7 @@ public final class HellkiteWhelp extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public HellkiteWhelp(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeritageDruid.java b/Mage.Sets/src/mage/cards/h/HeritageDruid.java index 546f91ed037..01419463c65 100644 --- a/Mage.Sets/src/mage/cards/h/HeritageDruid.java +++ b/Mage.Sets/src/mage/cards/h/HeritageDruid.java @@ -25,7 +25,7 @@ public final class HeritageDruid extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Elves you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ELF)); } diff --git a/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java b/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java index 6e4b9110a0e..70b093b32b7 100644 --- a/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java +++ b/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java @@ -37,7 +37,7 @@ public final class HivisOfTheScale extends CardImpl { private static final String rule = "Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped."; static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); filterDragon.add(new SubtypePredicate(SubType.DRAGON)); } diff --git a/Mage.Sets/src/mage/cards/h/HoldoutSettlement.java b/Mage.Sets/src/mage/cards/h/HoldoutSettlement.java index 89f2c60b91d..cbf0f1ea91d 100644 --- a/Mage.Sets/src/mage/cards/h/HoldoutSettlement.java +++ b/Mage.Sets/src/mage/cards/h/HoldoutSettlement.java @@ -23,7 +23,7 @@ public final class HoldoutSettlement extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public HoldoutSettlement(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HollowWarrior.java b/Mage.Sets/src/mage/cards/h/HollowWarrior.java index d6a60e31123..66164064afa 100644 --- a/Mage.Sets/src/mage/cards/h/HollowWarrior.java +++ b/Mage.Sets/src/mage/cards/h/HollowWarrior.java @@ -55,9 +55,9 @@ class HollowWarriorCostToAttackBlockEffect extends PayCostToAttackBlockEffectImp private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped creature you control not declared as an attacking or blocking creature"); static { - filter.add(Predicates.not(new AttackingPredicate())); - filter.add(Predicates.not(new BlockingPredicate())); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(AttackingPredicate.instance)); + filter.add(Predicates.not(BlockingPredicate.instance)); + filter.add(Predicates.not(TappedPredicate.instance)); } HollowWarriorCostToAttackBlockEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HonorWornShaku.java b/Mage.Sets/src/mage/cards/h/HonorWornShaku.java index bcd3f9aca53..b47eb2533a5 100644 --- a/Mage.Sets/src/mage/cards/h/HonorWornShaku.java +++ b/Mage.Sets/src/mage/cards/h/HonorWornShaku.java @@ -27,7 +27,7 @@ public final class HonorWornShaku extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped legendary permanent"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SupertypePredicate(SuperType.LEGENDARY)); } diff --git a/Mage.Sets/src/mage/cards/h/HourOfReckoning.java b/Mage.Sets/src/mage/cards/h/HourOfReckoning.java index 9287b5b8fc9..aca3d75b13b 100644 --- a/Mage.Sets/src/mage/cards/h/HourOfReckoning.java +++ b/Mage.Sets/src/mage/cards/h/HourOfReckoning.java @@ -20,7 +20,7 @@ public final class HourOfReckoning extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creatures"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public HourOfReckoning(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HundredTalonStrike.java b/Mage.Sets/src/mage/cards/h/HundredTalonStrike.java index 9b0d2ccff81..f208a572986 100644 --- a/Mage.Sets/src/mage/cards/h/HundredTalonStrike.java +++ b/Mage.Sets/src/mage/cards/h/HundredTalonStrike.java @@ -30,7 +30,7 @@ public final class HundredTalonStrike extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped white creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ColorPredicate(ObjectColor.WHITE)); } diff --git a/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java b/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java index 48a36abe116..4b1b6ccae27 100644 --- a/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java +++ b/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java @@ -33,7 +33,7 @@ public final class HunterOfEyeblights extends CardImpl { static { filter1.add(new ControllerPredicate(TargetController.NOT_YOU)); - filter2.add(new CounterAnyPredicate()); + filter2.add(CounterAnyPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/i/IdentityThief.java b/Mage.Sets/src/mage/cards/i/IdentityThief.java index 9047dc09554..cfa04ef2f5f 100644 --- a/Mage.Sets/src/mage/cards/i/IdentityThief.java +++ b/Mage.Sets/src/mage/cards/i/IdentityThief.java @@ -37,7 +37,7 @@ public final class IdentityThief extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("target nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public IdentityThief(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java index bc10230d9d6..2272e352a4d 100644 --- a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java +++ b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java @@ -73,7 +73,7 @@ class TappedLandsCount implements DynamicValue { public int calculate(Game game, Ability sourceAbility, Effect effect) { if (sourceAbility != null) { FilterLandPermanent filter = new FilterLandPermanent("tapped lands on the battlefield"); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); return game.getBattlefield().count(filter, sourceAbility.getSourceId(), sourceAbility.getControllerId(), game); } return 0; diff --git a/Mage.Sets/src/mage/cards/i/IllnessInTheRanks.java b/Mage.Sets/src/mage/cards/i/IllnessInTheRanks.java index b33417778bc..9ac0a172bdc 100644 --- a/Mage.Sets/src/mage/cards/i/IllnessInTheRanks.java +++ b/Mage.Sets/src/mage/cards/i/IllnessInTheRanks.java @@ -20,7 +20,7 @@ public final class IllnessInTheRanks extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public IllnessInTheRanks(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/ImpelledGiant.java b/Mage.Sets/src/mage/cards/i/ImpelledGiant.java index 15ab6c0d3f7..0baf4fff2c7 100644 --- a/Mage.Sets/src/mage/cards/i/ImpelledGiant.java +++ b/Mage.Sets/src/mage/cards/i/ImpelledGiant.java @@ -39,7 +39,7 @@ public final class ImpelledGiant extends CardImpl { static final private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped red creature you control other than Impelled Giant"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ColorPredicate(ObjectColor.RED)); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/i/ImperialMask.java b/Mage.Sets/src/mage/cards/i/ImperialMask.java index 11b2f5b0a1e..0052e614027 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialMask.java +++ b/Mage.Sets/src/mage/cards/i/ImperialMask.java @@ -26,7 +26,7 @@ public final class ImperialMask extends CardImpl { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public ImperialMask(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/ImpetuousProtege.java b/Mage.Sets/src/mage/cards/i/ImpetuousProtege.java index a87a5545b94..eb774710b57 100644 --- a/Mage.Sets/src/mage/cards/i/ImpetuousProtege.java +++ b/Mage.Sets/src/mage/cards/i/ImpetuousProtege.java @@ -57,7 +57,7 @@ class ImpetuousProtegeEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java index 49e8926b2a5..be50ef6f7a3 100644 --- a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java +++ b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java @@ -49,10 +49,10 @@ public final class InallaArchmageRitualist extends CardImpl { static { filter.add(new SubtypePredicate(SubType.WIZARD)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); filter2.add(new SubtypePredicate(SubType.WIZARD)); - filter2.add(Predicates.not(new TappedPredicate())); + filter2.add(Predicates.not(TappedPredicate.instance)); } public InallaArchmageRitualist(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/InfernalTribute.java b/Mage.Sets/src/mage/cards/i/InfernalTribute.java index 028994e1913..51a53d5c831 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalTribute.java +++ b/Mage.Sets/src/mage/cards/i/InfernalTribute.java @@ -25,7 +25,7 @@ public final class InfernalTribute extends CardImpl { private final static FilterControlledPermanent filter = new FilterControlledPermanent("a nontoken permanent"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public InfernalTribute(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java b/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java index 66291875c5a..319a3cf2420 100644 --- a/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java +++ b/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java @@ -35,7 +35,7 @@ public final class InfiltratorsMagemark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control that are enchanted"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/i/InkfathomWitch.java b/Mage.Sets/src/mage/cards/i/InkfathomWitch.java index 384933ba5b8..aaeb94fa175 100644 --- a/Mage.Sets/src/mage/cards/i/InkfathomWitch.java +++ b/Mage.Sets/src/mage/cards/i/InkfathomWitch.java @@ -24,7 +24,7 @@ public final class InkfathomWitch extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each unblocked creature"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } public InkfathomWitch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IntangibleVirtue.java b/Mage.Sets/src/mage/cards/i/IntangibleVirtue.java index 7ac02d66583..8bc764d587d 100644 --- a/Mage.Sets/src/mage/cards/i/IntangibleVirtue.java +++ b/Mage.Sets/src/mage/cards/i/IntangibleVirtue.java @@ -23,7 +23,7 @@ public final class IntangibleVirtue extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public IntangibleVirtue(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java index d152a61be41..b964156ea1d 100644 --- a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java +++ b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java @@ -29,7 +29,7 @@ public final class IroasGodOfVictory extends CardImpl { private static final FilterControlledCreatureInPlay filterAttacking = new FilterControlledCreatureInPlay("attacking creatures you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); - filterAttacking.getCreatureFilter().add(new AttackingPredicate()); + filterAttacking.getCreatureFilter().add(AttackingPredicate.instance); } public IroasGodOfVictory(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/ItThatBetrays.java b/Mage.Sets/src/mage/cards/i/ItThatBetrays.java index fda419264fa..e559bed72e7 100644 --- a/Mage.Sets/src/mage/cards/i/ItThatBetrays.java +++ b/Mage.Sets/src/mage/cards/i/ItThatBetrays.java @@ -23,7 +23,7 @@ public final class ItThatBetrays extends CardImpl { private static final FilterPermanent FILTER = new FilterPermanent("nontoken permanent"); static { - FILTER.add(Predicates.not(new TokenPredicate())); + FILTER.add(Predicates.not(TokenPredicate.instance)); } public ItThatBetrays(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IvoryGuardians.java b/Mage.Sets/src/mage/cards/i/IvoryGuardians.java index 8bbb182421d..5298e44ca4d 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryGuardians.java +++ b/Mage.Sets/src/mage/cards/i/IvoryGuardians.java @@ -33,7 +33,7 @@ public final class IvoryGuardians extends CardImpl { static { controlFilter.add(new ColorPredicate(ObjectColor.RED)); - controlFilter.add(Predicates.not(new TokenPredicate())); + controlFilter.add(Predicates.not(TokenPredicate.instance)); boostFilter.add(new NamePredicate("Ivory Guardians")); } diff --git a/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java b/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java index 8871c562f0d..615e5646910 100644 --- a/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java +++ b/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java @@ -26,8 +26,8 @@ public final class IxidorRealitySculptor extends CardImpl { private static final FilterCreaturePermanent filterTarget = new FilterCreaturePermanent("face-down creature"); static { - filter.add(new FaceDownPredicate()); - filterTarget.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); + filterTarget.add(FaceDownPredicate.instance); } public IxidorRealitySculptor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/Ixidron.java b/Mage.Sets/src/mage/cards/i/Ixidron.java index 4d070230bf8..a84f448357e 100644 --- a/Mage.Sets/src/mage/cards/i/Ixidron.java +++ b/Mage.Sets/src/mage/cards/i/Ixidron.java @@ -31,9 +31,9 @@ public final class Ixidron extends CardImpl { private static final FilterCreaturePermanent filterTurnFaceDown = new FilterCreaturePermanent("other nontoken creatures"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filterTurnFaceDown.add(AnotherPredicate.instance); - filterTurnFaceDown.add(Predicates.not(new TokenPredicate())); + filterTurnFaceDown.add(Predicates.not(TokenPredicate.instance)); } public Ixidron(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java b/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java index 74b680ba40d..ea713bf87d8 100644 --- a/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java +++ b/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java @@ -53,7 +53,7 @@ class JaddiLifestriderEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public JaddiLifestriderEffect() { diff --git a/Mage.Sets/src/mage/cards/j/Jihad.java b/Mage.Sets/src/mage/cards/j/Jihad.java index 68035106cac..12ac2407346 100644 --- a/Mage.Sets/src/mage/cards/j/Jihad.java +++ b/Mage.Sets/src/mage/cards/j/Jihad.java @@ -84,7 +84,7 @@ class JihadTriggeredAbility extends StateTriggeredAbility { UUID chosenOpponent = (UUID) game.getState().getValue(getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY); FilterPermanent filter = new FilterPermanent(); filter.add(new ColorPredicate((ObjectColor) game.getState().getValue(getSourceId() + "_color"))); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); return game.getBattlefield().countAll(filter, chosenOpponent, game) == 0; } @@ -101,7 +101,7 @@ class JihadOpponentCondition implements Condition { UUID chosenOpponent = (UUID) game.getState().getValue(source.getSourceId().toString() + ChooseOpponentEffect.VALUE_KEY); FilterPermanent filter = new FilterPermanent(); filter.add(new ColorPredicate((ObjectColor) game.getState().getValue(source.getSourceId() + "_color"))); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); return game.getBattlefield().countAll(filter, chosenOpponent, game) > 0; } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/j/JinxedRing.java b/Mage.Sets/src/mage/cards/j/JinxedRing.java index c2f58dd8e81..ead7bf52e4a 100644 --- a/Mage.Sets/src/mage/cards/j/JinxedRing.java +++ b/Mage.Sets/src/mage/cards/j/JinxedRing.java @@ -34,7 +34,7 @@ public final class JinxedRing extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public JinxedRing(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JudithTheScourgeDiva.java b/Mage.Sets/src/mage/cards/j/JudithTheScourgeDiva.java index aca5d374847..8495a10b955 100644 --- a/Mage.Sets/src/mage/cards/j/JudithTheScourgeDiva.java +++ b/Mage.Sets/src/mage/cards/j/JudithTheScourgeDiva.java @@ -27,7 +27,7 @@ public final class JudithTheScourgeDiva extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public JudithTheScourgeDiva(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JundHackblade.java b/Mage.Sets/src/mage/cards/j/JundHackblade.java index da37e5ab129..c8c36209893 100644 --- a/Mage.Sets/src/mage/cards/j/JundHackblade.java +++ b/Mage.Sets/src/mage/cards/j/JundHackblade.java @@ -29,7 +29,7 @@ public final class JundHackblade extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another multicolor permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/j/JungleBasin.java b/Mage.Sets/src/mage/cards/j/JungleBasin.java index c486b5dce38..e2ceca75b64 100644 --- a/Mage.Sets/src/mage/cards/j/JungleBasin.java +++ b/Mage.Sets/src/mage/cards/j/JungleBasin.java @@ -30,7 +30,7 @@ public final class JungleBasin extends CardImpl { static { filter.add(new SubtypePredicate(SubType.FOREST)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public JungleBasin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JunglePatrol.java b/Mage.Sets/src/mage/cards/j/JunglePatrol.java index db42b08508f..31e9ecade3f 100644 --- a/Mage.Sets/src/mage/cards/j/JunglePatrol.java +++ b/Mage.Sets/src/mage/cards/j/JunglePatrol.java @@ -32,7 +32,7 @@ public final class JunglePatrol extends CardImpl { static { filter.add(new NamePredicate("Wood")); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public JunglePatrol(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/Karoo.java b/Mage.Sets/src/mage/cards/k/Karoo.java index f9b95d496d7..61cb7560d3b 100644 --- a/Mage.Sets/src/mage/cards/k/Karoo.java +++ b/Mage.Sets/src/mage/cards/k/Karoo.java @@ -30,7 +30,7 @@ public final class Karoo extends CardImpl { static { filter.add(new SubtypePredicate(SubType.PLAINS)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Karoo(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KarplusanGiant.java b/Mage.Sets/src/mage/cards/k/KarplusanGiant.java index 8d2b1424c3a..9c1caee8165 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanGiant.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanGiant.java @@ -27,7 +27,7 @@ public final class KarplusanGiant extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("untapped snow land you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SupertypePredicate(SuperType.SNOW)); } diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java index bffa37ce840..87ec804db36 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java @@ -53,7 +53,7 @@ class KeeperOfTheLensLookFaceDownAbility extends ActivatedAbilityImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature you don't control"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filter.add(new ControllerPredicate(TargetController.NOT_YOU)); } diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java index 6fd6128be87..9ced360768d 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java @@ -30,7 +30,7 @@ public final class KeeperOfTheNineGales extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Birds you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.BIRD)); } diff --git a/Mage.Sets/src/mage/cards/k/KeldonBattlewagon.java b/Mage.Sets/src/mage/cards/k/KeldonBattlewagon.java index f6bc0f64752..091a1b32927 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonBattlewagon.java +++ b/Mage.Sets/src/mage/cards/k/KeldonBattlewagon.java @@ -40,7 +40,7 @@ public final class KeldonBattlewagon extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public KeldonBattlewagon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KeldonBerserker.java b/Mage.Sets/src/mage/cards/k/KeldonBerserker.java index f2cf9c195ce..62b80407f09 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonBerserker.java +++ b/Mage.Sets/src/mage/cards/k/KeldonBerserker.java @@ -26,7 +26,7 @@ public final class KeldonBerserker extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("untapped lands"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public KeldonBerserker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KestiaTheCultivator.java b/Mage.Sets/src/mage/cards/k/KestiaTheCultivator.java index 18f4dfcdc3b..ab0b2b932a4 100644 --- a/Mage.Sets/src/mage/cards/k/KestiaTheCultivator.java +++ b/Mage.Sets/src/mage/cards/k/KestiaTheCultivator.java @@ -33,7 +33,7 @@ public final class KestiaTheCultivator extends CardImpl { static { filter.add(Predicates.or( - new EnchantedPredicate(), + EnchantedPredicate.instance, new CardTypePredicate(CardType.ENCHANTMENT) )); filter.add(new ControllerPredicate(TargetController.YOU)); diff --git a/Mage.Sets/src/mage/cards/k/KingsAssassin.java b/Mage.Sets/src/mage/cards/k/KingsAssassin.java index 7651353f168..52dff0cd15c 100644 --- a/Mage.Sets/src/mage/cards/k/KingsAssassin.java +++ b/Mage.Sets/src/mage/cards/k/KingsAssassin.java @@ -26,7 +26,7 @@ public final class KingsAssassin extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public KingsAssassin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java b/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java index fc7d7bbaa5f..36c340c81c9 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java @@ -55,7 +55,7 @@ class KjeldoranRoyalGuardEffect extends ReplacementEffectImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked creatures"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } KjeldoranRoyalGuardEffect() { diff --git a/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java b/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java index 85348bfd94f..09567e76204 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java @@ -55,7 +55,7 @@ class KnightOfNewAlaraEffect extends ContinuousEffectImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public KnightOfNewAlaraEffect() { diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheLastBreath.java b/Mage.Sets/src/mage/cards/k/KnightOfTheLastBreath.java index e0999f0923a..5ac5c3ea80d 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfTheLastBreath.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfTheLastBreath.java @@ -31,7 +31,7 @@ public final class KnightOfTheLastBreath extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public KnightOfTheLastBreath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java b/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java index 7ec1c739e3e..29736510509 100644 --- a/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java +++ b/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java @@ -23,7 +23,7 @@ public final class KnotvinePaladin extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } diff --git a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java index 4959961c930..726ead90abc 100644 --- a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java +++ b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java @@ -34,7 +34,7 @@ public final class KorozdaGuildmage extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public KorozdaGuildmage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KoskunFalls.java b/Mage.Sets/src/mage/cards/k/KoskunFalls.java index 70d378577a5..d285532a0f1 100644 --- a/Mage.Sets/src/mage/cards/k/KoskunFalls.java +++ b/Mage.Sets/src/mage/cards/k/KoskunFalls.java @@ -29,7 +29,7 @@ public final class KoskunFalls extends CardImpl { private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filterCreature.add(Predicates.not(new TappedPredicate())); + filterCreature.add(Predicates.not(TappedPredicate.instance)); } public KoskunFalls(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KrovikanPlague.java b/Mage.Sets/src/mage/cards/k/KrovikanPlague.java index 8bc9f49f3d2..835ac9ee080 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanPlague.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanPlague.java @@ -46,7 +46,7 @@ public final class KrovikanPlague extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchanted creature is untapped"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public KrovikanPlague(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KukemssaPirates.java b/Mage.Sets/src/mage/cards/k/KukemssaPirates.java index 16cb3c70a93..3371ea8a14c 100644 --- a/Mage.Sets/src/mage/cards/k/KukemssaPirates.java +++ b/Mage.Sets/src/mage/cards/k/KukemssaPirates.java @@ -25,7 +25,7 @@ public final class KukemssaPirates extends CardImpl { private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public KukemssaPirates(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KulrathKnight.java b/Mage.Sets/src/mage/cards/k/KulrathKnight.java index a4ad1cc07c2..16687c520ce 100644 --- a/Mage.Sets/src/mage/cards/k/KulrathKnight.java +++ b/Mage.Sets/src/mage/cards/k/KulrathKnight.java @@ -61,7 +61,7 @@ class KulrathKnightRestrictionEffect extends RestrictionEffect { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(new CounterAnyPredicate()); + filter.add(CounterAnyPredicate.instance); } public KulrathKnightRestrictionEffect() { diff --git a/Mage.Sets/src/mage/cards/k/KumenaTyrantOfOrazca.java b/Mage.Sets/src/mage/cards/k/KumenaTyrantOfOrazca.java index 1542fc7bef7..620c839d28e 100644 --- a/Mage.Sets/src/mage/cards/k/KumenaTyrantOfOrazca.java +++ b/Mage.Sets/src/mage/cards/k/KumenaTyrantOfOrazca.java @@ -36,10 +36,10 @@ public final class KumenaTyrantOfOrazca extends CardImpl { static { filterAnotherNotTapped.add(AnotherPredicate.instance); filterAnotherNotTapped.add(new SubtypePredicate(SubType.MERFOLK)); - filterAnotherNotTapped.add(Predicates.not(new TappedPredicate())); + filterAnotherNotTapped.add(Predicates.not(TappedPredicate.instance)); filterNotTapped.add(new SubtypePredicate(SubType.MERFOLK)); - filterNotTapped.add(Predicates.not(new TappedPredicate())); + filterNotTapped.add(Predicates.not(TappedPredicate.instance)); filterAll.add(new SubtypePredicate(SubType.MERFOLK)); } diff --git a/Mage.Sets/src/mage/cards/k/KyloRen.java b/Mage.Sets/src/mage/cards/k/KyloRen.java index 19326d19259..eab9b02ff1d 100644 --- a/Mage.Sets/src/mage/cards/k/KyloRen.java +++ b/Mage.Sets/src/mage/cards/k/KyloRen.java @@ -39,7 +39,7 @@ public final class KyloRen extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public KyloRen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KyrenNegotiations.java b/Mage.Sets/src/mage/cards/k/KyrenNegotiations.java index f21e9a828ea..e9af826e1a8 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenNegotiations.java +++ b/Mage.Sets/src/mage/cards/k/KyrenNegotiations.java @@ -24,7 +24,7 @@ public final class KyrenNegotiations extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public KyrenNegotiations(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/Lashknife.java b/Mage.Sets/src/mage/cards/l/Lashknife.java index c0f5db91dad..a99bf8d1173 100644 --- a/Mage.Sets/src/mage/cards/l/Lashknife.java +++ b/Mage.Sets/src/mage/cards/l/Lashknife.java @@ -38,7 +38,7 @@ public final class Lashknife extends CardImpl { static { plainsFilter.add(new SubtypePredicate(SubType.PLAINS)); - creatureFilter.add(Predicates.not(new TappedPredicate())); + creatureFilter.add(Predicates.not(TappedPredicate.instance)); } public Lashknife(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LathlissDragonQueen.java b/Mage.Sets/src/mage/cards/l/LathlissDragonQueen.java index fa3f097a740..e93fb4b01db 100644 --- a/Mage.Sets/src/mage/cards/l/LathlissDragonQueen.java +++ b/Mage.Sets/src/mage/cards/l/LathlissDragonQueen.java @@ -34,7 +34,7 @@ public final class LathlissDragonQueen extends CardImpl { static { filter.add(new SubtypePredicate(SubType.DRAGON)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); filter2.add(new SubtypePredicate(SubType.DRAGON)); } diff --git a/Mage.Sets/src/mage/cards/l/LedevChampion.java b/Mage.Sets/src/mage/cards/l/LedevChampion.java index 8c5d59ecaed..babd14a4eb4 100644 --- a/Mage.Sets/src/mage/cards/l/LedevChampion.java +++ b/Mage.Sets/src/mage/cards/l/LedevChampion.java @@ -68,7 +68,7 @@ class LedevChampionEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LedevChampionEffect() { diff --git a/Mage.Sets/src/mage/cards/l/LenaSelflessChampion.java b/Mage.Sets/src/mage/cards/l/LenaSelflessChampion.java index e86a5719636..b3fbdbf3ec1 100644 --- a/Mage.Sets/src/mage/cards/l/LenaSelflessChampion.java +++ b/Mage.Sets/src/mage/cards/l/LenaSelflessChampion.java @@ -38,7 +38,7 @@ public final class LenaSelflessChampion extends CardImpl { = new FilterControlledCreaturePermanent("nontoken creature you control"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public LenaSelflessChampion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LensOfClarity.java b/Mage.Sets/src/mage/cards/l/LensOfClarity.java index c958c1d3759..cbf6afb818d 100644 --- a/Mage.Sets/src/mage/cards/l/LensOfClarity.java +++ b/Mage.Sets/src/mage/cards/l/LensOfClarity.java @@ -110,7 +110,7 @@ class LensOfClarityLookFaceDownAbility extends ActivatedAbilityImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature you don't control"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filter.add(new ControllerPredicate(TargetController.NOT_YOU)); } diff --git a/Mage.Sets/src/mage/cards/l/LeoninBladetrap.java b/Mage.Sets/src/mage/cards/l/LeoninBladetrap.java index 007da60f6ae..0bc2e9ff716 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninBladetrap.java +++ b/Mage.Sets/src/mage/cards/l/LeoninBladetrap.java @@ -26,7 +26,7 @@ public final class LeoninBladetrap extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature without flying"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } diff --git a/Mage.Sets/src/mage/cards/l/LethargyTrap.java b/Mage.Sets/src/mage/cards/l/LethargyTrap.java index d06efc253cd..ecad4964478 100644 --- a/Mage.Sets/src/mage/cards/l/LethargyTrap.java +++ b/Mage.Sets/src/mage/cards/l/LethargyTrap.java @@ -26,7 +26,7 @@ public final class LethargyTrap extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creatures"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public LethargyTrap(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/Liability.java b/Mage.Sets/src/mage/cards/l/Liability.java index 985cf2fc57e..0c1930b7ede 100644 --- a/Mage.Sets/src/mage/cards/l/Liability.java +++ b/Mage.Sets/src/mage/cards/l/Liability.java @@ -25,7 +25,7 @@ public final class Liability extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("a nontoken permanent"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Liability(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/Lich.java b/Mage.Sets/src/mage/cards/l/Lich.java index 523d67acc0a..a04b2c81a1a 100644 --- a/Mage.Sets/src/mage/cards/l/Lich.java +++ b/Mage.Sets/src/mage/cards/l/Lich.java @@ -145,7 +145,7 @@ class LichDamageEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("nontoken permanent"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } private int amount = 0; diff --git a/Mage.Sets/src/mage/cards/l/LightningCoils.java b/Mage.Sets/src/mage/cards/l/LightningCoils.java index 22885e7b29c..9b290065a0f 100644 --- a/Mage.Sets/src/mage/cards/l/LightningCoils.java +++ b/Mage.Sets/src/mage/cards/l/LightningCoils.java @@ -32,7 +32,7 @@ public final class LightningCoils extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a nontoken creature you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public LightningCoils(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java index 6989de1df3f..990e7a7b2e1 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java +++ b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java @@ -33,7 +33,7 @@ public final class LilianaHereticalHealer extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public LilianaHereticalHealer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LingeringPhantom.java b/Mage.Sets/src/mage/cards/l/LingeringPhantom.java index 380cfca8096..1a16edbbbdd 100644 --- a/Mage.Sets/src/mage/cards/l/LingeringPhantom.java +++ b/Mage.Sets/src/mage/cards/l/LingeringPhantom.java @@ -24,7 +24,7 @@ public final class LingeringPhantom extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public LingeringPhantom(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java b/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java index f0a02284140..2757f292e63 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java @@ -25,7 +25,7 @@ public final class LlanowarBehemoth extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LlanowarBehemoth(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LoamDryad.java b/Mage.Sets/src/mage/cards/l/LoamDryad.java index d4e1f9d8ebf..b2940609ab7 100644 --- a/Mage.Sets/src/mage/cards/l/LoamDryad.java +++ b/Mage.Sets/src/mage/cards/l/LoamDryad.java @@ -24,7 +24,7 @@ public final class LoamDryad extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LoamDryad(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LodestoneMyr.java b/Mage.Sets/src/mage/cards/l/LodestoneMyr.java index 274faad42ec..fcbd7bf7e82 100644 --- a/Mage.Sets/src/mage/cards/l/LodestoneMyr.java +++ b/Mage.Sets/src/mage/cards/l/LodestoneMyr.java @@ -26,7 +26,7 @@ public final class LodestoneMyr extends CardImpl { private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("untapped artifact you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LodestoneMyr(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LotusVale.java b/Mage.Sets/src/mage/cards/l/LotusVale.java index 1d13d07a893..052c1c11eb9 100644 --- a/Mage.Sets/src/mage/cards/l/LotusVale.java +++ b/Mage.Sets/src/mage/cards/l/LotusVale.java @@ -26,7 +26,7 @@ public final class LotusVale extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("two untapped lands"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LotusVale(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LullmageMentor.java b/Mage.Sets/src/mage/cards/l/LullmageMentor.java index eebcda5ac9b..7262f0752cd 100644 --- a/Mage.Sets/src/mage/cards/l/LullmageMentor.java +++ b/Mage.Sets/src/mage/cards/l/LullmageMentor.java @@ -32,7 +32,7 @@ public final class LullmageMentor extends CardImpl { static { filter.add(new SubtypePredicate(SubType.MERFOLK)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public LullmageMentor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LumberingBattlement.java b/Mage.Sets/src/mage/cards/l/LumberingBattlement.java index 9ef6fbadfd0..4b08d51a6d6 100644 --- a/Mage.Sets/src/mage/cards/l/LumberingBattlement.java +++ b/Mage.Sets/src/mage/cards/l/LumberingBattlement.java @@ -75,7 +75,7 @@ class LumberingBattlementEffect extends OneShotEffect { = new FilterControlledCreaturePermanent("nontoken creatures"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } LumberingBattlementEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MagneticMountain.java b/Mage.Sets/src/mage/cards/m/MagneticMountain.java index 5cb79401b80..92f9b301943 100644 --- a/Mage.Sets/src/mage/cards/m/MagneticMountain.java +++ b/Mage.Sets/src/mage/cards/m/MagneticMountain.java @@ -65,7 +65,7 @@ class MagneticMountainEffect extends OneShotEffect { static { filter2.add(new ColorPredicate(ObjectColor.BLUE)); - filter2.add(new TappedPredicate()); + filter2.add(TappedPredicate.instance); } MagneticMountainEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java index a53374fa6e6..e55d840ec1a 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java +++ b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java @@ -31,7 +31,7 @@ public final class MalakirSoothsayer extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MalakirSoothsayer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/ManaCache.java b/Mage.Sets/src/mage/cards/m/ManaCache.java index 75437573ac8..54cb19a0bac 100644 --- a/Mage.Sets/src/mage/cards/m/ManaCache.java +++ b/Mage.Sets/src/mage/cards/m/ManaCache.java @@ -59,7 +59,7 @@ class ManaCacheEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ManaCacheEffect() { diff --git a/Mage.Sets/src/mage/cards/m/ManaGeyser.java b/Mage.Sets/src/mage/cards/m/ManaGeyser.java index 7e752d2ee9d..1069b455208 100644 --- a/Mage.Sets/src/mage/cards/m/ManaGeyser.java +++ b/Mage.Sets/src/mage/cards/m/ManaGeyser.java @@ -21,7 +21,7 @@ public final class ManaGeyser extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("tapped land your opponents control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } public ManaGeyser(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java index 3619d29b3fd..9d560a6bb06 100644 --- a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java +++ b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java @@ -27,7 +27,7 @@ public final class MaraxusOfKeld extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped artifacts, creatures, and lands you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(Predicates.or( new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), diff --git a/Mage.Sets/src/mage/cards/m/MarduAscendancy.java b/Mage.Sets/src/mage/cards/m/MarduAscendancy.java index f7e370116ce..d821628d156 100644 --- a/Mage.Sets/src/mage/cards/m/MarduAscendancy.java +++ b/Mage.Sets/src/mage/cards/m/MarduAscendancy.java @@ -30,7 +30,7 @@ public final class MarduAscendancy extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control"); static { - attackFilter.add(Predicates.not(new TokenPredicate())); + attackFilter.add(Predicates.not(TokenPredicate.instance)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/m/MarshalingTheTroops.java b/Mage.Sets/src/mage/cards/m/MarshalingTheTroops.java index 5f4a56391ff..ac37de8471c 100644 --- a/Mage.Sets/src/mage/cards/m/MarshalingTheTroops.java +++ b/Mage.Sets/src/mage/cards/m/MarshalingTheTroops.java @@ -49,7 +49,7 @@ class MarshalingTheTroopsEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MarshalingTheTroopsEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java b/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java index f13d5931d53..776aa88b33b 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java @@ -31,7 +31,7 @@ public final class MaskOfTheMimic extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public MaskOfTheMimic(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MasterApothecary.java b/Mage.Sets/src/mage/cards/m/MasterApothecary.java index c7e02a7431c..bb44e92b0dc 100644 --- a/Mage.Sets/src/mage/cards/m/MasterApothecary.java +++ b/Mage.Sets/src/mage/cards/m/MasterApothecary.java @@ -30,7 +30,7 @@ public final class MasterApothecary extends CardImpl { static { filter.add(new SubtypePredicate(SubType.CLERIC)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MasterApothecary(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java b/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java index 00e6affcea9..f54b0f4c509 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java @@ -22,7 +22,7 @@ public final class MasterOfDiversion extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public MasterOfDiversion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java b/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java index a4bb0aa626e..ec5f5d5fc50 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java @@ -69,7 +69,7 @@ class MasterOfTheWildHuntEffect extends OneShotEffect { static { filter.add(new SubtypePredicate(SubType.WOLF)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MasterOfTheWildHuntEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java index a0b101ebcb4..98fe12b17d7 100644 --- a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java +++ b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java @@ -57,7 +57,7 @@ class MavrenFeinDuskApostleTriggeredAbility extends TriggeredAbilityImpl { static { filter.add(new SubtypePredicate(SubType.VAMPIRE)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/m/MazeAbomination.java b/Mage.Sets/src/mage/cards/m/MazeAbomination.java index 7168099bec2..751d9ee3fa5 100644 --- a/Mage.Sets/src/mage/cards/m/MazeAbomination.java +++ b/Mage.Sets/src/mage/cards/m/MazeAbomination.java @@ -26,7 +26,7 @@ public final class MazeAbomination extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Multicolored creatures you control"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public MazeAbomination (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MazeBehemoth.java b/Mage.Sets/src/mage/cards/m/MazeBehemoth.java index ddeb6ec6f22..a9b69d81d15 100644 --- a/Mage.Sets/src/mage/cards/m/MazeBehemoth.java +++ b/Mage.Sets/src/mage/cards/m/MazeBehemoth.java @@ -26,7 +26,7 @@ public final class MazeBehemoth extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Multicolored creatures you control"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public MazeBehemoth (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MazeGlider.java b/Mage.Sets/src/mage/cards/m/MazeGlider.java index 1e58b2d741e..b39b8301ba5 100644 --- a/Mage.Sets/src/mage/cards/m/MazeGlider.java +++ b/Mage.Sets/src/mage/cards/m/MazeGlider.java @@ -26,7 +26,7 @@ public final class MazeGlider extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Multicolored creatures you control"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public MazeGlider (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MazeRusher.java b/Mage.Sets/src/mage/cards/m/MazeRusher.java index 995e865c6e6..aed3e120bba 100644 --- a/Mage.Sets/src/mage/cards/m/MazeRusher.java +++ b/Mage.Sets/src/mage/cards/m/MazeRusher.java @@ -26,7 +26,7 @@ public final class MazeRusher extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Multicolored creatures you control"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public MazeRusher (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MazeSentinel.java b/Mage.Sets/src/mage/cards/m/MazeSentinel.java index 11218b098a0..357af8a3988 100644 --- a/Mage.Sets/src/mage/cards/m/MazeSentinel.java +++ b/Mage.Sets/src/mage/cards/m/MazeSentinel.java @@ -26,7 +26,7 @@ public final class MazeSentinel extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Multicolored creatures you control"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public MazeSentinel (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java index 44cb9245b47..e50658d5fa6 100644 --- a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java +++ b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java @@ -36,7 +36,7 @@ public final class MercenaryInformer extends CardImpl { static { filterBlack.add(new ColorPredicate(ObjectColor.BLACK)); - filterMercenary.add(Predicates.not(new TokenPredicate())); + filterMercenary.add(Predicates.not(TokenPredicate.instance)); filterMercenary.add(new SubtypePredicate(SubType.MERCENARY)); } diff --git a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java index 2c59d904fc3..d63af5b129c 100644 --- a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java +++ b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java @@ -116,7 +116,7 @@ class TapXTargetCost extends VariableCostImpl { final static FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("untapped artifacts you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public TapXTargetCost() { diff --git a/Mage.Sets/src/mage/cards/m/MidnightReaper.java b/Mage.Sets/src/mage/cards/m/MidnightReaper.java index 5af4535203d..cfe9c74eb99 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightReaper.java +++ b/Mage.Sets/src/mage/cards/m/MidnightReaper.java @@ -27,7 +27,7 @@ public final class MidnightReaper extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public MidnightReaper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/Mightstone.java b/Mage.Sets/src/mage/cards/m/Mightstone.java index f7922170fde..bb36bf9e8de 100644 --- a/Mage.Sets/src/mage/cards/m/Mightstone.java +++ b/Mage.Sets/src/mage/cards/m/Mightstone.java @@ -21,7 +21,7 @@ public final class Mightstone extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creatures"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Mightstone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MilitiasPride.java b/Mage.Sets/src/mage/cards/m/MilitiasPride.java index 17c500ee0b4..5d413d911c0 100644 --- a/Mage.Sets/src/mage/cards/m/MilitiasPride.java +++ b/Mage.Sets/src/mage/cards/m/MilitiasPride.java @@ -63,7 +63,7 @@ class MilitiasPrideTriggerAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); Permanent permanent = game.getPermanent(event.getSourceId()); return permanent != null && filter.match(permanent, sourceId, controllerId, game); } diff --git a/Mage.Sets/src/mage/cards/m/MinionReflector.java b/Mage.Sets/src/mage/cards/m/MinionReflector.java index a4226643089..31da2e28812 100644 --- a/Mage.Sets/src/mage/cards/m/MinionReflector.java +++ b/Mage.Sets/src/mage/cards/m/MinionReflector.java @@ -35,7 +35,7 @@ public final class MinionReflector extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public MinionReflector(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MirrorMarch.java b/Mage.Sets/src/mage/cards/m/MirrorMarch.java index 5878db12ef1..9d242c439d7 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorMarch.java +++ b/Mage.Sets/src/mage/cards/m/MirrorMarch.java @@ -25,7 +25,7 @@ public final class MirrorMarch extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public MirrorMarch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MirrorStrike.java b/Mage.Sets/src/mage/cards/m/MirrorStrike.java index b76e9ff5693..f6f38df4317 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorStrike.java +++ b/Mage.Sets/src/mage/cards/m/MirrorStrike.java @@ -29,7 +29,7 @@ public final class MirrorStrike extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked creature"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } public MirrorStrike(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/Mirrorworks.java b/Mage.Sets/src/mage/cards/m/Mirrorworks.java index 6adbdd1d58c..c96992b9a42 100644 --- a/Mage.Sets/src/mage/cards/m/Mirrorworks.java +++ b/Mage.Sets/src/mage/cards/m/Mirrorworks.java @@ -27,7 +27,7 @@ public final class Mirrorworks extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Mirrorworks(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java b/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java index 59aff775c62..709731b01e4 100644 --- a/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java +++ b/Mage.Sets/src/mage/cards/m/MishrasSelfReplicator.java @@ -23,7 +23,7 @@ public final class MishrasSelfReplicator extends CardImpl { private static final FilterSpell filter = new FilterSpell("a historic spell"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public MishrasSelfReplicator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MoggJailer.java b/Mage.Sets/src/mage/cards/m/MoggJailer.java index bce46bb14ab..8b8eb90e0a3 100644 --- a/Mage.Sets/src/mage/cards/m/MoggJailer.java +++ b/Mage.Sets/src/mage/cards/m/MoggJailer.java @@ -25,7 +25,7 @@ public final class MoggJailer extends CardImpl { static final private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature with power 2 or less"); static { - filter.add(Predicates.and(new PowerPredicate(ComparisonType.FEWER_THAN, 2), Predicates.not(new TappedPredicate()))); + filter.add(Predicates.and(new PowerPredicate(ComparisonType.FEWER_THAN, 2), Predicates.not(TappedPredicate.instance))); } public MoggJailer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/Monsoon.java b/Mage.Sets/src/mage/cards/m/Monsoon.java index 4b91ad79f8e..24c52740c5c 100644 --- a/Mage.Sets/src/mage/cards/m/Monsoon.java +++ b/Mage.Sets/src/mage/cards/m/Monsoon.java @@ -50,7 +50,7 @@ class MonsoonEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent(); static { filter.add(new SubtypePredicate(SubType.ISLAND)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MonsoonEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java b/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java index 817bccc111b..2218db67e66 100644 --- a/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java +++ b/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java @@ -36,7 +36,7 @@ public final class MossbridgeTroll extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MossbridgeTroll(UUID ownerId, CardSetInfo setInfo) { @@ -110,7 +110,7 @@ class MossbridgeTrollCost extends CostImpl { static { filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MossbridgeTrollCost() { diff --git a/Mage.Sets/src/mage/cards/m/MothdustChangeling.java b/Mage.Sets/src/mage/cards/m/MothdustChangeling.java index 9f645fe8eb7..6f276339b1e 100644 --- a/Mage.Sets/src/mage/cards/m/MothdustChangeling.java +++ b/Mage.Sets/src/mage/cards/m/MothdustChangeling.java @@ -27,7 +27,7 @@ public final class MothdustChangeling extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MothdustChangeling(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/Mudslide.java b/Mage.Sets/src/mage/cards/m/Mudslide.java index c63e74715d2..84d3855ead9 100644 --- a/Mage.Sets/src/mage/cards/m/Mudslide.java +++ b/Mage.Sets/src/mage/cards/m/Mudslide.java @@ -65,7 +65,7 @@ class MudslideEffect extends OneShotEffect { static { filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } MudslideEffect() { diff --git a/Mage.Sets/src/mage/cards/m/MundasVanguard.java b/Mage.Sets/src/mage/cards/m/MundasVanguard.java index b2c05c34b7a..52708a49288 100644 --- a/Mage.Sets/src/mage/cards/m/MundasVanguard.java +++ b/Mage.Sets/src/mage/cards/m/MundasVanguard.java @@ -32,7 +32,7 @@ public final class MundasVanguard extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public MundasVanguard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java b/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java index 169a2b55eef..5056353cdca 100644 --- a/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java +++ b/Mage.Sets/src/mage/cards/m/MurderousCompulsion.java @@ -21,7 +21,7 @@ public final class MurderousCompulsion extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public MurderousCompulsion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java b/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java index 0302a4c60a6..b43eed17cc8 100644 --- a/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java +++ b/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java @@ -105,7 +105,7 @@ class MyrBattlesphereEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Myr you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.MYR)); } diff --git a/Mage.Sets/src/mage/cards/m/MythUnbound.java b/Mage.Sets/src/mage/cards/m/MythUnbound.java index 421ff850c84..86e13abb32e 100644 --- a/Mage.Sets/src/mage/cards/m/MythUnbound.java +++ b/Mage.Sets/src/mage/cards/m/MythUnbound.java @@ -32,7 +32,7 @@ public final class MythUnbound extends CardImpl { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(new CommanderPredicate()); + filter.add(CommanderPredicate.instance); filter.add(new OwnerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java index c0dd70f67eb..1ba32622d66 100644 --- a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java +++ b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java @@ -49,9 +49,9 @@ public final class NahiriTheHarbinger extends CardImpl { static { filter.add(Predicates.or(new CardTypePredicate(CardType.ENCHANTMENT), (Predicates.and(new CardTypePredicate(CardType.ARTIFACT), - new TappedPredicate())), + TappedPredicate.instance)), (Predicates.and(new CardTypePredicate(CardType.CREATURE), - new TappedPredicate())))); + TappedPredicate.instance)))); } public NahiriTheHarbinger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NamelessRace.java b/Mage.Sets/src/mage/cards/n/NamelessRace.java index cebf34c2e36..73afab8657f 100644 --- a/Mage.Sets/src/mage/cards/n/NamelessRace.java +++ b/Mage.Sets/src/mage/cards/n/NamelessRace.java @@ -64,7 +64,7 @@ class NamelessRaceEffect extends OneShotEffect { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(new ControllerPredicate(TargetController.OPPONENT)); filter2.add(new ColorPredicate(ObjectColor.WHITE)); filter2.add(new OwnerPredicate(TargetController.OPPONENT)); diff --git a/Mage.Sets/src/mage/cards/n/NantukoShaman.java b/Mage.Sets/src/mage/cards/n/NantukoShaman.java index b17eaccb4bd..ad62796b096 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoShaman.java +++ b/Mage.Sets/src/mage/cards/n/NantukoShaman.java @@ -26,7 +26,7 @@ public final class NantukoShaman extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public NantukoShaman(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NaturesChosen.java b/Mage.Sets/src/mage/cards/n/NaturesChosen.java index 9cb96ea8a30..6fb1055bef0 100644 --- a/Mage.Sets/src/mage/cards/n/NaturesChosen.java +++ b/Mage.Sets/src/mage/cards/n/NaturesChosen.java @@ -49,7 +49,7 @@ public final class NaturesChosen extends CardImpl { static { filterWhiteUntappedCreature.add(new ColorPredicate(ObjectColor.WHITE)); - filterWhiteUntappedCreature.add(Predicates.not(new TappedPredicate())); + filterWhiteUntappedCreature.add(Predicates.not(TappedPredicate.instance)); } public NaturesChosen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NayaHushblade.java b/Mage.Sets/src/mage/cards/n/NayaHushblade.java index 0c9cee189b3..343d71f445d 100644 --- a/Mage.Sets/src/mage/cards/n/NayaHushblade.java +++ b/Mage.Sets/src/mage/cards/n/NayaHushblade.java @@ -29,7 +29,7 @@ public final class NayaHushblade extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("another multicolor permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java index e90ec468686..bd4511146b4 100644 --- a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java +++ b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java @@ -38,7 +38,7 @@ public final class NazahnReveredBladesmith extends CardImpl { private static final FilterControlledCreaturePermanent equippedFilter = new FilterControlledCreaturePermanent("equipped creature you control"); static { - equippedFilter.add(new EquippedPredicate()); + equippedFilter.add(EquippedPredicate.instance); equippedFilter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java index 168c633cb71..c80c8ff70a7 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java @@ -36,7 +36,7 @@ public final class NecromancersMagemark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures you control that are enchanted"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/n/NemesisTrap.java b/Mage.Sets/src/mage/cards/n/NemesisTrap.java index 003fa1cb475..39512496787 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisTrap.java +++ b/Mage.Sets/src/mage/cards/n/NemesisTrap.java @@ -36,7 +36,7 @@ public final class NemesisTrap extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public NemesisTrap(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NeutralizingBlast.java b/Mage.Sets/src/mage/cards/n/NeutralizingBlast.java index 39a9864fc7e..f4eeb349855 100644 --- a/Mage.Sets/src/mage/cards/n/NeutralizingBlast.java +++ b/Mage.Sets/src/mage/cards/n/NeutralizingBlast.java @@ -18,7 +18,7 @@ public final class NeutralizingBlast extends CardImpl { private static final FilterSpell filter = new FilterSpell("multicolored spell"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public NeutralizingBlast(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NewBlood.java b/Mage.Sets/src/mage/cards/n/NewBlood.java index b4b1ee8437a..4361a19ef0d 100644 --- a/Mage.Sets/src/mage/cards/n/NewBlood.java +++ b/Mage.Sets/src/mage/cards/n/NewBlood.java @@ -39,7 +39,7 @@ public final class NewBlood extends CardImpl { TextPartSubType textPartVampire = (TextPartSubType) addTextPart(new TextPartSubType(SubType.VAMPIRE)); FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped Vampire you control"); filter.add(new TextPartSubtypePredicate(textPartVampire)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); // As an additional cost to cast New Blood, tap an untapped Vampire you control. this.getSpellAbility().addCost(new TapTargetCost( new TargetControlledCreaturePermanent(1, 1, filter, true))); diff --git a/Mage.Sets/src/mage/cards/n/NobleStand.java b/Mage.Sets/src/mage/cards/n/NobleStand.java index c03e4d4c558..5d490b14578 100644 --- a/Mage.Sets/src/mage/cards/n/NobleStand.java +++ b/Mage.Sets/src/mage/cards/n/NobleStand.java @@ -56,7 +56,7 @@ class NobleStandAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); Permanent permanent = game.getPermanent(event.getSourceId()); return permanent != null && filter.match(permanent, sourceId, controllerId, game); } diff --git a/Mage.Sets/src/mage/cards/n/NosyGoblin.java b/Mage.Sets/src/mage/cards/n/NosyGoblin.java index d0bf2f67eb9..369af08b43e 100644 --- a/Mage.Sets/src/mage/cards/n/NosyGoblin.java +++ b/Mage.Sets/src/mage/cards/n/NosyGoblin.java @@ -26,7 +26,7 @@ public final class NosyGoblin extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public NosyGoblin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NullmageShepherd.java b/Mage.Sets/src/mage/cards/n/NullmageShepherd.java index 0373a0c16e4..38ed9f9b56d 100644 --- a/Mage.Sets/src/mage/cards/n/NullmageShepherd.java +++ b/Mage.Sets/src/mage/cards/n/NullmageShepherd.java @@ -28,7 +28,7 @@ public final class NullmageShepherd extends CardImpl { private static final FilterControlledCreaturePermanent filterCost = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filterCost.add(Predicates.not(new TappedPredicate())); + filterCost.add(Predicates.not(TappedPredicate.instance)); } public NullmageShepherd(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NuteGunray.java b/Mage.Sets/src/mage/cards/n/NuteGunray.java index aad1a83e17a..bffe968bd27 100644 --- a/Mage.Sets/src/mage/cards/n/NuteGunray.java +++ b/Mage.Sets/src/mage/cards/n/NuteGunray.java @@ -34,7 +34,7 @@ public final class NuteGunray extends CardImpl { private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("non-token artifact"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public NuteGunray(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java b/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java index bd5dbb0a8b9..a25c0b16166 100644 --- a/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java +++ b/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java @@ -26,7 +26,7 @@ public final class OakStreetInnkeeper extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent("tapped creatures you control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public OakStreetInnkeeper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OblivionSower.java b/Mage.Sets/src/mage/cards/o/OblivionSower.java index 8742de4f54a..f3c8a5272d6 100644 --- a/Mage.Sets/src/mage/cards/o/OblivionSower.java +++ b/Mage.Sets/src/mage/cards/o/OblivionSower.java @@ -81,7 +81,7 @@ class OblivionSowerEffect extends OneShotEffect { if (controller != null && targetPlayer != null) { FilterLandCard filter = new FilterLandCard(); filter.add(new OwnerIdPredicate(targetPlayer.getId())); - filter.add(Predicates.not(new FaceDownPredicate())); + filter.add(Predicates.not(FaceDownPredicate.instance)); Cards exiledCards = new CardsImpl(); exiledCards.addAll(game.getExile().getAllCards(game)); Cards exiledLands = new CardsImpl(); diff --git a/Mage.Sets/src/mage/cards/o/ObscuringAether.java b/Mage.Sets/src/mage/cards/o/ObscuringAether.java index 0f4aa3723c7..1b4e559253f 100644 --- a/Mage.Sets/src/mage/cards/o/ObscuringAether.java +++ b/Mage.Sets/src/mage/cards/o/ObscuringAether.java @@ -25,7 +25,7 @@ public final class ObscuringAether extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("Face-down creature spells"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public ObscuringAether(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java index 15bc7453659..9c63fbc4835 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java +++ b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java @@ -31,7 +31,7 @@ public final class OgreSlumlord extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another nontoken creature"); private static final FilterControlledPermanent filter2 = new FilterControlledPermanent("Rats you control"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(AnotherPredicate.instance); filter2.add(new SubtypePredicate(SubType.RAT)); } diff --git a/Mage.Sets/src/mage/cards/o/OnduWarCleric.java b/Mage.Sets/src/mage/cards/o/OnduWarCleric.java index 4a70adcb89b..8ca40e0e6ce 100644 --- a/Mage.Sets/src/mage/cards/o/OnduWarCleric.java +++ b/Mage.Sets/src/mage/cards/o/OnduWarCleric.java @@ -30,7 +30,7 @@ public final class OnduWarCleric extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public OnduWarCleric(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OpenTheGraves.java b/Mage.Sets/src/mage/cards/o/OpenTheGraves.java index b76f2b1047a..aeb45f4a0eb 100644 --- a/Mage.Sets/src/mage/cards/o/OpenTheGraves.java +++ b/Mage.Sets/src/mage/cards/o/OpenTheGraves.java @@ -23,7 +23,7 @@ public final class OpenTheGraves extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public OpenTheGraves(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/Opposition.java b/Mage.Sets/src/mage/cards/o/Opposition.java index 9f140a7c0cd..30112bc8ee0 100644 --- a/Mage.Sets/src/mage/cards/o/Opposition.java +++ b/Mage.Sets/src/mage/cards/o/Opposition.java @@ -36,7 +36,7 @@ public final class Opposition extends CardImpl { private static final FilterControlledCreaturePermanent untappedcreatureyoucontrol = new FilterControlledCreaturePermanent("untapped creature you control"); static { - untappedcreatureyoucontrol.add(Predicates.not(new TappedPredicate())); + untappedcreatureyoucontrol.add(Predicates.not(TappedPredicate.instance)); } public Opposition(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OrcishSquatters.java b/Mage.Sets/src/mage/cards/o/OrcishSquatters.java index 33489a79f7c..fd20a8044bc 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishSquatters.java +++ b/Mage.Sets/src/mage/cards/o/OrcishSquatters.java @@ -27,7 +27,7 @@ public final class OrcishSquatters extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("land defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public OrcishSquatters(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/Orgg.java b/Mage.Sets/src/mage/cards/o/Orgg.java index 60d0bc29d06..2112818ed02 100644 --- a/Mage.Sets/src/mage/cards/o/Orgg.java +++ b/Mage.Sets/src/mage/cards/o/Orgg.java @@ -29,7 +29,7 @@ public final class Orgg extends CardImpl { static final private FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creatures with power 3 or greater"); static { - filter.add(Predicates.and(new PowerPredicate(ComparisonType.MORE_THAN, 2), Predicates.not(new TappedPredicate()))); + filter.add(Predicates.and(new PowerPredicate(ComparisonType.MORE_THAN, 2), Predicates.not(TappedPredicate.instance))); filter2.add(new PowerPredicate(ComparisonType.MORE_THAN, 2)); } public Orgg(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OrimsCure.java b/Mage.Sets/src/mage/cards/o/OrimsCure.java index d80a0cbe503..d7b56148962 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsCure.java +++ b/Mage.Sets/src/mage/cards/o/OrimsCure.java @@ -31,7 +31,7 @@ public final class OrimsCure extends CardImpl { static { filter.add(new SubtypePredicate(SubType.PLAINS)); - filterCreature.add(Predicates.not(new TappedPredicate())); + filterCreature.add(Predicates.not(TappedPredicate.instance)); } public OrimsCure(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/Outmaneuver.java b/Mage.Sets/src/mage/cards/o/Outmaneuver.java index 3a604f97782..7e005e5bb7e 100644 --- a/Mage.Sets/src/mage/cards/o/Outmaneuver.java +++ b/Mage.Sets/src/mage/cards/o/Outmaneuver.java @@ -26,7 +26,7 @@ public final class Outmaneuver extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new BlockedPredicate()); + filter.add(BlockedPredicate.instance); } public Outmaneuver(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/Overburden.java b/Mage.Sets/src/mage/cards/o/Overburden.java index c41fad613f8..fb145c23318 100644 --- a/Mage.Sets/src/mage/cards/o/Overburden.java +++ b/Mage.Sets/src/mage/cards/o/Overburden.java @@ -25,7 +25,7 @@ public final class Overburden extends CardImpl { private static final FilterControlledLandPermanent RETURN_FILTER = new FilterControlledLandPermanent("a land"); static { - ENTERS_BATTLEFIELD_FILTER.add(Predicates.not(new TokenPredicate())); + ENTERS_BATTLEFIELD_FILTER.add(Predicates.not(TokenPredicate.instance)); } public Overburden(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java b/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java index 9877dac2df8..a828ea6ca83 100644 --- a/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java +++ b/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java @@ -33,7 +33,7 @@ public final class OverseerOfTheDamned extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public OverseerOfTheDamned(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/Pallimud.java b/Mage.Sets/src/mage/cards/p/Pallimud.java index 780b62129b7..92603a715fb 100644 --- a/Mage.Sets/src/mage/cards/p/Pallimud.java +++ b/Mage.Sets/src/mage/cards/p/Pallimud.java @@ -61,7 +61,7 @@ class AnathemancerCount implements DynamicValue { Player chosenPlayer = game.getPlayer(playerId); if (chosenPlayer != null) { FilterLandPermanent filter = new FilterLandPermanent("tapped lands the chosen player controls"); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerIdPredicate(playerId)); return game.getBattlefield().count(filter, sourceAbility.getSourceId(), sourceAbility.getControllerId(), game); } diff --git a/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java b/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java index daa98056f01..5580ac75a1d 100644 --- a/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java +++ b/Mage.Sets/src/mage/cards/p/ParadoxicalOutcome.java @@ -34,7 +34,7 @@ public final class ParadoxicalOutcome extends CardImpl { static { filter.add(Predicates.not(new CardTypePredicate(CardType.LAND))); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public ParadoxicalOutcome(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/ParallelEvolution.java b/Mage.Sets/src/mage/cards/p/ParallelEvolution.java index 9fbccfd9754..84af3037c4e 100644 --- a/Mage.Sets/src/mage/cards/p/ParallelEvolution.java +++ b/Mage.Sets/src/mage/cards/p/ParallelEvolution.java @@ -51,7 +51,7 @@ class ParallelEvolutionEffect extends OneShotEffect { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public ParallelEvolutionEffect() { diff --git a/Mage.Sets/src/mage/cards/p/PatronWizard.java b/Mage.Sets/src/mage/cards/p/PatronWizard.java index 04b436b596f..2e447eb0941 100644 --- a/Mage.Sets/src/mage/cards/p/PatronWizard.java +++ b/Mage.Sets/src/mage/cards/p/PatronWizard.java @@ -30,7 +30,7 @@ public final class PatronWizard extends CardImpl { static { filter.add(new SubtypePredicate(SubType.WIZARD)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public PatronWizard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PersistentPetitioners.java b/Mage.Sets/src/mage/cards/p/PersistentPetitioners.java index 311acf0f7f5..d3548d6bee9 100644 --- a/Mage.Sets/src/mage/cards/p/PersistentPetitioners.java +++ b/Mage.Sets/src/mage/cards/p/PersistentPetitioners.java @@ -30,7 +30,7 @@ public final class PersistentPetitioners extends CardImpl { = new FilterControlledPermanent("untapped Advisors you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ADVISOR)); } diff --git a/Mage.Sets/src/mage/cards/p/PhantomGeneral.java b/Mage.Sets/src/mage/cards/p/PhantomGeneral.java index a5e802e5d40..4f2ac31139f 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomGeneral.java +++ b/Mage.Sets/src/mage/cards/p/PhantomGeneral.java @@ -24,7 +24,7 @@ public final class PhantomGeneral extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens you control"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java b/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java index 0904b81ba8a..0b035db1bd1 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java @@ -36,7 +36,7 @@ public final class PhyrexianIngester extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public PhyrexianIngester(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java b/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java index 15e7870f00d..72a9ca81f1d 100644 --- a/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java @@ -23,7 +23,7 @@ public final class PiannaNomadCaptain extends CardImpl { static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creatures"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public PiannaNomadCaptain(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PiasRevolution.java b/Mage.Sets/src/mage/cards/p/PiasRevolution.java index bba23c5fc61..edaea70c981 100644 --- a/Mage.Sets/src/mage/cards/p/PiasRevolution.java +++ b/Mage.Sets/src/mage/cards/p/PiasRevolution.java @@ -93,7 +93,7 @@ class PiasRevolutionTriggeredAbility extends TriggeredAbilityImpl { private static final FilterArtifactPermanent filter = new FilterArtifactPermanent(); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(new OwnerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/p/PoeDameron.java b/Mage.Sets/src/mage/cards/p/PoeDameron.java index f0e7d9c6a8a..a85a74dd105 100644 --- a/Mage.Sets/src/mage/cards/p/PoeDameron.java +++ b/Mage.Sets/src/mage/cards/p/PoeDameron.java @@ -25,7 +25,7 @@ public final class PoeDameron extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filterStarship.add(new ControllerPredicate(TargetController.YOU)); filterStarship.add(new SubtypePredicate(SubType.STARSHIP)); } diff --git a/Mage.Sets/src/mage/cards/p/PowerSurge.java b/Mage.Sets/src/mage/cards/p/PowerSurge.java index 1038fe4aa5e..7b788da9efd 100644 --- a/Mage.Sets/src/mage/cards/p/PowerSurge.java +++ b/Mage.Sets/src/mage/cards/p/PowerSurge.java @@ -85,7 +85,7 @@ class PowerSurgeWatcher extends Watcher { private static final FilterPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } private int untappedLandCount; diff --git a/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java b/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java index 3ea6fbad59f..61901b4b918 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java +++ b/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java @@ -26,7 +26,7 @@ public final class PrimalWhisperer extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face-down creature"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public PrimalWhisperer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PrimordialMist.java b/Mage.Sets/src/mage/cards/p/PrimordialMist.java index 364db608db3..891466a29b3 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialMist.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialMist.java @@ -35,7 +35,7 @@ public final class PrimordialMist extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("face down permanent"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public PrimordialMist(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PrismaticStrands.java b/Mage.Sets/src/mage/cards/p/PrismaticStrands.java index e5fb668061d..06a50fb4d29 100644 --- a/Mage.Sets/src/mage/cards/p/PrismaticStrands.java +++ b/Mage.Sets/src/mage/cards/p/PrismaticStrands.java @@ -34,7 +34,7 @@ public final class PrismaticStrands extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped white creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ColorPredicate(ObjectColor.WHITE)); } diff --git a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java index 156ae583dc9..2de51e27b9d 100644 --- a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java +++ b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java @@ -29,7 +29,7 @@ public final class ProgenitorMimic extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("no Token"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public ProgenitorMimic(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java b/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java index 9e4c6e287e3..990e3e7b7ec 100644 --- a/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java +++ b/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java @@ -26,7 +26,7 @@ public final class ProwessOfTheFair extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ELF)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public ProwessOfTheFair(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PsychicAllergy.java b/Mage.Sets/src/mage/cards/p/PsychicAllergy.java index c7c5c4cfeb2..17af2bbb36b 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicAllergy.java +++ b/Mage.Sets/src/mage/cards/p/PsychicAllergy.java @@ -84,7 +84,7 @@ class PsychicAllergyEffect extends OneShotEffect { if (player != null) { FilterPermanent filter = new FilterPermanent(); filter.add(new ColorPredicate((ObjectColor) game.getState().getValue(source.getSourceId() + "_color"))); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); int damage = game.getBattlefield().countAll(filter, player.getId(), game); player.damage(damage, source.getSourceId(), game, false, true); return true; diff --git a/Mage.Sets/src/mage/cards/p/PsychoticFury.java b/Mage.Sets/src/mage/cards/p/PsychoticFury.java index 89a2e8bb195..c8ebd40196f 100644 --- a/Mage.Sets/src/mage/cards/p/PsychoticFury.java +++ b/Mage.Sets/src/mage/cards/p/PsychoticFury.java @@ -22,7 +22,7 @@ public final class PsychoticFury extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("multicolored creature"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public PsychoticFury(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PullFromEternity.java b/Mage.Sets/src/mage/cards/p/PullFromEternity.java index 46fe77e642c..5a7aecf42da 100644 --- a/Mage.Sets/src/mage/cards/p/PullFromEternity.java +++ b/Mage.Sets/src/mage/cards/p/PullFromEternity.java @@ -26,7 +26,7 @@ public final class PullFromEternity extends CardImpl { private static final FilterCard filter = new FilterCard("face-up exiled card"); static { - filter.add(Predicates.not(new FaceDownPredicate())); + filter.add(Predicates.not(FaceDownPredicate.instance)); } public PullFromEternity(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PureSimple.java b/Mage.Sets/src/mage/cards/p/PureSimple.java index b73bf79b0ce..e14378e1c52 100644 --- a/Mage.Sets/src/mage/cards/p/PureSimple.java +++ b/Mage.Sets/src/mage/cards/p/PureSimple.java @@ -27,7 +27,7 @@ public final class PureSimple extends SplitCard { static { filterDestroy.add(Predicates.or(new SubtypePredicate(SubType.AURA), new SubtypePredicate(SubType.EQUIPMENT))); - filterMulticolor.add(new MulticoloredPredicate()); + filterMulticolor.add(MulticoloredPredicate.instance); } public PureSimple(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RadiantPurge.java b/Mage.Sets/src/mage/cards/r/RadiantPurge.java index 538c50c9ecc..f4a393fd22c 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantPurge.java +++ b/Mage.Sets/src/mage/cards/r/RadiantPurge.java @@ -21,8 +21,8 @@ public final class RadiantPurge extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("multicolored creature or multicolored enchantment"); static { filter.add(Predicates.or( - Predicates.and(new CardTypePredicate(CardType.CREATURE), new MulticoloredPredicate()), - Predicates.and(new CardTypePredicate(CardType.ENCHANTMENT), new MulticoloredPredicate()))); + Predicates.and(new CardTypePredicate(CardType.CREATURE), MulticoloredPredicate.instance), + Predicates.and(new CardTypePredicate(CardType.ENCHANTMENT), MulticoloredPredicate.instance))); } public RadiantPurge(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RaffCapashenShipsMage.java b/Mage.Sets/src/mage/cards/r/RaffCapashenShipsMage.java index 599a30b642c..1a399e4d416 100644 --- a/Mage.Sets/src/mage/cards/r/RaffCapashenShipsMage.java +++ b/Mage.Sets/src/mage/cards/r/RaffCapashenShipsMage.java @@ -26,7 +26,7 @@ public final class RaffCapashenShipsMage extends CardImpl { private static final FilterCard filter = new FilterCard("historic spells"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public RaffCapashenShipsMage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RaidingParty.java b/Mage.Sets/src/mage/cards/r/RaidingParty.java index 4ea934955a3..9449c53670c 100644 --- a/Mage.Sets/src/mage/cards/r/RaidingParty.java +++ b/Mage.Sets/src/mage/cards/r/RaidingParty.java @@ -73,7 +73,7 @@ class RaidingPartyEffect extends OneShotEffect { private static final FilterPermanent filter2 = new FilterPermanent("Plains"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ColorPredicate(ObjectColor.WHITE)); filter2.add(new SubtypePredicate(SubType.PLAINS)); } diff --git a/Mage.Sets/src/mage/cards/r/RamosianRally.java b/Mage.Sets/src/mage/cards/r/RamosianRally.java index ccd2a9213da..6f9b2d78da2 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianRally.java +++ b/Mage.Sets/src/mage/cards/r/RamosianRally.java @@ -29,7 +29,7 @@ public final class RamosianRally extends CardImpl { static { plainsFilter.add(new SubtypePredicate(SubType.PLAINS)); - creatureFilter.add(Predicates.not(new TappedPredicate())); + creatureFilter.add(Predicates.not(TappedPredicate.instance)); } public RamosianRally(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RamsesOverdark.java b/Mage.Sets/src/mage/cards/r/RamsesOverdark.java index 2ed9c824f45..43475b29cb7 100644 --- a/Mage.Sets/src/mage/cards/r/RamsesOverdark.java +++ b/Mage.Sets/src/mage/cards/r/RamsesOverdark.java @@ -26,7 +26,7 @@ public final class RamsesOverdark extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("enchanted creature"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); } public RamsesOverdark(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java index 8e2de6b48a1..2e690465339 100644 --- a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java +++ b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java @@ -32,7 +32,7 @@ public final class RashidaScalebane extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking or blocking Dragon"); static { - filter.add(Predicates.or(new AttackingPredicate(), new BlockingPredicate())); + filter.add(Predicates.or(AttackingPredicate.instance, BlockingPredicate.instance)); filter.add(new SubtypePredicate(SubType.DRAGON)); } diff --git a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java index dd0c63cbc70..bfc57f62a75 100644 --- a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java +++ b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java @@ -98,7 +98,7 @@ class RasputinDreamweaverStartedUntappedWatcher extends Watcher { private static final FilterPermanent filter = new FilterPermanent("Untapped permanents"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } private final Set startedUntapped = new HashSet<>(0); diff --git a/Mage.Sets/src/mage/cards/r/RathiAssassin.java b/Mage.Sets/src/mage/cards/r/RathiAssassin.java index cb3f0770596..07655c77784 100644 --- a/Mage.Sets/src/mage/cards/r/RathiAssassin.java +++ b/Mage.Sets/src/mage/cards/r/RathiAssassin.java @@ -39,7 +39,7 @@ public final class RathiAssassin extends CardImpl { static { filter.add(new SubtypePredicate(SubType.MERCENARY)); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4)); - destroyFilter.add(new TappedPredicate()); + destroyFilter.add(TappedPredicate.instance); destroyFilter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); } diff --git a/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java b/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java index d4384fe277b..e1bc066563b 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java +++ b/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java @@ -27,7 +27,7 @@ public final class RazorfinAbolisher extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a counter on it"); static { - filter.add(new CounterAnyPredicate()); + filter.add(CounterAnyPredicate.instance); } public RazorfinAbolisher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RebelInformer.java b/Mage.Sets/src/mage/cards/r/RebelInformer.java index d5328fc4a3e..1bfcbcae639 100644 --- a/Mage.Sets/src/mage/cards/r/RebelInformer.java +++ b/Mage.Sets/src/mage/cards/r/RebelInformer.java @@ -36,7 +36,7 @@ public final class RebelInformer extends CardImpl { static { filterWhite.add(new ColorPredicate(ObjectColor.WHITE)); - filterRebel.add(Predicates.not(new TokenPredicate())); + filterRebel.add(Predicates.not(TokenPredicate.instance)); filterRebel.add(new SubtypePredicate(SubType.REBEL)); } diff --git a/Mage.Sets/src/mage/cards/r/RebornHope.java b/Mage.Sets/src/mage/cards/r/RebornHope.java index 0006834a88d..47f878e8858 100644 --- a/Mage.Sets/src/mage/cards/r/RebornHope.java +++ b/Mage.Sets/src/mage/cards/r/RebornHope.java @@ -19,7 +19,7 @@ public final class RebornHope extends CardImpl { private static final FilterCard filter = new FilterCard("multicolored card from your graveyard"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public RebornHope(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/Reconnaissance.java b/Mage.Sets/src/mage/cards/r/Reconnaissance.java index fbd93e6ceb6..84fe89dcc41 100644 --- a/Mage.Sets/src/mage/cards/r/Reconnaissance.java +++ b/Mage.Sets/src/mage/cards/r/Reconnaissance.java @@ -27,7 +27,7 @@ public final class Reconnaissance extends CardImpl { private static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking creature controlled by you"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Reconnaissance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RegnasSanction.java b/Mage.Sets/src/mage/cards/r/RegnasSanction.java index 3ea9507512b..776fdaa6c8a 100644 --- a/Mage.Sets/src/mage/cards/r/RegnasSanction.java +++ b/Mage.Sets/src/mage/cards/r/RegnasSanction.java @@ -70,7 +70,7 @@ class RegnasSanctionEffect extends OneShotEffect { FilterCreaturePermanent filterToTap = new FilterCreaturePermanent(); for (Player player : choice.getFoes()) { FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature you control"); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new ControllerIdPredicate(player.getId())); TargetPermanent target = new TargetPermanent(1, 1, filter, true); if (player.choose(Outcome.Benefit, target, source.getSourceId(), game)) { diff --git a/Mage.Sets/src/mage/cards/r/Remembrance.java b/Mage.Sets/src/mage/cards/r/Remembrance.java index 135d49484ce..3ab60a2647f 100644 --- a/Mage.Sets/src/mage/cards/r/Remembrance.java +++ b/Mage.Sets/src/mage/cards/r/Remembrance.java @@ -55,7 +55,7 @@ class RemembranceTriggeredAbility extends TriggeredAbilityImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public RemembranceTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/r/RenderSilent.java b/Mage.Sets/src/mage/cards/r/RenderSilent.java index b7cdf3c89d2..41c441d74b6 100644 --- a/Mage.Sets/src/mage/cards/r/RenderSilent.java +++ b/Mage.Sets/src/mage/cards/r/RenderSilent.java @@ -30,7 +30,7 @@ public final class RenderSilent extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("multicolored permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public RenderSilent(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RenounceTheGuilds.java b/Mage.Sets/src/mage/cards/r/RenounceTheGuilds.java index e19fdae0ad3..3bd1e884dc8 100644 --- a/Mage.Sets/src/mage/cards/r/RenounceTheGuilds.java +++ b/Mage.Sets/src/mage/cards/r/RenounceTheGuilds.java @@ -20,7 +20,7 @@ public final class RenounceTheGuilds extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("multicolored permanent"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public RenounceTheGuilds(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RevealingWind.java b/Mage.Sets/src/mage/cards/r/RevealingWind.java index a097878a84d..053ddac0b13 100644 --- a/Mage.Sets/src/mage/cards/r/RevealingWind.java +++ b/Mage.Sets/src/mage/cards/r/RevealingWind.java @@ -51,7 +51,7 @@ class RevealingWindEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterAttackingOrBlockingCreature("face-down creature that's attacking or blocking"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public RevealingWindEffect() { diff --git a/Mage.Sets/src/mage/cards/r/RewardsOfDiversity.java b/Mage.Sets/src/mage/cards/r/RewardsOfDiversity.java index 76fe7e8c9d5..dd1270a20c0 100644 --- a/Mage.Sets/src/mage/cards/r/RewardsOfDiversity.java +++ b/Mage.Sets/src/mage/cards/r/RewardsOfDiversity.java @@ -22,7 +22,7 @@ public final class RewardsOfDiversity extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public RewardsOfDiversity(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java index 1a46092cb31..800680e4ef5 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java @@ -69,7 +69,7 @@ class RhysTheRedeemedEffect extends OneShotEffect { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public RhysTheRedeemedEffect() { diff --git a/Mage.Sets/src/mage/cards/r/RhythmOfTheWild.java b/Mage.Sets/src/mage/cards/r/RhythmOfTheWild.java index 33e59fb241d..be889e972fc 100644 --- a/Mage.Sets/src/mage/cards/r/RhythmOfTheWild.java +++ b/Mage.Sets/src/mage/cards/r/RhythmOfTheWild.java @@ -32,7 +32,7 @@ public final class RhythmOfTheWild extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter2.add(Predicates.not(new TokenPredicate())); + filter2.add(Predicates.not(TokenPredicate.instance)); } public RhythmOfTheWild(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RideDown.java b/Mage.Sets/src/mage/cards/r/RideDown.java index ad68abe732e..65e87b36d84 100644 --- a/Mage.Sets/src/mage/cards/r/RideDown.java +++ b/Mage.Sets/src/mage/cards/r/RideDown.java @@ -30,7 +30,7 @@ public final class RideDown extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blocking creature"); static { - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } public RideDown(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/Riftsweeper.java b/Mage.Sets/src/mage/cards/r/Riftsweeper.java index 050ee181043..8fc19bea158 100644 --- a/Mage.Sets/src/mage/cards/r/Riftsweeper.java +++ b/Mage.Sets/src/mage/cards/r/Riftsweeper.java @@ -27,7 +27,7 @@ public final class Riftsweeper extends CardImpl { private static final FilterCard filter = new FilterCard("face-up exiled card"); static { - filter.add(Predicates.not(new FaceDownPredicate())); + filter.add(Predicates.not(FaceDownPredicate.instance)); } public Riftsweeper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RighteousFury.java b/Mage.Sets/src/mage/cards/r/RighteousFury.java index c7cc019ffc1..6aa334fe0ea 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousFury.java +++ b/Mage.Sets/src/mage/cards/r/RighteousFury.java @@ -60,7 +60,7 @@ class RighteousFuryEffect extends OneShotEffect { if (controller != null) { int destroyedCreature = 0; FilterCreaturePermanent filter = new FilterCreaturePermanent("all tapped creatures"); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); for(Permanent creature: game.getState().getBattlefield().getActivePermanents(filter, controller.getId(), game)) { if (creature.destroy(source.getSourceId(), game, false)) { destroyedCreature++; diff --git a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java index 9f00625efdc..255c570ecfd 100644 --- a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java +++ b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java @@ -32,7 +32,7 @@ public final class RikuOfTwoReflections extends CardImpl { filter.add(Predicates.or( new CardTypePredicate(CardType.INSTANT), new CardTypePredicate(CardType.SORCERY))); - filterPermanent.add(Predicates.not(new TokenPredicate())); + filterPermanent.add(Predicates.not(TokenPredicate.instance)); filterPermanent.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/r/RimehornAurochs.java b/Mage.Sets/src/mage/cards/r/RimehornAurochs.java index 2bd9a9401d8..b1488d7428a 100644 --- a/Mage.Sets/src/mage/cards/r/RimehornAurochs.java +++ b/Mage.Sets/src/mage/cards/r/RimehornAurochs.java @@ -32,7 +32,7 @@ public final class RimehornAurochs extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.AUROCHS, "other attacking Aurochs"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/r/RishadanPawnshop.java b/Mage.Sets/src/mage/cards/r/RishadanPawnshop.java index af392346648..a51c3ece190 100644 --- a/Mage.Sets/src/mage/cards/r/RishadanPawnshop.java +++ b/Mage.Sets/src/mage/cards/r/RishadanPawnshop.java @@ -32,7 +32,7 @@ public final class RishadanPawnshop extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("nontoken permanent you control"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java index 5b34fdd0d17..591437ed8f0 100644 --- a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java +++ b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java @@ -31,7 +31,7 @@ public final class RishkarPeemaRenegade extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature you control with a counter on it"); static { - filter.add(new CounterAnyPredicate()); + filter.add(CounterAnyPredicate.instance); } public RishkarPeemaRenegade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RoarOfJukai.java b/Mage.Sets/src/mage/cards/r/RoarOfJukai.java index 153308f339e..0945b7fbdfa 100644 --- a/Mage.Sets/src/mage/cards/r/RoarOfJukai.java +++ b/Mage.Sets/src/mage/cards/r/RoarOfJukai.java @@ -59,7 +59,7 @@ class RoarOfJukaiEffect extends OneShotEffect { static { filter.add(new SubtypePredicate(SubType.FOREST)); - filterBlocked.add(new BlockedPredicate()); + filterBlocked.add(BlockedPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/r/RockSlide.java b/Mage.Sets/src/mage/cards/r/RockSlide.java index e1bb04fa43c..c0ab5600718 100644 --- a/Mage.Sets/src/mage/cards/r/RockSlide.java +++ b/Mage.Sets/src/mage/cards/r/RockSlide.java @@ -26,8 +26,8 @@ public final class RockSlide extends CardImpl { static { filter.add(Predicates.or( - new AttackingPredicate(), - new BlockingPredicate() + AttackingPredicate.instance, + BlockingPredicate.instance )); filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } diff --git a/Mage.Sets/src/mage/cards/r/RootKinAlly.java b/Mage.Sets/src/mage/cards/r/RootKinAlly.java index 75a457b9e7d..8c148e5d98b 100644 --- a/Mage.Sets/src/mage/cards/r/RootKinAlly.java +++ b/Mage.Sets/src/mage/cards/r/RootKinAlly.java @@ -26,7 +26,7 @@ public final class RootKinAlly extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public RootKinAlly(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RowanKenrith.java b/Mage.Sets/src/mage/cards/r/RowanKenrith.java index 665f4066c2e..02e58898614 100644 --- a/Mage.Sets/src/mage/cards/r/RowanKenrith.java +++ b/Mage.Sets/src/mage/cards/r/RowanKenrith.java @@ -138,7 +138,7 @@ class RowanKenrithDamageEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { FilterCreaturePermanent filter = new FilterCreaturePermanent(); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerIdPredicate(source.getFirstTarget())); return new DamageAllEffect(3, filter).apply(game, source); } diff --git a/Mage.Sets/src/mage/cards/r/RoyalAssassin.java b/Mage.Sets/src/mage/cards/r/RoyalAssassin.java index 402c7d8ad5e..a73c8b82cdc 100644 --- a/Mage.Sets/src/mage/cards/r/RoyalAssassin.java +++ b/Mage.Sets/src/mage/cards/r/RoyalAssassin.java @@ -26,7 +26,7 @@ public final class RoyalAssassin extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public RoyalAssassin(UUID ownerId, CardSetInfo setInfo){ diff --git a/Mage.Sets/src/mage/cards/r/RubblebeltRunner.java b/Mage.Sets/src/mage/cards/r/RubblebeltRunner.java index 6335982d868..dacc541e571 100644 --- a/Mage.Sets/src/mage/cards/r/RubblebeltRunner.java +++ b/Mage.Sets/src/mage/cards/r/RubblebeltRunner.java @@ -22,7 +22,7 @@ public final class RubblebeltRunner extends CardImpl { = new FilterCreaturePermanent("creature tokens"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public RubblebeltRunner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java b/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java index 6d186763b37..0a3524d1796 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java @@ -30,8 +30,8 @@ public final class RuthlessInstincts extends CardImpl { private static final FilterCreaturePermanent filterAttacking = new FilterCreaturePermanent("attacking creature"); static { - filter.add(Predicates.not(new AttackingPredicate())); - filterAttacking.add(new AttackingPredicate()); + filter.add(Predicates.not(AttackingPredicate.instance)); + filterAttacking.add(AttackingPredicate.instance); } public RuthlessInstincts(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/Sandsower.java b/Mage.Sets/src/mage/cards/s/Sandsower.java index d53256882ed..0e295fac41c 100644 --- a/Mage.Sets/src/mage/cards/s/Sandsower.java +++ b/Mage.Sets/src/mage/cards/s/Sandsower.java @@ -27,7 +27,7 @@ public final class Sandsower extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Sandsower(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SaruliCaretaker.java b/Mage.Sets/src/mage/cards/s/SaruliCaretaker.java index a621ca6ae7a..41e1e31fdf9 100644 --- a/Mage.Sets/src/mage/cards/s/SaruliCaretaker.java +++ b/Mage.Sets/src/mage/cards/s/SaruliCaretaker.java @@ -25,7 +25,7 @@ public final class SaruliCaretaker extends CardImpl { = new FilterControlledCreaturePermanent("an untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SaruliCaretaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java b/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java index c7b0d4f9e38..efb5f5926d3 100644 --- a/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java +++ b/Mage.Sets/src/mage/cards/s/ScaldingSalamander.java @@ -26,7 +26,7 @@ public final class ScaldingSalamander extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } diff --git a/Mage.Sets/src/mage/cards/s/ScorchedRuins.java b/Mage.Sets/src/mage/cards/s/ScorchedRuins.java index f211684d462..7aad42b4399 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchedRuins.java +++ b/Mage.Sets/src/mage/cards/s/ScorchedRuins.java @@ -29,7 +29,7 @@ public final class ScorchedRuins extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("two untapped lands"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ScorchedRuins(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ScoriaCat.java b/Mage.Sets/src/mage/cards/s/ScoriaCat.java index 26dc4a4b403..718623d998e 100644 --- a/Mage.Sets/src/mage/cards/s/ScoriaCat.java +++ b/Mage.Sets/src/mage/cards/s/ScoriaCat.java @@ -27,7 +27,7 @@ public final class ScoriaCat extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ScoriaCat(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SealAway.java b/Mage.Sets/src/mage/cards/s/SealAway.java index ebf5fdcdb83..4550db53198 100644 --- a/Mage.Sets/src/mage/cards/s/SealAway.java +++ b/Mage.Sets/src/mage/cards/s/SealAway.java @@ -28,7 +28,7 @@ public final class SealAway extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SealAway(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SecondHarvest.java b/Mage.Sets/src/mage/cards/s/SecondHarvest.java index 747a0073d4c..841cb587374 100644 --- a/Mage.Sets/src/mage/cards/s/SecondHarvest.java +++ b/Mage.Sets/src/mage/cards/s/SecondHarvest.java @@ -60,7 +60,7 @@ class SecondHarvestEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { FilterControlledPermanent filter = new FilterControlledPermanent("each token you control"); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filter, controller.getId(), game)) { if (permanent != null) { CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(); diff --git a/Mage.Sets/src/mage/cards/s/SecretPlans.java b/Mage.Sets/src/mage/cards/s/SecretPlans.java index 98098739409..b8ec3a1539d 100644 --- a/Mage.Sets/src/mage/cards/s/SecretPlans.java +++ b/Mage.Sets/src/mage/cards/s/SecretPlans.java @@ -24,7 +24,7 @@ public final class SecretPlans extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Face-down creatures"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public SecretPlans(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java b/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java index c0edd5cad96..202bb00e802 100644 --- a/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java +++ b/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java @@ -29,7 +29,7 @@ public final class SekKuarDeathkeeper extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SekKuarDeathkeeper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SelectForInspection.java b/Mage.Sets/src/mage/cards/s/SelectForInspection.java index b6dd0d29918..ebb2a820195 100644 --- a/Mage.Sets/src/mage/cards/s/SelectForInspection.java +++ b/Mage.Sets/src/mage/cards/s/SelectForInspection.java @@ -20,7 +20,7 @@ public final class SelectForInspection extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SelectForInspection(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java b/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java index a2a95ba4926..9b5a5232815 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java @@ -29,7 +29,7 @@ public final class SelesnyaEvangel extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SelesnyaEvangel(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java index 5cec078a867..bc52232f2c9 100644 --- a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java +++ b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java @@ -32,7 +32,7 @@ public final class SelkieHedgeMage extends CardImpl { static { filter.add(new SubtypePredicate(SubType.FOREST)); filter2.add(new SubtypePredicate(SubType.ISLAND)); - filter3.add(new TappedPredicate()); + filter3.add(TappedPredicate.instance); } private static final String rule1 = "When {this} enters the battlefield, if you control two or more Forests, you may gain 3 life."; diff --git a/Mage.Sets/src/mage/cards/s/SengirAutocrat.java b/Mage.Sets/src/mage/cards/s/SengirAutocrat.java index ccfa468fd32..4355da9a6e5 100644 --- a/Mage.Sets/src/mage/cards/s/SengirAutocrat.java +++ b/Mage.Sets/src/mage/cards/s/SengirAutocrat.java @@ -27,7 +27,7 @@ public final class SengirAutocrat extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SERF)); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public SengirAutocrat(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java b/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java index 8d433e88531..93db168b201 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java +++ b/Mage.Sets/src/mage/cards/s/SentinelOfThePearlTrident.java @@ -33,7 +33,7 @@ public final class SentinelOfThePearlTrident extends CardImpl { private final static FilterControlledPermanent filter = new FilterControlledPermanent("historic permanent you control"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public SentinelOfThePearlTrident(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java b/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java index 560c551805f..8c4af9f18d7 100644 --- a/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java +++ b/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java @@ -27,7 +27,7 @@ public final class SetonKrosanProtector extends CardImpl { private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Druid you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.DRUID)); } diff --git a/Mage.Sets/src/mage/cards/s/SharedAnimosity.java b/Mage.Sets/src/mage/cards/s/SharedAnimosity.java index 02b4c2cc0e8..5cc7288616b 100644 --- a/Mage.Sets/src/mage/cards/s/SharedAnimosity.java +++ b/Mage.Sets/src/mage/cards/s/SharedAnimosity.java @@ -73,7 +73,7 @@ class SharedAnimosityEffect extends ContinuousEffectImpl { FilterCreaturePermanent filter = new FilterCreaturePermanent(); filter.add(Predicates.not(new PermanentIdPredicate(this.targetPointer.getFirst(game, source)))); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); boolean allCreatureTypes = false; if (permanent.isAllCreatureTypes()) { allCreatureTypes = true; diff --git a/Mage.Sets/src/mage/cards/s/SharedDiscovery.java b/Mage.Sets/src/mage/cards/s/SharedDiscovery.java index ec2df78cad8..5f79ba960e9 100644 --- a/Mage.Sets/src/mage/cards/s/SharedDiscovery.java +++ b/Mage.Sets/src/mage/cards/s/SharedDiscovery.java @@ -21,7 +21,7 @@ public final class SharedDiscovery extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SharedDiscovery(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SheerDrop.java b/Mage.Sets/src/mage/cards/s/SheerDrop.java index b0b89c1a29f..de325c267f2 100644 --- a/Mage.Sets/src/mage/cards/s/SheerDrop.java +++ b/Mage.Sets/src/mage/cards/s/SheerDrop.java @@ -20,7 +20,7 @@ public final class SheerDrop extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SheerDrop(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShieldmageElder.java b/Mage.Sets/src/mage/cards/s/ShieldmageElder.java index f31d93ea593..b79d1d0544a 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldmageElder.java +++ b/Mage.Sets/src/mage/cards/s/ShieldmageElder.java @@ -30,13 +30,13 @@ public final class ShieldmageElder extends CardImpl { private static final FilterControlledPermanent filter1 = new FilterControlledPermanent("untapped Clerics you control"); static { - filter1.add(Predicates.not(new TappedPredicate())); + filter1.add(Predicates.not(TappedPredicate.instance)); filter1.add(new SubtypePredicate(SubType.CLERIC)); } private static final FilterControlledPermanent filter2 = new FilterControlledPermanent("untapped Wizards you control"); static { - filter2.add(Predicates.not(new TappedPredicate())); + filter2.add(Predicates.not(TappedPredicate.instance)); filter2.add(new SubtypePredicate(SubType.WIZARD)); } diff --git a/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java b/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java index 34d307add14..5729db0fec3 100644 --- a/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java +++ b/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java @@ -31,7 +31,7 @@ public final class ShimianNightStalker extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public ShimianNightStalker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java index a207a9a8b58..de016872aea 100644 --- a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java +++ b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java @@ -33,7 +33,7 @@ public final class ShipwreckSinger extends CardImpl { private static final FilterCreaturePermanent filterAttacking = new FilterCreaturePermanent("Attacking creatures"); static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filterAttacking.add(new AttackingPredicate()); + filterAttacking.add(AttackingPredicate.instance); } public ShipwreckSinger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SidarJabari.java b/Mage.Sets/src/mage/cards/s/SidarJabari.java index 75cd2d644d9..73f1b6593ef 100644 --- a/Mage.Sets/src/mage/cards/s/SidarJabari.java +++ b/Mage.Sets/src/mage/cards/s/SidarJabari.java @@ -24,7 +24,7 @@ public final class SidarJabari extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public SidarJabari(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java b/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java index e9aef0e4534..cf4e0048679 100644 --- a/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java +++ b/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java @@ -29,7 +29,7 @@ public final class SifterOfSkulls extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SifterOfSkulls(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SigilTracer.java b/Mage.Sets/src/mage/cards/s/SigilTracer.java index bcce031f3be..d8658b60d9f 100644 --- a/Mage.Sets/src/mage/cards/s/SigilTracer.java +++ b/Mage.Sets/src/mage/cards/s/SigilTracer.java @@ -29,7 +29,7 @@ public final class SigilTracer extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Wizards you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.WIZARD)); } diff --git a/Mage.Sets/src/mage/cards/s/SivvisValor.java b/Mage.Sets/src/mage/cards/s/SivvisValor.java index 631c739f70b..307d3a3f45a 100644 --- a/Mage.Sets/src/mage/cards/s/SivvisValor.java +++ b/Mage.Sets/src/mage/cards/s/SivvisValor.java @@ -38,7 +38,7 @@ public final class SivvisValor extends CardImpl { static { filter.add(new SubtypePredicate(SubType.PLAINS)); - filterCreature.add(Predicates.not(new TappedPredicate())); + filterCreature.add(Predicates.not(TappedPredicate.instance)); } public SivvisValor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SkirkAlarmist.java b/Mage.Sets/src/mage/cards/s/SkirkAlarmist.java index f7f8cb1518f..72d6ed3a653 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkAlarmist.java +++ b/Mage.Sets/src/mage/cards/s/SkirkAlarmist.java @@ -35,7 +35,7 @@ public final class SkirkAlarmist extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face-down creature you control"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java b/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java index 0ad0bc887db..fe57a459ed9 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java +++ b/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java @@ -29,7 +29,7 @@ public final class SkirkFireMarshal extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Goblins you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.GOBLIN)); } diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java index 15b2be1cafd..736b0a2bde7 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java @@ -30,7 +30,7 @@ public final class SkirsdagHighPriest extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SkirsdagHighPriest(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java index 4ff8480c451..484a2c9b310 100644 --- a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java +++ b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java @@ -32,7 +32,7 @@ public final class Skullsnatcher extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("unblocked attacker you control"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } public Skullsnatcher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SkyHussar.java b/Mage.Sets/src/mage/cards/s/SkyHussar.java index 074294d3056..eb73ff2f48c 100644 --- a/Mage.Sets/src/mage/cards/s/SkyHussar.java +++ b/Mage.Sets/src/mage/cards/s/SkyHussar.java @@ -29,7 +29,7 @@ public final class SkyHussar extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped white and/or blue creatures you control"); static { filter.add(Predicates.or(new ColorPredicate(ObjectColor.WHITE), new ColorPredicate(ObjectColor.BLUE))); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SkyHussar(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java b/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java index 08ca61777e0..5b04d9e138c 100644 --- a/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java +++ b/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java @@ -24,7 +24,7 @@ public final class SlyRequisitioner extends CardImpl { private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("a nontoken artifact you control"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SlyRequisitioner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/Smite.java b/Mage.Sets/src/mage/cards/s/Smite.java index 67050e3b54e..f6f46285dcd 100644 --- a/Mage.Sets/src/mage/cards/s/Smite.java +++ b/Mage.Sets/src/mage/cards/s/Smite.java @@ -19,7 +19,7 @@ public final class Smite extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blocked creature"); static { - filter.add(new BlockedPredicate()); + filter.add(BlockedPredicate.instance); } public Smite(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SmokeTeller.java b/Mage.Sets/src/mage/cards/s/SmokeTeller.java index 3254a12f88c..5994a8d2473 100644 --- a/Mage.Sets/src/mage/cards/s/SmokeTeller.java +++ b/Mage.Sets/src/mage/cards/s/SmokeTeller.java @@ -32,7 +32,7 @@ public final class SmokeTeller extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public SmokeTeller(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/Snag.java b/Mage.Sets/src/mage/cards/s/Snag.java index 877484cf1fa..4c016086e68 100644 --- a/Mage.Sets/src/mage/cards/s/Snag.java +++ b/Mage.Sets/src/mage/cards/s/Snag.java @@ -29,7 +29,7 @@ public final class Snag extends CardImpl { static { filter.add(new SubtypePredicate(SubType.FOREST)); - filter2.add(Predicates.not(new BlockedPredicate())); + filter2.add(Predicates.not(BlockedPredicate.instance)); } public Snag(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SoldeviExcavations.java b/Mage.Sets/src/mage/cards/s/SoldeviExcavations.java index 6ab8ca59385..21cb2308132 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviExcavations.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviExcavations.java @@ -33,7 +33,7 @@ public final class SoldeviExcavations extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ISLAND)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SoldeviExcavations(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java index b4192c145ae..b2c0364d087 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java @@ -30,7 +30,7 @@ public final class SoldeviGolem extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SoldeviGolem(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java b/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java index 90b2c056dc5..be3cbe31477 100644 --- a/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java +++ b/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java @@ -24,7 +24,7 @@ public final class SoldierOfThePantheon extends CardImpl { private static final FilterObject filter = new FilterObject("multicolored"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public SoldierOfThePantheon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SongOfSerenity.java b/Mage.Sets/src/mage/cards/s/SongOfSerenity.java index 2d583036531..1e62cc3cb35 100644 --- a/Mage.Sets/src/mage/cards/s/SongOfSerenity.java +++ b/Mage.Sets/src/mage/cards/s/SongOfSerenity.java @@ -44,7 +44,7 @@ class SongOfSerenityRestrictionEffect extends RestrictionEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); } public SongOfSerenityRestrictionEffect() { diff --git a/Mage.Sets/src/mage/cards/s/SorrowsPath.java b/Mage.Sets/src/mage/cards/s/SorrowsPath.java index dc056479a8e..ee972bc336e 100644 --- a/Mage.Sets/src/mage/cards/s/SorrowsPath.java +++ b/Mage.Sets/src/mage/cards/s/SorrowsPath.java @@ -36,7 +36,7 @@ public final class SorrowsPath extends CardImpl { private static final FilterOpponentsCreaturePermanent filter = new FilterOpponentsCreaturePermanent("blocking creatures an opponent controls"); static { - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } public SorrowsPath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SosukesSummons.java b/Mage.Sets/src/mage/cards/s/SosukesSummons.java index b3afeaf79fb..8e8de879153 100644 --- a/Mage.Sets/src/mage/cards/s/SosukesSummons.java +++ b/Mage.Sets/src/mage/cards/s/SosukesSummons.java @@ -26,7 +26,7 @@ public final class SosukesSummons extends CardImpl { static { filter.add(new SubtypePredicate(SubType.SNAKE)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SosukesSummons(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java b/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java index bdcd6c6ff5b..da6115bfce6 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java @@ -26,7 +26,7 @@ public final class SoulOfTheHarvest extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent("another nontoken creature"); static { filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SoulOfTheHarvest(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java b/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java index a14197c7d7c..1a163c26c72 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java +++ b/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java @@ -31,7 +31,7 @@ public final class SpawnbinderMage extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SpawnbinderMage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpectralBears.java b/Mage.Sets/src/mage/cards/s/SpectralBears.java index e4440f24191..20790a16bca 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralBears.java +++ b/Mage.Sets/src/mage/cards/s/SpectralBears.java @@ -52,7 +52,7 @@ class SpectralBearsTriggeredAbility extends TriggeredAbilityImpl { static { filter.add(new ColorPredicate(ObjectColor.BLACK)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public SpectralBearsTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/s/SpellweaverDuo.java b/Mage.Sets/src/mage/cards/s/SpellweaverDuo.java index af159683349..3114e8cf727 100644 --- a/Mage.Sets/src/mage/cards/s/SpellweaverDuo.java +++ b/Mage.Sets/src/mage/cards/s/SpellweaverDuo.java @@ -24,7 +24,7 @@ public final class SpellweaverDuo extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SpellweaverDuo(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpiresOfOrazca.java b/Mage.Sets/src/mage/cards/s/SpiresOfOrazca.java index 2508964cb9f..c6651fc0fe3 100644 --- a/Mage.Sets/src/mage/cards/s/SpiresOfOrazca.java +++ b/Mage.Sets/src/mage/cards/s/SpiresOfOrazca.java @@ -28,7 +28,7 @@ public final class SpiresOfOrazca extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature an opponent controls"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/s/SpiritBonds.java b/Mage.Sets/src/mage/cards/s/SpiritBonds.java index 58d4d817625..6af79400d5f 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritBonds.java +++ b/Mage.Sets/src/mage/cards/s/SpiritBonds.java @@ -39,7 +39,7 @@ public final class SpiritBonds extends CardImpl { static { filter.add(Predicates.not(new SubtypePredicate(SubType.SPIRIT))); filterSpirit.add(new SubtypePredicate(SubType.SPIRIT)); - filterNontoken.add(Predicates.not(new TokenPredicate())); + filterNontoken.add(Predicates.not(TokenPredicate.instance)); } public SpiritBonds(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpiritMirror.java b/Mage.Sets/src/mage/cards/s/SpiritMirror.java index 136789f012e..de02cbfc464 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritMirror.java +++ b/Mage.Sets/src/mage/cards/s/SpiritMirror.java @@ -29,7 +29,7 @@ public final class SpiritMirror extends CardImpl { static { filterToken.add(new SubtypePredicate(SubType.REFLECTION)); - filterToken.add(new TokenPredicate()); + filterToken.add(TokenPredicate.instance); filter.add(new SubtypePredicate(SubType.REFLECTION)); } diff --git a/Mage.Sets/src/mage/cards/s/SporeCloud.java b/Mage.Sets/src/mage/cards/s/SporeCloud.java index 02109f10359..c7c9d494a09 100644 --- a/Mage.Sets/src/mage/cards/s/SporeCloud.java +++ b/Mage.Sets/src/mage/cards/s/SporeCloud.java @@ -32,7 +32,7 @@ public final class SporeCloud extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blocking creatures"); static { - filter.add(new BlockingPredicate()); + filter.add(BlockingPredicate.instance); } public SporeCloud(UUID ownerId, CardSetInfo setInfo) { @@ -60,7 +60,7 @@ class SporeCloudEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each attacking creature and each blocking creature"); static { - filter.add(Predicates.or(new AttackingPredicate(), new BlockingPredicate())); + filter.add(Predicates.or(AttackingPredicate.instance, BlockingPredicate.instance)); } public SporeCloudEffect() { diff --git a/Mage.Sets/src/mage/cards/s/Sporogenesis.java b/Mage.Sets/src/mage/cards/s/Sporogenesis.java index 99f5cee4dcd..3512d42361e 100644 --- a/Mage.Sets/src/mage/cards/s/Sporogenesis.java +++ b/Mage.Sets/src/mage/cards/s/Sporogenesis.java @@ -39,7 +39,7 @@ public final class Sporogenesis extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nontoken creature"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public Sporogenesis(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpringleafDrum.java b/Mage.Sets/src/mage/cards/s/SpringleafDrum.java index 7bf0a7908f9..b5c988ccb5e 100644 --- a/Mage.Sets/src/mage/cards/s/SpringleafDrum.java +++ b/Mage.Sets/src/mage/cards/s/SpringleafDrum.java @@ -21,7 +21,7 @@ public final class SpringleafDrum extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SpringleafDrum(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpurGrappler.java b/Mage.Sets/src/mage/cards/s/SpurGrappler.java index c0f048f8860..fc6865d049f 100644 --- a/Mage.Sets/src/mage/cards/s/SpurGrappler.java +++ b/Mage.Sets/src/mage/cards/s/SpurGrappler.java @@ -27,7 +27,7 @@ public final class SpurGrappler extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SpurGrappler(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SpurredWolverine.java b/Mage.Sets/src/mage/cards/s/SpurredWolverine.java index b21ef4ee91c..016d81b0725 100644 --- a/Mage.Sets/src/mage/cards/s/SpurredWolverine.java +++ b/Mage.Sets/src/mage/cards/s/SpurredWolverine.java @@ -30,7 +30,7 @@ public final class SpurredWolverine extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Beasts you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.BEAST)); } diff --git a/Mage.Sets/src/mage/cards/s/SpyNetwork.java b/Mage.Sets/src/mage/cards/s/SpyNetwork.java index daf78dbba88..4daf571ac02 100644 --- a/Mage.Sets/src/mage/cards/s/SpyNetwork.java +++ b/Mage.Sets/src/mage/cards/s/SpyNetwork.java @@ -103,7 +103,7 @@ class SpyNetworkFaceDownEffect extends OneShotEffect { MageObject mageObject = game.getObject(source.getSourceId()); if (controller != null && player != null && mageObject != null) { FilterCreaturePermanent filter = new FilterCreaturePermanent("face down creature controlled by " + player.getLogName()); - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); filter.add(new ControllerIdPredicate(player.getId())); TargetCreaturePermanent target = new TargetCreaturePermanent(1, 1, filter, true); if (target.canChoose(source.getSourceId(), controller.getId(), game)) { diff --git a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java index ef7528461a3..78a1c8bad52 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java +++ b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java @@ -28,7 +28,7 @@ public final class StalkingAssassin extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public StalkingAssassin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/StarCrownedStag.java b/Mage.Sets/src/mage/cards/s/StarCrownedStag.java index e05d794229b..6dc595c5d3a 100644 --- a/Mage.Sets/src/mage/cards/s/StarCrownedStag.java +++ b/Mage.Sets/src/mage/cards/s/StarCrownedStag.java @@ -22,7 +22,7 @@ public final class StarCrownedStag extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public StarCrownedStag(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SteamCatapult.java b/Mage.Sets/src/mage/cards/s/SteamCatapult.java index 16402a4abd4..8262509c4df 100644 --- a/Mage.Sets/src/mage/cards/s/SteamCatapult.java +++ b/Mage.Sets/src/mage/cards/s/SteamCatapult.java @@ -26,7 +26,7 @@ public final class SteamCatapult extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SteamCatapult(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java index 61f2a5dc8ac..ee86d460f37 100644 --- a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java +++ b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java @@ -35,7 +35,7 @@ public final class StensiaMasquerade extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public StensiaMasquerade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/StoneCatapult.java b/Mage.Sets/src/mage/cards/s/StoneCatapult.java index 594edb549f8..9a2db55b708 100644 --- a/Mage.Sets/src/mage/cards/s/StoneCatapult.java +++ b/Mage.Sets/src/mage/cards/s/StoneCatapult.java @@ -29,7 +29,7 @@ public final class StoneCatapult extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped nonblack creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); } diff --git a/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java b/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java index da5f4c1571e..99f376716ed 100644 --- a/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java +++ b/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java @@ -27,7 +27,7 @@ public final class StoneHavenOutfitter extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("equipped creatures you control"); static { - filter.add(new EquippedPredicate()); + filter.add(EquippedPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/s/StoneIdolTrap.java b/Mage.Sets/src/mage/cards/s/StoneIdolTrap.java index ec704870134..3209b413c18 100644 --- a/Mage.Sets/src/mage/cards/s/StoneIdolTrap.java +++ b/Mage.Sets/src/mage/cards/s/StoneIdolTrap.java @@ -51,7 +51,7 @@ class StoneIdolTrapCostReductionEffect extends CostModificationEffectImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public StoneIdolTrapCostReductionEffect() { diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java index 617c31166fb..d4e82d39c8a 100644 --- a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java +++ b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java @@ -33,7 +33,7 @@ public final class StoneforgeAcolyte extends CardImpl { static { filterAlly.add(new SubtypePredicate(SubType.ALLY)); - filterAlly.add(Predicates.not(new TappedPredicate())); + filterAlly.add(Predicates.not(TappedPredicate.instance)); filterEquipment.add(new SubtypePredicate(SubType.EQUIPMENT)); } diff --git a/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java b/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java index 75802aa16de..3454de11980 100644 --- a/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java +++ b/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java @@ -23,7 +23,7 @@ public final class StoneshakerShaman extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("untapped land"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public StoneshakerShaman(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SultaiCharm.java b/Mage.Sets/src/mage/cards/s/SultaiCharm.java index 2594e59fc19..f0e4f8f0839 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiCharm.java +++ b/Mage.Sets/src/mage/cards/s/SultaiCharm.java @@ -25,7 +25,7 @@ public final class SultaiCharm extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); static { - filter.add(new MonocoloredPredicate()); + filter.add(MonocoloredPredicate.instance); } public SultaiCharm(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SummaryJudgment.java b/Mage.Sets/src/mage/cards/s/SummaryJudgment.java index cd95d17ea25..87c6989019e 100644 --- a/Mage.Sets/src/mage/cards/s/SummaryJudgment.java +++ b/Mage.Sets/src/mage/cards/s/SummaryJudgment.java @@ -24,7 +24,7 @@ public final class SummaryJudgment extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SummaryJudgment(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SummonTheSchool.java b/Mage.Sets/src/mage/cards/s/SummonTheSchool.java index 8c7f797016a..eaccfa4c286 100644 --- a/Mage.Sets/src/mage/cards/s/SummonTheSchool.java +++ b/Mage.Sets/src/mage/cards/s/SummonTheSchool.java @@ -27,7 +27,7 @@ public final class SummonTheSchool extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Merfolk you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.MERFOLK)); } diff --git a/Mage.Sets/src/mage/cards/s/SunblastAngel.java b/Mage.Sets/src/mage/cards/s/SunblastAngel.java index 16d1491dcdb..a089f3485d3 100644 --- a/Mage.Sets/src/mage/cards/s/SunblastAngel.java +++ b/Mage.Sets/src/mage/cards/s/SunblastAngel.java @@ -24,7 +24,7 @@ public final class SunblastAngel extends CardImpl { private static final FilterPermanent tappedFilter = new FilterCreaturePermanent("tapped creatures"); static { - tappedFilter.add(new TappedPredicate()); + tappedFilter.add(TappedPredicate.instance); } public SunblastAngel (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java index cb76066914c..763394039d3 100644 --- a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java +++ b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java @@ -25,7 +25,7 @@ public final class SupplyCaravan extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SupplyCaravan(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SupplyDemand.java b/Mage.Sets/src/mage/cards/s/SupplyDemand.java index deec3a02d5a..8085fd8f4ea 100644 --- a/Mage.Sets/src/mage/cards/s/SupplyDemand.java +++ b/Mage.Sets/src/mage/cards/s/SupplyDemand.java @@ -23,7 +23,7 @@ public final class SupplyDemand extends SplitCard { private static final FilterCard filter = new FilterCard("multicolored card"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public SupplyDemand(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java b/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java index aef0f732e95..17fb5d6f117 100644 --- a/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java +++ b/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java @@ -36,7 +36,7 @@ public final class SupremeInquisitor extends CardImpl { static { filter.add(new SubtypePredicate(SubType.WIZARD)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SupremeInquisitor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java b/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java index a52604f7541..94db2f76643 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java +++ b/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java @@ -23,7 +23,7 @@ public final class SurrakarBanisher extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SurrakarBanisher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java b/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java index b50fa4d1480..aae6ff535e8 100644 --- a/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java +++ b/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java @@ -24,7 +24,7 @@ public final class SurvivorsEncampment extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SurvivorsEncampment(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SwiftReckoning.java b/Mage.Sets/src/mage/cards/s/SwiftReckoning.java index b2034ce917a..3d252b1d339 100644 --- a/Mage.Sets/src/mage/cards/s/SwiftReckoning.java +++ b/Mage.Sets/src/mage/cards/s/SwiftReckoning.java @@ -26,7 +26,7 @@ public final class SwiftReckoning extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public SwiftReckoning(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java b/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java index a8581ef580b..5c610773a70 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java @@ -37,8 +37,8 @@ public final class SwordOfTheParuns extends CardImpl { private static final FilterCreaturePermanent filterTapped = new FilterCreaturePermanent(); private static final FilterCreaturePermanent filterUntapped = new FilterCreaturePermanent(); static { - filterTapped.add(new TappedPredicate()); - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterTapped.add(TappedPredicate.instance); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } public SwordOfTheParuns(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java b/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java index 55000ba822c..3cb81da2ec0 100644 --- a/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java +++ b/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java @@ -27,7 +27,7 @@ public final class SymbioticDeployment extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public SymbioticDeployment(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TacticalAdvantage.java b/Mage.Sets/src/mage/cards/t/TacticalAdvantage.java index 52774236e1d..c9605157dbb 100644 --- a/Mage.Sets/src/mage/cards/t/TacticalAdvantage.java +++ b/Mage.Sets/src/mage/cards/t/TacticalAdvantage.java @@ -25,8 +25,8 @@ public final class TacticalAdvantage extends CardImpl { static { filter.add( Predicates.or( - new BlockingPredicate(), - new BlockedPredicate() + BlockingPredicate.instance, + BlockedPredicate.instance )); filter.add(new ControllerPredicate(TargetController.YOU)); diff --git a/Mage.Sets/src/mage/cards/t/TakeHeart.java b/Mage.Sets/src/mage/cards/t/TakeHeart.java index b57596a3632..cdf08b872c8 100644 --- a/Mage.Sets/src/mage/cards/t/TakeHeart.java +++ b/Mage.Sets/src/mage/cards/t/TakeHeart.java @@ -23,7 +23,7 @@ public final class TakeHeart extends CardImpl { = new FilterControlledCreaturePermanent(); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public TakeHeart(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TakeVengeance.java b/Mage.Sets/src/mage/cards/t/TakeVengeance.java index 5a229b0ba18..e58e3d3f1b6 100644 --- a/Mage.Sets/src/mage/cards/t/TakeVengeance.java +++ b/Mage.Sets/src/mage/cards/t/TakeVengeance.java @@ -18,7 +18,7 @@ public final class TakeVengeance extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public TakeVengeance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java b/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java index 6239f76dff0..06ef55dadfd 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java +++ b/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java @@ -68,7 +68,7 @@ class TappedCreaturesControlledByTargetCount implements DynamicValue { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } @Override diff --git a/Mage.Sets/src/mage/cards/t/Tangle.java b/Mage.Sets/src/mage/cards/t/Tangle.java index 17631aca5e0..5efd00ec705 100644 --- a/Mage.Sets/src/mage/cards/t/Tangle.java +++ b/Mage.Sets/src/mage/cards/t/Tangle.java @@ -52,7 +52,7 @@ class TangleEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public TangleEffect() { diff --git a/Mage.Sets/src/mage/cards/t/TangleWire.java b/Mage.Sets/src/mage/cards/t/TangleWire.java index 54128b1f59e..befb444899a 100644 --- a/Mage.Sets/src/mage/cards/t/TangleWire.java +++ b/Mage.Sets/src/mage/cards/t/TangleWire.java @@ -51,7 +51,7 @@ class TangleWireEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped artifact, creature, or land he or she controls"); static{ - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(Predicates.or( new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), diff --git a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java index 123bf0fab7d..58fb990feb4 100644 --- a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java +++ b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java @@ -27,7 +27,7 @@ public final class TattermungeWitch extends CardImpl { static final private FilterCreaturePermanent filter = new FilterCreaturePermanent("Each blocked creature"); static { - filter.add(new BlockedPredicate()); + filter.add(BlockedPredicate.instance); } public TattermungeWitch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TeferisRealm.java b/Mage.Sets/src/mage/cards/t/TeferisRealm.java index 90c27342071..121ade4895b 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisRealm.java +++ b/Mage.Sets/src/mage/cards/t/TeferisRealm.java @@ -90,7 +90,7 @@ class TeferisRealmEffect extends OneShotEffect { } String choosenType = choiceImpl.getChoice(); FilterPermanent filter = new FilterPermanent(); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); switch (choosenType) { case ARTIFACT: filter.add(new CardTypePredicate(CardType.ARTIFACT)); diff --git a/Mage.Sets/src/mage/cards/t/Telethopter.java b/Mage.Sets/src/mage/cards/t/Telethopter.java index 4ad2e92d226..06b7bdc3bb7 100644 --- a/Mage.Sets/src/mage/cards/t/Telethopter.java +++ b/Mage.Sets/src/mage/cards/t/Telethopter.java @@ -26,7 +26,7 @@ public final class Telethopter extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public Telethopter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TelimTor.java b/Mage.Sets/src/mage/cards/t/TelimTor.java index de9ec08ea0f..de1e8588503 100644 --- a/Mage.Sets/src/mage/cards/t/TelimTor.java +++ b/Mage.Sets/src/mage/cards/t/TelimTor.java @@ -25,7 +25,7 @@ public final class TelimTor extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("all attacking creatures with flanking"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(new AbilityPredicate(FlankingAbility.class)); } diff --git a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java index 3b1325b477f..41c7f0d70c3 100644 --- a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java +++ b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java @@ -30,7 +30,7 @@ public final class TemmetVizierOfNaktamun extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature token you control"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public TemmetVizierOfNaktamun(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/Tetravus.java b/Mage.Sets/src/mage/cards/t/Tetravus.java index ace6165e8ed..c0f8b59d442 100644 --- a/Mage.Sets/src/mage/cards/t/Tetravus.java +++ b/Mage.Sets/src/mage/cards/t/Tetravus.java @@ -155,7 +155,7 @@ class TetravusAddCountersEffect extends OneShotEffect { } FilterControlledPermanent filter = new FilterControlledPermanent("tokens created with " + permanent.getName()); filter.add(new TetravusPredicate(new MageObjectReference(permanent, game))); - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); ExileTargetCost cost = new ExileTargetCost(new TargetControlledPermanent(0, Integer.MAX_VALUE, filter, true)); if (cost.pay(source, game, source.getSourceId(), player.getId(), true)) { return new AddCountersSourceEffect(CounterType.P1P1.createInstance(cost.getPermanents().size())).apply(game, source); diff --git a/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java b/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java index ae0d4677a0c..70827ef6f79 100644 --- a/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java +++ b/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java @@ -34,8 +34,8 @@ public final class TetsuoUmezawa extends CardImpl { static { creatureFilter.add(Predicates.or( - new TappedPredicate(), - new BlockingPredicate())); + TappedPredicate.instance, + BlockingPredicate.instance)); } public TetsuoUmezawa(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheBigIdea.java b/Mage.Sets/src/mage/cards/t/TheBigIdea.java index 6bb1285d164..2ab0e150ab0 100644 --- a/Mage.Sets/src/mage/cards/t/TheBigIdea.java +++ b/Mage.Sets/src/mage/cards/t/TheBigIdea.java @@ -38,7 +38,7 @@ public final class TheBigIdea extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(SubType.BRAINIAC, "Brainiac creatures"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public TheBigIdea(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheftOfDreams.java b/Mage.Sets/src/mage/cards/t/TheftOfDreams.java index 3b7cf159f26..e226a53c67a 100644 --- a/Mage.Sets/src/mage/cards/t/TheftOfDreams.java +++ b/Mage.Sets/src/mage/cards/t/TheftOfDreams.java @@ -61,7 +61,7 @@ class TheftOfDreamsEffect extends OneShotEffect { Player opponent = game.getPlayer(this.getTargetPointer().getFirst(game, source)); if (opponent != null) { FilterCreaturePermanent filter = new FilterCreaturePermanent(); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ControllerIdPredicate(opponent.getId())); return new DrawCardSourceControllerEffect(game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game)).apply(game, source); } diff --git a/Mage.Sets/src/mage/cards/t/ThelonsCurse.java b/Mage.Sets/src/mage/cards/t/ThelonsCurse.java index 9aeaf81971e..07ebd1cf241 100644 --- a/Mage.Sets/src/mage/cards/t/ThelonsCurse.java +++ b/Mage.Sets/src/mage/cards/t/ThelonsCurse.java @@ -64,7 +64,7 @@ class ThelonsCurseEffect extends OneShotEffect { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("tapped blue creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(new ColorPredicate(ObjectColor.BLUE)); } diff --git a/Mage.Sets/src/mage/cards/t/ThievesAuction.java b/Mage.Sets/src/mage/cards/t/ThievesAuction.java index e95351a1a0f..b9b27cf7438 100644 --- a/Mage.Sets/src/mage/cards/t/ThievesAuction.java +++ b/Mage.Sets/src/mage/cards/t/ThievesAuction.java @@ -52,7 +52,7 @@ class ThievesAuctionEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent("nontoken permanents"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } ThievesAuctionEffect() { diff --git a/Mage.Sets/src/mage/cards/t/ThopterFoundry.java b/Mage.Sets/src/mage/cards/t/ThopterFoundry.java index 77043b03a14..2c5a4c93c5f 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterFoundry.java +++ b/Mage.Sets/src/mage/cards/t/ThopterFoundry.java @@ -29,7 +29,7 @@ public final class ThopterFoundry extends CardImpl { static { filter.add(new CardTypePredicate(CardType.ARTIFACT)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public ThopterFoundry(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThousandWinds.java b/Mage.Sets/src/mage/cards/t/ThousandWinds.java index 5d1d868f0c6..c9b591a169c 100644 --- a/Mage.Sets/src/mage/cards/t/ThousandWinds.java +++ b/Mage.Sets/src/mage/cards/t/ThousandWinds.java @@ -26,7 +26,7 @@ public final class ThousandWinds extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public ThousandWinds(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThranTemporalGateway.java b/Mage.Sets/src/mage/cards/t/ThranTemporalGateway.java index cc8b7e96ad3..a8bf44ce26d 100644 --- a/Mage.Sets/src/mage/cards/t/ThranTemporalGateway.java +++ b/Mage.Sets/src/mage/cards/t/ThranTemporalGateway.java @@ -23,7 +23,7 @@ public final class ThranTemporalGateway extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("a historic permanent card"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public ThranTemporalGateway(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java b/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java index 747ddcd3f49..4c485da6466 100644 --- a/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java +++ b/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java @@ -23,7 +23,7 @@ public final class ThroneOfTheGodPharaoh extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent("tapped creature you control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public ThroneOfTheGodPharaoh(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/Thunderstaff.java b/Mage.Sets/src/mage/cards/t/Thunderstaff.java index 7e6da62765a..0436b5a396e 100644 --- a/Mage.Sets/src/mage/cards/t/Thunderstaff.java +++ b/Mage.Sets/src/mage/cards/t/Thunderstaff.java @@ -28,7 +28,7 @@ public final class Thunderstaff extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Attacking creatures"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Thunderstaff(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java index 744235947a4..7b07d3e74af 100644 --- a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java +++ b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java @@ -34,7 +34,7 @@ public final class TilonallisSkinshifter extends CardImpl { static { filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/t/TimeElemental.java b/Mage.Sets/src/mage/cards/t/TimeElemental.java index 30f7e61094d..da36a63b46b 100644 --- a/Mage.Sets/src/mage/cards/t/TimeElemental.java +++ b/Mage.Sets/src/mage/cards/t/TimeElemental.java @@ -34,7 +34,7 @@ public final class TimeElemental extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("permanent that isn't enchanted"); static { - filter.add(Predicates.not(new EnchantedPredicate())); + filter.add(Predicates.not(EnchantedPredicate.instance)); } public TimeElemental(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TimeOfIce.java b/Mage.Sets/src/mage/cards/t/TimeOfIce.java index 10780d7b643..01f9bc08d33 100644 --- a/Mage.Sets/src/mage/cards/t/TimeOfIce.java +++ b/Mage.Sets/src/mage/cards/t/TimeOfIce.java @@ -37,7 +37,7 @@ public final class TimeOfIce extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creatures"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public TimeOfIce(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ToilToRenown.java b/Mage.Sets/src/mage/cards/t/ToilToRenown.java index 3ea6fd3ba52..41b19713171 100644 --- a/Mage.Sets/src/mage/cards/t/ToilToRenown.java +++ b/Mage.Sets/src/mage/cards/t/ToilToRenown.java @@ -23,7 +23,7 @@ public final class ToilToRenown extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("tapped artifact, creature, and land you control"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(Predicates.or( new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.CREATURE), diff --git a/Mage.Sets/src/mage/cards/t/TopanAscetic.java b/Mage.Sets/src/mage/cards/t/TopanAscetic.java index f4d1de3e1e1..402ed8687fc 100644 --- a/Mage.Sets/src/mage/cards/t/TopanAscetic.java +++ b/Mage.Sets/src/mage/cards/t/TopanAscetic.java @@ -25,7 +25,7 @@ public final class TopanAscetic extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static{ - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } diff --git a/Mage.Sets/src/mage/cards/t/TourachsGate.java b/Mage.Sets/src/mage/cards/t/TourachsGate.java index ac999210862..72912a4b953 100644 --- a/Mage.Sets/src/mage/cards/t/TourachsGate.java +++ b/Mage.Sets/src/mage/cards/t/TourachsGate.java @@ -53,12 +53,12 @@ public final class TourachsGate extends CardImpl { private static final FilterPermanent filterUntapped = new FilterPermanent("enchanted land is untapped"); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } private static final FilterCreaturePermanent filterAttackingCreatures = new FilterCreaturePermanent("attacking creatures you control"); static { - filterAttackingCreatures.add(new AttackingPredicate()); + filterAttackingCreatures.add(AttackingPredicate.instance); filterAttackingCreatures.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/t/TownGossipmonger.java b/Mage.Sets/src/mage/cards/t/TownGossipmonger.java index 8d535460720..b0b6c94785b 100644 --- a/Mage.Sets/src/mage/cards/t/TownGossipmonger.java +++ b/Mage.Sets/src/mage/cards/t/TownGossipmonger.java @@ -28,7 +28,7 @@ public final class TownGossipmonger extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public TownGossipmonger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TradewindRider.java b/Mage.Sets/src/mage/cards/t/TradewindRider.java index d2e39d8ab5d..794922dfec2 100644 --- a/Mage.Sets/src/mage/cards/t/TradewindRider.java +++ b/Mage.Sets/src/mage/cards/t/TradewindRider.java @@ -28,7 +28,7 @@ public final class TradewindRider extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creatures you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public TradewindRider(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TrailOfMystery.java b/Mage.Sets/src/mage/cards/t/TrailOfMystery.java index 767196131c4..544fb5147aa 100644 --- a/Mage.Sets/src/mage/cards/t/TrailOfMystery.java +++ b/Mage.Sets/src/mage/cards/t/TrailOfMystery.java @@ -27,7 +27,7 @@ public final class TrailOfMystery extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a face-down creature"); static { - filter.add(new FaceDownPredicate()); + filter.add(FaceDownPredicate.instance); } public TrailOfMystery(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TraitorsRoar.java b/Mage.Sets/src/mage/cards/t/TraitorsRoar.java index 460722bc437..2201993bec7 100644 --- a/Mage.Sets/src/mage/cards/t/TraitorsRoar.java +++ b/Mage.Sets/src/mage/cards/t/TraitorsRoar.java @@ -26,7 +26,7 @@ public final class TraitorsRoar extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("untapped creature"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public TraitorsRoar(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TrapRunner.java b/Mage.Sets/src/mage/cards/t/TrapRunner.java index 54f0da4cd49..6d4b06b2f57 100644 --- a/Mage.Sets/src/mage/cards/t/TrapRunner.java +++ b/Mage.Sets/src/mage/cards/t/TrapRunner.java @@ -36,8 +36,8 @@ public final class TrapRunner extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked attacking creature"); static { - filter.add(new AttackingPredicate()); - filter.add(Predicates.not(new BlockedPredicate())); + filter.add(AttackingPredicate.instance); + filter.add(Predicates.not(BlockedPredicate.instance)); } public TrapRunner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TrialError.java b/Mage.Sets/src/mage/cards/t/TrialError.java index a27bd50f602..490b6b3f2e4 100644 --- a/Mage.Sets/src/mage/cards/t/TrialError.java +++ b/Mage.Sets/src/mage/cards/t/TrialError.java @@ -32,7 +32,7 @@ public final class TrialError extends SplitCard { private static final FilterSpell filter = new FilterSpell("multicolored spell"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public TrialError(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/Turnabout.java b/Mage.Sets/src/mage/cards/t/Turnabout.java index 47e2ae27a84..968a0cd1bbb 100644 --- a/Mage.Sets/src/mage/cards/t/Turnabout.java +++ b/Mage.Sets/src/mage/cards/t/Turnabout.java @@ -110,14 +110,14 @@ class TurnaboutEffect extends OneShotEffect { filter.add(new CardTypePredicate(type)); if (choiceImpl.getChoice().equals("Untap")) { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { if (permanent.isControlledBy(target)) { permanent.untap(game); } } } else { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { if (permanent.isControlledBy(target)) { permanent.tap(game); diff --git a/Mage.Sets/src/mage/cards/t/TwilightDrover.java b/Mage.Sets/src/mage/cards/t/TwilightDrover.java index 95a2edf861b..9b230eea489 100644 --- a/Mage.Sets/src/mage/cards/t/TwilightDrover.java +++ b/Mage.Sets/src/mage/cards/t/TwilightDrover.java @@ -29,7 +29,7 @@ public final class TwilightDrover extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature token"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public TwilightDrover(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java index d52c153360a..a0cd5f70185 100644 --- a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java +++ b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java @@ -30,7 +30,7 @@ public final class TyrantsFamiliar extends CardImpl { static { filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public TyrantsFamiliar(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UktabiKong.java b/Mage.Sets/src/mage/cards/u/UktabiKong.java index d3e92b6b972..1d2f31e7eb1 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiKong.java +++ b/Mage.Sets/src/mage/cards/u/UktabiKong.java @@ -31,7 +31,7 @@ public final class UktabiKong extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Apes you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.APE)); } diff --git a/Mage.Sets/src/mage/cards/u/UlrichsKindred.java b/Mage.Sets/src/mage/cards/u/UlrichsKindred.java index dc00e936dce..898256c9e7d 100644 --- a/Mage.Sets/src/mage/cards/u/UlrichsKindred.java +++ b/Mage.Sets/src/mage/cards/u/UlrichsKindred.java @@ -30,7 +30,7 @@ public final class UlrichsKindred extends CardImpl { static { filter.add(Predicates.or(new SubtypePredicate(SubType.WOLF), new SubtypePredicate(SubType.WEREWOLF))); - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public UlrichsKindred(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UltimatePrice.java b/Mage.Sets/src/mage/cards/u/UltimatePrice.java index 7eee79cde8c..5b37471c239 100644 --- a/Mage.Sets/src/mage/cards/u/UltimatePrice.java +++ b/Mage.Sets/src/mage/cards/u/UltimatePrice.java @@ -19,7 +19,7 @@ public final class UltimatePrice extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); static { - filter.add(new MonocoloredPredicate()); + filter.add(MonocoloredPredicate.instance); } public UltimatePrice(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java b/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java index d130f99fd02..36d32c3d71c 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldMysteries.java @@ -34,7 +34,7 @@ public final class UlvenwaldMysteries extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); filterClue.add(new SubtypePredicate(SubType.CLUE)); } diff --git a/Mage.Sets/src/mage/cards/u/UnlikelyAlliance.java b/Mage.Sets/src/mage/cards/u/UnlikelyAlliance.java index 169e39d2d9c..7e36f41f16f 100644 --- a/Mage.Sets/src/mage/cards/u/UnlikelyAlliance.java +++ b/Mage.Sets/src/mage/cards/u/UnlikelyAlliance.java @@ -26,8 +26,8 @@ public final class UnlikelyAlliance extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonattacking, nonblocking creature"); static { - filter.add(Predicates.not(new AttackingPredicate())); - filter.add(Predicates.not(new BlockingPredicate())); + filter.add(Predicates.not(AttackingPredicate.instance)); + filter.add(Predicates.not(BlockingPredicate.instance)); } public UnlikelyAlliance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UnravelingMummy.java b/Mage.Sets/src/mage/cards/u/UnravelingMummy.java index 4320bfa1e46..ff8bf52ac88 100644 --- a/Mage.Sets/src/mage/cards/u/UnravelingMummy.java +++ b/Mage.Sets/src/mage/cards/u/UnravelingMummy.java @@ -30,7 +30,7 @@ public final class UnravelingMummy extends CardImpl { private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking Zombie"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(new SubtypePredicate(SubType.ZOMBIE)); } diff --git a/Mage.Sets/src/mage/cards/u/UrgeToFeed.java b/Mage.Sets/src/mage/cards/u/UrgeToFeed.java index ca6852a51cb..e5fbd52a959 100644 --- a/Mage.Sets/src/mage/cards/u/UrgeToFeed.java +++ b/Mage.Sets/src/mage/cards/u/UrgeToFeed.java @@ -50,7 +50,7 @@ class UrgeToFeedEffect extends OneShotEffect { static { filter.add(new ControllerPredicate(TargetController.YOU)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.VAMPIRE)); } diff --git a/Mage.Sets/src/mage/cards/u/UrzasFilter.java b/Mage.Sets/src/mage/cards/u/UrzasFilter.java index b9fd9d10cf7..fb3d990ecd8 100644 --- a/Mage.Sets/src/mage/cards/u/UrzasFilter.java +++ b/Mage.Sets/src/mage/cards/u/UrzasFilter.java @@ -20,7 +20,7 @@ public final class UrzasFilter extends CardImpl { private static final FilterCard filter = new FilterCard("multicolored spells"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public UrzasFilter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/Vengeance.java b/Mage.Sets/src/mage/cards/v/Vengeance.java index 10a628cdffe..297badfe894 100644 --- a/Mage.Sets/src/mage/cards/v/Vengeance.java +++ b/Mage.Sets/src/mage/cards/v/Vengeance.java @@ -18,7 +18,7 @@ public final class Vengeance extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } public Vengeance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VenomousVines.java b/Mage.Sets/src/mage/cards/v/VenomousVines.java index 1b12f3b785e..9016551b5e6 100644 --- a/Mage.Sets/src/mage/cards/v/VenomousVines.java +++ b/Mage.Sets/src/mage/cards/v/VenomousVines.java @@ -19,7 +19,7 @@ public final class VenomousVines extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("enchanted permanent"); static { - filter.add(new EnchantedPredicate()); + filter.add(EnchantedPredicate.instance); } public VenomousVines(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java index d46a2412fc2..9e0f3ee8876 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java @@ -56,7 +56,7 @@ class VerdantSuccessionTriggeredAbility extends TriggeredAbilityImpl { static { filter.add(new ColorPredicate(ObjectColor.GREEN)); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public VerdantSuccessionTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java b/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java index 08f15a6ac9d..412e468a951 100644 --- a/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java +++ b/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java @@ -40,7 +40,7 @@ public final class VeryCrypticCommandD extends CardImpl { static { filter.add(new NumberOfTargetsPredicate(1)); - filter2.add(Predicates.not(new TokenPredicate())); + filter2.add(Predicates.not(TokenPredicate.instance)); } public VeryCrypticCommandD(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java b/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java index 7f90224c3ff..d1442674c93 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java +++ b/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java @@ -56,7 +56,7 @@ class VeteranBodyguardEffect extends ReplacementEffectImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("unblocked creatures"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } VeteranBodyguardEffect() { diff --git a/Mage.Sets/src/mage/cards/v/VeteranBrawlers.java b/Mage.Sets/src/mage/cards/v/VeteranBrawlers.java index 0eb7d3d8d62..bbc3d1eb1f0 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranBrawlers.java +++ b/Mage.Sets/src/mage/cards/v/VeteranBrawlers.java @@ -28,7 +28,7 @@ public final class VeteranBrawlers extends CardImpl { static final private FilterLandPermanent filter = new FilterLandPermanent("an untapped land"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } final static private String rule = "{this} can't block if you control an untapped land"; diff --git a/Mage.Sets/src/mage/cards/v/VeteranWarleader.java b/Mage.Sets/src/mage/cards/v/VeteranWarleader.java index fa02fdbda5e..829f2ff6523 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranWarleader.java +++ b/Mage.Sets/src/mage/cards/v/VeteranWarleader.java @@ -44,7 +44,7 @@ public final class VeteranWarleader extends CardImpl { static { filter.add(AnotherPredicate.instance); filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public VeteranWarleader(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VeteransVoice.java b/Mage.Sets/src/mage/cards/v/VeteransVoice.java index d49a943f004..ef9a5d895b7 100644 --- a/Mage.Sets/src/mage/cards/v/VeteransVoice.java +++ b/Mage.Sets/src/mage/cards/v/VeteransVoice.java @@ -35,7 +35,7 @@ public final class VeteransVoice extends CardImpl { private static final FilterCreaturePermanent filterUntapped = new FilterCreaturePermanent("enchanted creature is untapped"); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } public VeteransVoice(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VintaraSnapper.java b/Mage.Sets/src/mage/cards/v/VintaraSnapper.java index b4b16b30f36..68f6d77c7bb 100644 --- a/Mage.Sets/src/mage/cards/v/VintaraSnapper.java +++ b/Mage.Sets/src/mage/cards/v/VintaraSnapper.java @@ -28,7 +28,7 @@ public final class VintaraSnapper extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public VintaraSnapper(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VirulentPlague.java b/Mage.Sets/src/mage/cards/v/VirulentPlague.java index 7dc9190f927..450da3f8169 100644 --- a/Mage.Sets/src/mage/cards/v/VirulentPlague.java +++ b/Mage.Sets/src/mage/cards/v/VirulentPlague.java @@ -20,7 +20,7 @@ public final class VirulentPlague extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creature tokens"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); } public VirulentPlague(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VividRevival.java b/Mage.Sets/src/mage/cards/v/VividRevival.java index 267bf076bb8..98cea2f9888 100644 --- a/Mage.Sets/src/mage/cards/v/VividRevival.java +++ b/Mage.Sets/src/mage/cards/v/VividRevival.java @@ -19,7 +19,7 @@ public final class VividRevival extends CardImpl { private static final FilterCard filter = new FilterCard("multicolored cards from your graveyard"); static { - filter.add(new MulticoloredPredicate()); + filter.add(MulticoloredPredicate.instance); } public VividRevival(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VodalianWarMachine.java b/Mage.Sets/src/mage/cards/v/VodalianWarMachine.java index db4c3214680..1b7d8dde0fe 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianWarMachine.java +++ b/Mage.Sets/src/mage/cards/v/VodalianWarMachine.java @@ -48,7 +48,7 @@ public final class VodalianWarMachine extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Merfolk you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.MERFOLK)); } diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java b/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java index 1539f1eef85..5094e7e2991 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java @@ -28,7 +28,7 @@ public final class VoiceOfTheWoods extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Elves you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.ELF)); } diff --git a/Mage.Sets/src/mage/cards/v/VolrathsGardens.java b/Mage.Sets/src/mage/cards/v/VolrathsGardens.java index e7a9f62da5f..b6378c084f3 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathsGardens.java +++ b/Mage.Sets/src/mage/cards/v/VolrathsGardens.java @@ -25,7 +25,7 @@ public final class VolrathsGardens extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public VolrathsGardens(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WaitingInTheWeeds.java b/Mage.Sets/src/mage/cards/w/WaitingInTheWeeds.java index 727d9642efe..fe4bc242943 100644 --- a/Mage.Sets/src/mage/cards/w/WaitingInTheWeeds.java +++ b/Mage.Sets/src/mage/cards/w/WaitingInTheWeeds.java @@ -48,7 +48,7 @@ class WaitingInTheWeedsEffect extends OneShotEffect { static { filter.add(new SubtypePredicate(SubType.FOREST)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public WaitingInTheWeedsEffect() { diff --git a/Mage.Sets/src/mage/cards/w/WarkiteMarauder.java b/Mage.Sets/src/mage/cards/w/WarkiteMarauder.java index 69721f930ab..be42a91567b 100644 --- a/Mage.Sets/src/mage/cards/w/WarkiteMarauder.java +++ b/Mage.Sets/src/mage/cards/w/WarkiteMarauder.java @@ -26,7 +26,7 @@ public final class WarkiteMarauder extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls"); static { - filter.add(new DefendingPlayerControlsPredicate()); + filter.add(DefendingPlayerControlsPredicate.instance); } public WarkiteMarauder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/Warpath.java b/Mage.Sets/src/mage/cards/w/Warpath.java index d7a20a8b163..6839eb40456 100644 --- a/Mage.Sets/src/mage/cards/w/Warpath.java +++ b/Mage.Sets/src/mage/cards/w/Warpath.java @@ -21,8 +21,8 @@ public final class Warpath extends CardImpl { static { filter.add(Predicates.or( - new BlockingPredicate(), - new BlockedPredicate())); + BlockingPredicate.instance, + BlockedPredicate.instance)); } public Warpath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java index b657f59730a..2ccd435cb41 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java @@ -28,7 +28,7 @@ public final class WaterspoutDjinn extends CardImpl { static{ filter.add(new SubtypePredicate(SubType.ISLAND)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public WaterspoutDjinn(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/Weakstone.java b/Mage.Sets/src/mage/cards/w/Weakstone.java index 7bb3a10a78f..e1a1b16be78 100644 --- a/Mage.Sets/src/mage/cards/w/Weakstone.java +++ b/Mage.Sets/src/mage/cards/w/Weakstone.java @@ -21,7 +21,7 @@ public final class Weakstone extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creatures"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public Weakstone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/Weatherlight.java b/Mage.Sets/src/mage/cards/w/Weatherlight.java index 3c55c668ae5..8caf7d30bce 100644 --- a/Mage.Sets/src/mage/cards/w/Weatherlight.java +++ b/Mage.Sets/src/mage/cards/w/Weatherlight.java @@ -26,7 +26,7 @@ public final class Weatherlight extends CardImpl { private static final FilterCard filter = new FilterCard("a historic card"); static { - filter.add(new HistoricPredicate()); + filter.add(HistoricPredicate.instance); } public Weatherlight(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WeightOfConscience.java b/Mage.Sets/src/mage/cards/w/WeightOfConscience.java index 43706f25802..815d0bee3d2 100644 --- a/Mage.Sets/src/mage/cards/w/WeightOfConscience.java +++ b/Mage.Sets/src/mage/cards/w/WeightOfConscience.java @@ -94,7 +94,7 @@ class WeightOfConscienceTarget extends TargetControlledCreaturePermanent { private static final FilterControlledCreaturePermanent filterUntapped = new FilterControlledCreaturePermanent("untapped creatures you control that share a creature type"); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } WeightOfConscienceTarget() { diff --git a/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java b/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java index ee3002f48ba..e80ae567a64 100644 --- a/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java +++ b/Mage.Sets/src/mage/cards/w/WellOfDiscovery.java @@ -24,7 +24,7 @@ public final class WellOfDiscovery extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public WellOfDiscovery(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WellOfLife.java b/Mage.Sets/src/mage/cards/w/WellOfLife.java index 775e1a02fd3..c1e0f484416 100644 --- a/Mage.Sets/src/mage/cards/w/WellOfLife.java +++ b/Mage.Sets/src/mage/cards/w/WellOfLife.java @@ -24,7 +24,7 @@ public final class WellOfLife extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public WellOfLife(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java b/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java index edd0537a127..26800c0af0f 100644 --- a/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java +++ b/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java @@ -27,7 +27,7 @@ public final class WellgabberApothecary extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("target tapped Merfolk or Kithkin creature this turn"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); filter.add(Predicates.or(new SubtypePredicate(SubType.MERFOLK), new SubtypePredicate(SubType.KITHKIN))); } diff --git a/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java b/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java index ca07645b87c..52b1ca830c1 100644 --- a/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java +++ b/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java @@ -32,8 +32,8 @@ public final class WhisperwoodElemental extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("face-up, nontoken creatures you control"); static { - filter.add(Predicates.not(new FaceDownPredicate())); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(FaceDownPredicate.instance)); + filter.add(Predicates.not(TokenPredicate.instance)); } public WhisperwoodElemental(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java b/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java index 1971335179d..07be1f1d175 100644 --- a/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java +++ b/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java @@ -27,7 +27,7 @@ public final class WindbriskRaptor extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); } public WindbriskRaptor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WindsOfRath.java b/Mage.Sets/src/mage/cards/w/WindsOfRath.java index 559a4c83d92..84f591bef3b 100644 --- a/Mage.Sets/src/mage/cards/w/WindsOfRath.java +++ b/Mage.Sets/src/mage/cards/w/WindsOfRath.java @@ -18,7 +18,7 @@ public final class WindsOfRath extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures that aren't enchanted"); static { - filter.add(Predicates.not(new EnchantedPredicate())); + filter.add(Predicates.not(EnchantedPredicate.instance)); } public WindsOfRath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java b/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java index c584d2d403d..87d646142aa 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java @@ -27,7 +27,7 @@ public final class WirewoodHivemaster extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ELF)); filter.add(AnotherPredicate.instance); - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } public WirewoodHivemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); diff --git a/Mage.Sets/src/mage/cards/w/WoodElemental.java b/Mage.Sets/src/mage/cards/w/WoodElemental.java index 5657c3a83a6..39c7218a3e4 100644 --- a/Mage.Sets/src/mage/cards/w/WoodElemental.java +++ b/Mage.Sets/src/mage/cards/w/WoodElemental.java @@ -62,7 +62,7 @@ class WoodElementalEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("untapped Forests you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SubtypePredicate(SubType.FOREST)); } diff --git a/Mage.Sets/src/mage/cards/z/ZadasCommando.java b/Mage.Sets/src/mage/cards/z/ZadasCommando.java index 123eff9f263..ee55962b5f2 100644 --- a/Mage.Sets/src/mage/cards/z/ZadasCommando.java +++ b/Mage.Sets/src/mage/cards/z/ZadasCommando.java @@ -32,7 +32,7 @@ public final class ZadasCommando extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ZadasCommando(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/z/ZahidDjinnOfTheLamp.java b/Mage.Sets/src/mage/cards/z/ZahidDjinnOfTheLamp.java index d621d2d23c6..47144a1ce1d 100644 --- a/Mage.Sets/src/mage/cards/z/ZahidDjinnOfTheLamp.java +++ b/Mage.Sets/src/mage/cards/z/ZahidDjinnOfTheLamp.java @@ -35,7 +35,7 @@ public final class ZahidDjinnOfTheLamp extends CardImpl { AlternativeCostSourceAbility alternativeCostSourceAbility = new AlternativeCostSourceAbility(new ManaCostsImpl("{3}{U}"), null, "You may pay {3}{U} and tap an untapped artifact you control rather than pay this spell's mana cost."); FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("untapped artifact you control"); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); alternativeCostSourceAbility.addCost(new TapTargetCost(new TargetControlledPermanent(filter))); this.addAbility(alternativeCostSourceAbility); diff --git a/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java b/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java index ea75ba5c222..6e8358a7247 100644 --- a/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java +++ b/Mage.Sets/src/mage/cards/z/ZombieTrailblazer.java @@ -34,7 +34,7 @@ public final class ZombieTrailblazer extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ZOMBIE)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ZombieTrailblazer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/z/ZulaportChainmage.java b/Mage.Sets/src/mage/cards/z/ZulaportChainmage.java index d18e9b05d01..0ad6f5d0ab2 100644 --- a/Mage.Sets/src/mage/cards/z/ZulaportChainmage.java +++ b/Mage.Sets/src/mage/cards/z/ZulaportChainmage.java @@ -30,7 +30,7 @@ public final class ZulaportChainmage extends CardImpl { static { filter.add(new SubtypePredicate(SubType.ALLY)); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } public ZulaportChainmage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index b87b7c0a9dd..bf78aae676a 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -1159,7 +1159,7 @@ public class TestPlayer implements Player { findPermanent(firstFilter, groups[0], computerPlayer.getId(), game); // Second check to filter creature for combat - less strict to workaround issue in #3038 FilterCreatureForCombat secondFilter = new FilterCreatureForCombat(); - // secondFilter.add(Predicates.not(new AttackingPredicate())); + // secondFilter.add(Predicates.not(AttackingPredicate.instance)); secondFilter.add(Predicates.not(new SummoningSicknessPredicate())); // TODO: Cannot enforce legal attackers multiple times per combat. See issue #3038 Permanent attacker = findPermanent(secondFilter, groups[0], computerPlayer.getId(), game, false); diff --git a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java index a74f8d79626..59b4cbdf407 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PopulateEffect.java @@ -34,7 +34,7 @@ public class PopulateEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent("token for populate"); static { - filter.add(new TokenPredicate()); + filter.add(TokenPredicate.instance); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/UntapLandsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/UntapLandsEffect.java index ccc695b67bb..05540aeb2c4 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/UntapLandsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/UntapLandsEffect.java @@ -20,7 +20,7 @@ public class UntapLandsEffect extends OneShotEffect { private static final FilterLandPermanent filter = new FilterLandPermanent("untapped lands"); static { - filter.add(new TappedPredicate()); + filter.add(TappedPredicate.instance); } private final int amount; private final boolean upTo; diff --git a/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java index 30778d34e2f..98544656616 100644 --- a/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/ConspireAbility.java @@ -55,7 +55,7 @@ public class ConspireAbility extends StaticAbility implements OptionalAdditional protected static final String CONSPIRE_ACTIVATION_KEY = "ConspireActivation"; static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); filter.add(new SharesColorWithSourcePredicate()); filter.add(new CardTypePredicate(CardType.CREATURE)); } diff --git a/Mage/src/main/java/mage/abilities/keyword/ConvokeAbility.java b/Mage/src/main/java/mage/abilities/keyword/ConvokeAbility.java index afba2dcd995..19a50c3e328 100644 --- a/Mage/src/main/java/mage/abilities/keyword/ConvokeAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/ConvokeAbility.java @@ -69,7 +69,7 @@ public class ConvokeAbility extends SimpleStaticAbility implements AlternateMana private static final FilterCreaturePermanent filterUntapped = new FilterCreaturePermanent(); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } public ConvokeAbility() { @@ -96,7 +96,7 @@ public class ConvokeAbility extends SimpleStaticAbility implements AlternateMana specialAction.setSourceId(source.getSourceId()); // create filter for possible creatures to tap FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); if (unpaid.getMana().getGeneric() == 0) { List colorPredicates = new ArrayList<>(); if (unpaid.getMana().getBlack() > 0) { diff --git a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java index c4d9502957f..f5a3c314dc0 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CrewAbility.java @@ -54,7 +54,7 @@ class CrewCost extends CostImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped creature you control"); static { - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); } private final int value; diff --git a/Mage/src/main/java/mage/abilities/keyword/ImproviseAbility.java b/Mage/src/main/java/mage/abilities/keyword/ImproviseAbility.java index f3a9f36d652..74181458175 100644 --- a/Mage/src/main/java/mage/abilities/keyword/ImproviseAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/ImproviseAbility.java @@ -37,7 +37,7 @@ public class ImproviseAbility extends SimpleStaticAbility implements AlternateMa private static final FilterArtifactPermanent filterUntapped = new FilterArtifactPermanent(); static { - filterUntapped.add(Predicates.not(new TappedPredicate())); + filterUntapped.add(Predicates.not(TappedPredicate.instance)); } public ImproviseAbility() { @@ -64,7 +64,7 @@ public class ImproviseAbility extends SimpleStaticAbility implements AlternateMa specialAction.setSourceId(source.getSourceId()); // create filter for possible artifacts to tap FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent(); - filter.add(Predicates.not(new TappedPredicate())); + filter.add(Predicates.not(TappedPredicate.instance)); Target target = new TargetControlledPermanent(1, unpaid.getMana().getGeneric(), filter, true); target.setTargetName("artifact to Improvise"); specialAction.addTarget(target); diff --git a/Mage/src/main/java/mage/abilities/keyword/MentorAbility.java b/Mage/src/main/java/mage/abilities/keyword/MentorAbility.java index 85f700357ff..e7fbee0fb73 100644 --- a/Mage/src/main/java/mage/abilities/keyword/MentorAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/MentorAbility.java @@ -20,7 +20,7 @@ public class MentorAbility extends AttacksTriggeredAbility { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking creature with lesser power"); static { - filter.add(new AttackingPredicate()); + filter.add(AttackingPredicate.instance); filter.add(MentorAbilityPredicate.instance); } diff --git a/Mage/src/main/java/mage/abilities/keyword/NinjutsuAbility.java b/Mage/src/main/java/mage/abilities/keyword/NinjutsuAbility.java index ce728b1f75f..e63ae4d5a2d 100644 --- a/Mage/src/main/java/mage/abilities/keyword/NinjutsuAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/NinjutsuAbility.java @@ -47,7 +47,7 @@ public class NinjutsuAbility extends ActivatedAbilityImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("unblocked attacker you control"); static { - filter.add(new UnblockedPredicate()); + filter.add(UnblockedPredicate.instance); } /** diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index bb5a1a21548..a21da63a26b 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -463,7 +463,7 @@ public final class StaticFilters { public static final FilterSpell FILTER_SPELL_A_MULTICOLORED = new FilterSpell("a multicolored spell"); static { - FILTER_SPELL_A_MULTICOLORED.add(new MulticoloredPredicate()); + FILTER_SPELL_A_MULTICOLORED.add(MulticoloredPredicate.instance); FILTER_SPELL_A_MULTICOLORED.setLockedFilter(true); } @@ -500,14 +500,14 @@ public final class StaticFilters { public static final FilterCreaturePermanent FILTER_CREATURE_TOKENS = new FilterCreaturePermanent("creature tokens"); static { - FILTER_CREATURE_TOKENS.add(new TokenPredicate()); + FILTER_CREATURE_TOKENS.add(TokenPredicate.instance); FILTER_CREATURE_TOKENS.setLockedFilter(true); } public static final FilterCreaturePermanent FILTER_ATTACKING_CREATURES = new FilterCreaturePermanent("attacking creatures"); static { - FILTER_ATTACKING_CREATURES.add(new AttackingPredicate()); + FILTER_ATTACKING_CREATURES.add(AttackingPredicate.instance); FILTER_ATTACKING_CREATURES.setLockedFilter(true); } diff --git a/Mage/src/main/java/mage/filter/common/FilterAttackingCreature.java b/Mage/src/main/java/mage/filter/common/FilterAttackingCreature.java index 90d1271aecb..ac3564f19ff 100644 --- a/Mage/src/main/java/mage/filter/common/FilterAttackingCreature.java +++ b/Mage/src/main/java/mage/filter/common/FilterAttackingCreature.java @@ -16,7 +16,7 @@ public class FilterAttackingCreature extends FilterCreaturePermanent { public FilterAttackingCreature(String name) { super(name); - this.add(new AttackingPredicate()); + this.add(AttackingPredicate.instance); } public FilterAttackingCreature(final FilterAttackingCreature filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterAttackingOrBlockingCreature.java b/Mage/src/main/java/mage/filter/common/FilterAttackingOrBlockingCreature.java index aaaa446e1cb..2cb8bbfe23d 100644 --- a/Mage/src/main/java/mage/filter/common/FilterAttackingOrBlockingCreature.java +++ b/Mage/src/main/java/mage/filter/common/FilterAttackingOrBlockingCreature.java @@ -19,8 +19,8 @@ public class FilterAttackingOrBlockingCreature extends FilterCreaturePermanent { public FilterAttackingOrBlockingCreature(String name) { super(name); this.add(Predicates.or( - new AttackingPredicate(), - new BlockingPredicate())); + AttackingPredicate.instance, + BlockingPredicate.instance)); } public FilterAttackingOrBlockingCreature(final FilterAttackingOrBlockingCreature filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterBlockingCreature.java b/Mage/src/main/java/mage/filter/common/FilterBlockingCreature.java index 9a285ba6c68..660b9abf15e 100644 --- a/Mage/src/main/java/mage/filter/common/FilterBlockingCreature.java +++ b/Mage/src/main/java/mage/filter/common/FilterBlockingCreature.java @@ -15,7 +15,7 @@ public class FilterBlockingCreature extends FilterCreaturePermanent { public FilterBlockingCreature(String name) { super(name); - this.add(new BlockingPredicate()); + this.add(BlockingPredicate.instance); } public FilterBlockingCreature(final FilterBlockingCreature filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureForAttack.java b/Mage/src/main/java/mage/filter/common/FilterCreatureForAttack.java index 112685b0dd6..68b75d79265 100644 --- a/Mage/src/main/java/mage/filter/common/FilterCreatureForAttack.java +++ b/Mage/src/main/java/mage/filter/common/FilterCreatureForAttack.java @@ -25,9 +25,9 @@ public class FilterCreatureForAttack extends FilterCreaturePermanent { public FilterCreatureForAttack(String name) { super(name); - this.add(Predicates.not(new AttackingPredicate())); - this.add(Predicates.not(new BlockingPredicate())); - this.add(Predicates.not(new TappedPredicate())); + this.add(Predicates.not(AttackingPredicate.instance)); + this.add(Predicates.not(BlockingPredicate.instance)); + this.add(Predicates.not(TappedPredicate.instance)); this.add(Predicates.not(new AbilityPredicate(DefenderAbility.class))); this.add(new CanTapPredicate()); } diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureForCombat.java b/Mage/src/main/java/mage/filter/common/FilterCreatureForCombat.java index 5b418ce182d..dc94c1fa324 100644 --- a/Mage/src/main/java/mage/filter/common/FilterCreatureForCombat.java +++ b/Mage/src/main/java/mage/filter/common/FilterCreatureForCombat.java @@ -18,7 +18,7 @@ public class FilterCreatureForCombat extends FilterCreatureForCombatBase { public FilterCreatureForCombat(String name) { super(name); - this.add(Predicates.not(new TappedPredicate())); + this.add(Predicates.not(TappedPredicate.instance)); } public FilterCreatureForCombat(final FilterCreatureForCombat filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterCreatureForCombatBase.java b/Mage/src/main/java/mage/filter/common/FilterCreatureForCombatBase.java index 195d4cefcb4..a5daa73e32f 100644 --- a/Mage/src/main/java/mage/filter/common/FilterCreatureForCombatBase.java +++ b/Mage/src/main/java/mage/filter/common/FilterCreatureForCombatBase.java @@ -22,7 +22,7 @@ public class FilterCreatureForCombatBase extends FilterCreaturePermanent { public FilterCreatureForCombatBase(String name) { super(name); - this.add(Predicates.not(new AttackingPredicate())); + this.add(Predicates.not(AttackingPredicate.instance)); this.add(new PhasedInPredicate()); this.add(new CanBlockPredicate()); } diff --git a/Mage/src/main/java/mage/filter/common/FilterHistoricCard.java b/Mage/src/main/java/mage/filter/common/FilterHistoricCard.java index fc843f163cf..eb3f7cf1c1f 100644 --- a/Mage/src/main/java/mage/filter/common/FilterHistoricCard.java +++ b/Mage/src/main/java/mage/filter/common/FilterHistoricCard.java @@ -20,7 +20,7 @@ public class FilterHistoricCard extends FilterCard { public FilterHistoricCard(String name) { super(name); - this.add(new HistoricPredicate()); + this.add(HistoricPredicate.instance); } public FilterHistoricCard(final FilterHistoricCard filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterHistoricSpell.java b/Mage/src/main/java/mage/filter/common/FilterHistoricSpell.java index d6b59a6cc74..13ccb99ea17 100644 --- a/Mage/src/main/java/mage/filter/common/FilterHistoricSpell.java +++ b/Mage/src/main/java/mage/filter/common/FilterHistoricSpell.java @@ -16,7 +16,7 @@ public class FilterHistoricSpell extends FilterSpell { public FilterHistoricSpell(String name) { super(name); - this.add(new HistoricPredicate()); + this.add(HistoricPredicate.instance); } public FilterHistoricSpell(final FilterHistoricSpell filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterUntappedCreature.java b/Mage/src/main/java/mage/filter/common/FilterUntappedCreature.java index 13f1ee652ae..ebf7c43da1d 100644 --- a/Mage/src/main/java/mage/filter/common/FilterUntappedCreature.java +++ b/Mage/src/main/java/mage/filter/common/FilterUntappedCreature.java @@ -17,7 +17,7 @@ public class FilterUntappedCreature extends FilterCreaturePermanent { public FilterUntappedCreature(String name) { super(name); - this.add(Predicates.not(new TappedPredicate())); + this.add(Predicates.not(TappedPredicate.instance)); } public FilterUntappedCreature(final FilterUntappedCreature filter) { diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/HistoricPredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/HistoricPredicate.java index fa862b16b89..39d0a7c15f8 100644 --- a/Mage/src/main/java/mage/filter/predicate/mageobject/HistoricPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/mageobject/HistoricPredicate.java @@ -10,10 +10,10 @@ import mage.filter.predicate.Predicate; import mage.game.Game; /** - * * @author LevelX2 */ -public class HistoricPredicate implements Predicate { +public enum HistoricPredicate implements Predicate { + instance; @Override public boolean apply(MageObject input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/MonocoloredPredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/MonocoloredPredicate.java index 66d98053ece..50172d93ad9 100644 --- a/Mage/src/main/java/mage/filter/predicate/mageobject/MonocoloredPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/mageobject/MonocoloredPredicate.java @@ -6,10 +6,10 @@ import mage.filter.predicate.Predicate; import mage.game.Game; /** - * * @author LevelX2 */ -public class MonocoloredPredicate implements Predicate { +public enum MonocoloredPredicate implements Predicate { + instance; @Override public boolean apply(MageObject input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/MulticoloredPredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/MulticoloredPredicate.java index f1598666111..58a5937d744 100644 --- a/Mage/src/main/java/mage/filter/predicate/mageobject/MulticoloredPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/mageobject/MulticoloredPredicate.java @@ -8,10 +8,10 @@ import mage.filter.predicate.Predicate; import mage.game.Game; /** - * * @author jeffwadsworth */ -public class MulticoloredPredicate implements Predicate { +public enum MulticoloredPredicate implements Predicate { + instance; @Override public boolean apply(MageObject input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/other/FaceDownPredicate.java b/Mage/src/main/java/mage/filter/predicate/other/FaceDownPredicate.java index 1253e4fb1e8..c6079cf9d48 100644 --- a/Mage/src/main/java/mage/filter/predicate/other/FaceDownPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/other/FaceDownPredicate.java @@ -6,10 +6,10 @@ import mage.filter.predicate.Predicate; import mage.game.Game; /** - * * @author North */ -public class FaceDownPredicate implements Predicate { +public enum FaceDownPredicate implements Predicate { + instance; @Override public boolean apply(Card input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/AttackingPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/AttackingPredicate.java index 871661f0bc0..899967ab453 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/AttackingPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/AttackingPredicate.java @@ -6,10 +6,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author North */ -public class AttackingPredicate implements Predicate { +public enum AttackingPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/BlockedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/BlockedPredicate.java index 1e0ef1f468e..97fd2a2f543 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/BlockedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/BlockedPredicate.java @@ -6,10 +6,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author North */ -public class BlockedPredicate implements Predicate { +public enum BlockedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/BlockingPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/BlockingPredicate.java index 33601091112..cf2c3f7c55c 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/BlockingPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/BlockingPredicate.java @@ -6,10 +6,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author North */ -public class BlockingPredicate implements Predicate { +public enum BlockingPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/CommanderPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/CommanderPredicate.java index 8be4989a9fd..58bc4269b22 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/CommanderPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/CommanderPredicate.java @@ -11,10 +11,10 @@ import mage.game.permanent.Permanent; import mage.players.Player; /** - * * @author LevelX2 */ -public class CommanderPredicate implements Predicate { +public enum CommanderPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/CounterAnyPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/CounterAnyPredicate.java index 71065e54e3a..228f1dd6285 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/CounterAnyPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/CounterAnyPredicate.java @@ -1,19 +1,15 @@ package mage.filter.predicate.permanent; -import mage.counters.Counter; import mage.filter.predicate.Predicate; import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author LevelX2 */ -public class CounterAnyPredicate implements Predicate { - - public CounterAnyPredicate() { - } +public enum CounterAnyPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerControlsPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerControlsPredicate.java index 0ec99dfe6c4..85fc626df4e 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerControlsPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerControlsPredicate.java @@ -7,10 +7,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author TheElk801 */ -public class DefendingPlayerControlsPredicate implements ObjectSourcePlayerPredicate> { +public enum DefendingPlayerControlsPredicate implements ObjectSourcePlayerPredicate> { + instance; @Override public boolean apply(ObjectSourcePlayer input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/EnchantedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/EnchantedPredicate.java index c548735dc50..71491195df6 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/EnchantedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/EnchantedPredicate.java @@ -1,19 +1,18 @@ package mage.filter.predicate.permanent; -import java.util.Objects; -import java.util.UUID; - import mage.MageObject; import mage.filter.predicate.Predicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.Objects; + /** - * * @author LevelX2 */ -public class EnchantedPredicate implements Predicate { +public enum EnchantedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { @@ -26,6 +25,6 @@ public class EnchantedPredicate implements Predicate { @Override public String toString() { - return "Enchanted" ; + return "Enchanted"; } } diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/EquippedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/EquippedPredicate.java index cb0b266d9e8..c92c4145943 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/EquippedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/EquippedPredicate.java @@ -15,7 +15,8 @@ import java.util.Objects; /** * @author LevelX2 */ -public class EquippedPredicate implements Predicate { +public enum EquippedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/TappedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/TappedPredicate.java index fb3319ac463..2b4d720d9c9 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/TappedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/TappedPredicate.java @@ -6,10 +6,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author North */ -public class TappedPredicate implements Predicate { +public enum TappedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/TokenPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/TokenPredicate.java index 61afd03d769..97e8f49f5e4 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/TokenPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/TokenPredicate.java @@ -7,10 +7,10 @@ import mage.game.permanent.Permanent; import mage.game.permanent.PermanentToken; /** - * * @author North */ -public class TokenPredicate implements Predicate { +public enum TokenPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/TransformedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/TransformedPredicate.java index 8cbcf132be9..9479bcf8145 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/TransformedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/TransformedPredicate.java @@ -6,10 +6,10 @@ import mage.game.Game; import mage.game.permanent.Permanent; /** - * * @author Saga */ -public class TransformedPredicate implements Predicate { +public enum TransformedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { @@ -18,6 +18,6 @@ public class TransformedPredicate implements Predicate { @Override public String toString() { - return "Transformed" ; + return "Transformed"; } } \ No newline at end of file diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/UnblockedPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/UnblockedPredicate.java index 4b164bc4ae6..2bcff6037f8 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/UnblockedPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/UnblockedPredicate.java @@ -13,7 +13,8 @@ import mage.game.turn.Step; * * @author LevelX2 */ -public class UnblockedPredicate implements Predicate { +public enum UnblockedPredicate implements Predicate { + instance; @Override public boolean apply(Permanent input, Game game) { diff --git a/Mage/src/main/java/mage/game/command/emblems/AurraSingBaneOfJediEmblem.java b/Mage/src/main/java/mage/game/command/emblems/AurraSingBaneOfJediEmblem.java index 8917e9a01f0..30763b68c2d 100644 --- a/Mage/src/main/java/mage/game/command/emblems/AurraSingBaneOfJediEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/AurraSingBaneOfJediEmblem.java @@ -18,7 +18,7 @@ public final class AurraSingBaneOfJediEmblem extends Emblem { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a nontoken creature you control"); static { - filter.add(Predicates.not(new TokenPredicate())); + filter.add(Predicates.not(TokenPredicate.instance)); } // Whenever a nontoken creature you control leaves the battlefied, discard a card. diff --git a/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java b/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java index 784207f8c17..0b5da1d1e49 100644 --- a/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java +++ b/Mage/src/main/java/mage/game/command/planes/AkoumPlane.java @@ -35,7 +35,7 @@ public class AkoumPlane extends Plane { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature that isn't enchanted"); static { - filter.add(Predicates.not(new EnchantedPredicate())); + filter.add(Predicates.not(EnchantedPredicate.instance)); filterCard.add(new CardTypePredicate(CardType.ENCHANTMENT)); }