diff --git a/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java b/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java index 1a7657a6df8..59f0a80516b 100644 --- a/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java +++ b/Mage.Sets/src/mage/cards/a/AbzanBattlePriest.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -26,7 +25,7 @@ public final class AbzanBattlePriest extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public AbzanBattlePriest(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AbzanFalconer.java b/Mage.Sets/src/mage/cards/a/AbzanFalconer.java index 53980309ed1..5a7678a6652 100644 --- a/Mage.Sets/src/mage/cards/a/AbzanFalconer.java +++ b/Mage.Sets/src/mage/cards/a/AbzanFalconer.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -25,7 +24,7 @@ public final class AbzanFalconer extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public AbzanFalconer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AetherbornMarauder.java b/Mage.Sets/src/mage/cards/a/AetherbornMarauder.java index 927aa2b43a2..8c51ac17535 100644 --- a/Mage.Sets/src/mage/cards/a/AetherbornMarauder.java +++ b/Mage.Sets/src/mage/cards/a/AetherbornMarauder.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -77,7 +76,7 @@ class AetherbornMarauderEffect extends OneShotEffect { if (controller != null && sourceObject != null) { FilterControlledPermanent filter = new FilterControlledPermanent("permanent you control to remove +1/+1 counters from"); filter.add(AnotherPredicate.instance); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); boolean firstRun = true; while (game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) { if (controller.chooseUse(outcome, "Move " + (firstRun ? "any" : "more") + " +1/+1 counters from other permanents you control to " + sourceObject.getLogName() + '?', source, game)) { diff --git a/Mage.Sets/src/mage/cards/a/AinokBondKin.java b/Mage.Sets/src/mage/cards/a/AinokBondKin.java index 5c0aea14cf2..f7aea6a6ded 100644 --- a/Mage.Sets/src/mage/cards/a/AinokBondKin.java +++ b/Mage.Sets/src/mage/cards/a/AinokBondKin.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -26,7 +25,7 @@ public final class AinokBondKin extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } static final String rule = "Each creature you control with a +1/+1 counter on it has first strike"; diff --git a/Mage.Sets/src/mage/cards/a/AquastrandSpider.java b/Mage.Sets/src/mage/cards/a/AquastrandSpider.java index 7b648deaf65..5ee835b0104 100644 --- a/Mage.Sets/src/mage/cards/a/AquastrandSpider.java +++ b/Mage.Sets/src/mage/cards/a/AquastrandSpider.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -30,7 +29,7 @@ public final class AquastrandSpider extends CardImpl { = new FilterCreaturePermanent("creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public AquastrandSpider(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/ArmorcraftJudge.java b/Mage.Sets/src/mage/cards/a/ArmorcraftJudge.java index 91d536275f4..b8ed9cf254e 100644 --- a/Mage.Sets/src/mage/cards/a/ArmorcraftJudge.java +++ b/Mage.Sets/src/mage/cards/a/ArmorcraftJudge.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -23,7 +22,7 @@ public final class ArmorcraftJudge extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public ArmorcraftJudge(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/Aurification.java b/Mage.Sets/src/mage/cards/a/Aurification.java index 3d85d0f83e7..e8f87a247a7 100644 --- a/Mage.Sets/src/mage/cards/a/Aurification.java +++ b/Mage.Sets/src/mage/cards/a/Aurification.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -33,7 +32,7 @@ public final class Aurification extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a gold counter on it"); static { - filter.add(new CounterPredicate(CounterType.GOLD)); + filter.add(CounterType.GOLD.getPredicate()); } static final String rule = "Each creature with a gold counter on it is a Wall in addition to its other creature types and has defender."; diff --git a/Mage.Sets/src/mage/cards/a/AvatarOfTheResolute.java b/Mage.Sets/src/mage/cards/a/AvatarOfTheResolute.java index 987d7a0122a..5139aa5ce9d 100644 --- a/Mage.Sets/src/mage/cards/a/AvatarOfTheResolute.java +++ b/Mage.Sets/src/mage/cards/a/AvatarOfTheResolute.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -27,7 +26,7 @@ public final class AvatarOfTheResolute extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("other creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/b/BanewhipPunisher.java b/Mage.Sets/src/mage/cards/b/BanewhipPunisher.java index fcc7ee66d24..20045f42385 100644 --- a/Mage.Sets/src/mage/cards/b/BanewhipPunisher.java +++ b/Mage.Sets/src/mage/cards/b/BanewhipPunisher.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -25,7 +24,7 @@ public final class BanewhipPunisher extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a -1/-1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); } public BanewhipPunisher(UUID ownerId, CardSetInfo cardSetInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java b/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java index eae31d1a616..443a61a4bc3 100644 --- a/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java +++ b/Mage.Sets/src/mage/cards/b/BasrisLieutenant.java @@ -19,7 +19,6 @@ import mage.counters.CounterType; import mage.filter.FilterObject; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.MulticoloredPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.permanent.token.KnightToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -35,7 +34,7 @@ public final class BasrisLieutenant extends CardImpl { static { multicoloredFilter.add(MulticoloredPredicate.instance); controlledCreatureWithP1P1CounterFilter.add(TargetController.YOU.getControllerPredicate()); - controlledCreatureWithP1P1CounterFilter.add(new CounterPredicate(CounterType.P1P1)); + controlledCreatureWithP1P1CounterFilter.add(CounterType.P1P1.getPredicate()); } public BasrisLieutenant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BattlefrontKrushok.java b/Mage.Sets/src/mage/cards/b/BattlefrontKrushok.java index 6c595f9e289..fac752e789c 100644 --- a/Mage.Sets/src/mage/cards/b/BattlefrontKrushok.java +++ b/Mage.Sets/src/mage/cards/b/BattlefrontKrushok.java @@ -12,7 +12,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -25,7 +24,7 @@ public final class BattlefrontKrushok extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public BattlefrontKrushok(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BombSquad.java b/Mage.Sets/src/mage/cards/b/BombSquad.java index 6605a03513c..e5ccc459a27 100644 --- a/Mage.Sets/src/mage/cards/b/BombSquad.java +++ b/Mage.Sets/src/mage/cards/b/BombSquad.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -152,7 +151,7 @@ class BombSquadBeginningEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a fuse counter on it"); static { - filter.add(new CounterPredicate(CounterType.FUSE)); + filter.add(CounterType.FUSE.getPredicate()); } public BombSquadBeginningEffect() { diff --git a/Mage.Sets/src/mage/cards/b/BountyHunter.java b/Mage.Sets/src/mage/cards/b/BountyHunter.java index da943ad7e08..3348441d72c 100644 --- a/Mage.Sets/src/mage/cards/b/BountyHunter.java +++ b/Mage.Sets/src/mage/cards/b/BountyHunter.java @@ -17,7 +17,6 @@ import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -33,7 +32,7 @@ public final class BountyHunter extends CardImpl { static { filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); - filter2.add(new CounterPredicate(CounterType.BOUNTY)); + filter2.add(CounterType.BOUNTY.getPredicate()); } public BountyHunter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java b/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java index 00a2692cc53..430995dc663 100644 --- a/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java +++ b/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.EntersTheBattlefieldEvent; import mage.game.events.GameEvent; @@ -28,7 +27,7 @@ public final class BramblewoodParagon extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public BramblewoodParagon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CennsTactician.java b/Mage.Sets/src/mage/cards/c/CennsTactician.java index c05481331b7..ff251113d66 100644 --- a/Mage.Sets/src/mage/cards/c/CennsTactician.java +++ b/Mage.Sets/src/mage/cards/c/CennsTactician.java @@ -16,7 +16,6 @@ import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -29,7 +28,7 @@ public final class CennsTactician extends CardImpl { private static final FilterControlledCreaturePermanent filterCounter = new FilterControlledCreaturePermanent("Each creature you control with a +1/+1 counter on it"); static { filterSoldier.add(SubType.SOLDIER.getPredicate()); - filterCounter.add(new CounterPredicate(CounterType.P1P1)); + filterCounter.add(CounterType.P1P1.getPredicate()); } public CennsTactician(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java b/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java index 9e7b820336a..3eef3ea0c83 100644 --- a/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java +++ b/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java @@ -17,8 +17,6 @@ import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; -import mage.filter.predicate.Predicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; import java.util.UUID; @@ -34,16 +32,15 @@ public final class ChevillBaneOfMonsters extends CardImpl { = new FilterCreatureOrPlaneswalkerPermanent("creature or planeswalker an opponent controls"); private static final FilterPermanent filter3 = new FilterPermanent("a permanent an opponent controls with a bounty counter on it"); - private static final Predicate predicate = new CounterPredicate(CounterType.BOUNTY); static { filter.add(TargetController.OPPONENT.getControllerPredicate()); - filter.add(predicate); + filter.add(CounterType.BOUNTY.getPredicate()); filter2.add(TargetController.OPPONENT.getControllerPredicate()); filter3.add(TargetController.OPPONENT.getControllerPredicate()); - filter3.add(predicate); + filter3.add(CounterType.BOUNTY.getPredicate()); } private static final Condition condition diff --git a/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java b/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java index 9d078b02715..a5a3cbccd56 100644 --- a/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java +++ b/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java @@ -14,7 +14,6 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.players.Player; @@ -53,7 +52,7 @@ class ChroniclerOfHeroesEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public ChroniclerOfHeroesEffect() { diff --git a/Mage.Sets/src/mage/cards/c/CodeSlice.java b/Mage.Sets/src/mage/cards/c/CodeSlice.java index 225d19a1c15..626a3175060 100644 --- a/Mage.Sets/src/mage/cards/c/CodeSlice.java +++ b/Mage.Sets/src/mage/cards/c/CodeSlice.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -23,7 +22,7 @@ public final class CodeSlice extends CardImpl { static { filter.add(CardType.ARTIFACT.getPredicate()); - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public CodeSlice(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CrownedCeratok.java b/Mage.Sets/src/mage/cards/c/CrownedCeratok.java index d92b5babd4c..c5e26ac91ba 100644 --- a/Mage.Sets/src/mage/cards/c/CrownedCeratok.java +++ b/Mage.Sets/src/mage/cards/c/CrownedCeratok.java @@ -15,7 +15,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -25,7 +24,7 @@ public final class CrownedCeratok extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); } diff --git a/Mage.Sets/src/mage/cards/c/CrumblingAshes.java b/Mage.Sets/src/mage/cards/c/CrumblingAshes.java index cb1f2a9f08c..e95710d755f 100644 --- a/Mage.Sets/src/mage/cards/c/CrumblingAshes.java +++ b/Mage.Sets/src/mage/cards/c/CrumblingAshes.java @@ -12,7 +12,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.Target; import mage.target.common.TargetCreaturePermanent; @@ -25,7 +24,7 @@ public final class CrumblingAshes extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a -1/-1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); } public CrumblingAshes(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java b/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java index 7fbc16ec804..cfda5494735 100644 --- a/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java +++ b/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java @@ -19,7 +19,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -30,7 +29,7 @@ public final class CytoplastManipulator extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public CytoplastManipulator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java b/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java index 56b2902961e..5a27d3ceffc 100644 --- a/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java +++ b/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java @@ -19,7 +19,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -33,7 +32,7 @@ public final class CytoplastRootKin extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("other creature you control that has a +1/+1 counter on it"); static { filter.add(AnotherPredicate.instance); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public CytoplastRootKin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CytospawnShambler.java b/Mage.Sets/src/mage/cards/c/CytospawnShambler.java index ac212482907..558c11a8804 100644 --- a/Mage.Sets/src/mage/cards/c/CytospawnShambler.java +++ b/Mage.Sets/src/mage/cards/c/CytospawnShambler.java @@ -17,7 +17,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -28,7 +27,7 @@ public final class CytospawnShambler extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public CytospawnShambler(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DustOfMoments.java b/Mage.Sets/src/mage/cards/d/DustOfMoments.java index c461e965efe..faf757fba61 100644 --- a/Mage.Sets/src/mage/cards/d/DustOfMoments.java +++ b/Mage.Sets/src/mage/cards/d/DustOfMoments.java @@ -20,7 +20,6 @@ import mage.filter.Filter; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.CardCounterPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -67,7 +66,7 @@ public final class DustOfMoments extends CardImpl { super(Outcome.Benefit); this.counter = new Counter(CounterType.TIME.getName(), 2); this.permFilter = new FilterPermanent("permanent and each suspended card"); - permFilter.add(new CounterPredicate(CounterType.TIME)); + permFilter.add(CounterType.TIME.getPredicate()); this.exiledFilter = new FilterCard("permanent and each suspended card"); exiledFilter.add(new CardCounterPredicate(CounterType.TIME)); diff --git a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java index 02a7c48ef02..d1ed3669915 100644 --- a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java +++ b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java @@ -16,7 +16,6 @@ import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.target.common.TargetCreaturePermanent; import mage.target.targetadjustment.TargetAdjuster; @@ -30,7 +29,7 @@ public final class EliteScaleguard extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public EliteScaleguard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EtrataTheSilencer.java b/Mage.Sets/src/mage/cards/e/EtrataTheSilencer.java index fbbef138a62..e3096d74c8f 100644 --- a/Mage.Sets/src/mage/cards/e/EtrataTheSilencer.java +++ b/Mage.Sets/src/mage/cards/e/EtrataTheSilencer.java @@ -19,7 +19,6 @@ import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; @@ -111,7 +110,7 @@ class EtrataTheSilencerEffect extends OneShotEffect { private static final FilterCard filter = new FilterCard(); static { - filter.add(new CounterPredicate(CounterType.HIT)); + filter.add(CounterType.HIT.getPredicate()); } public EtrataTheSilencerEffect() { diff --git a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java index a97f1e67e26..c4ee311618b 100644 --- a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java +++ b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java @@ -14,7 +14,6 @@ import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -26,7 +25,7 @@ public final class ExavaRakdosBloodWitch extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/e/ExperimentKraj.java b/Mage.Sets/src/mage/cards/e/ExperimentKraj.java index d4c20acec30..a384e94e2e2 100644 --- a/Mage.Sets/src/mage/cards/e/ExperimentKraj.java +++ b/Mage.Sets/src/mage/cards/e/ExperimentKraj.java @@ -16,7 +16,6 @@ import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; @@ -59,7 +58,7 @@ class ExperimentKrajEffect extends ContinuousEffectImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/e/EyeOfDoom.java b/Mage.Sets/src/mage/cards/e/EyeOfDoom.java index 798a652fa43..7ef0cd42de0 100644 --- a/Mage.Sets/src/mage/cards/e/EyeOfDoom.java +++ b/Mage.Sets/src/mage/cards/e/EyeOfDoom.java @@ -15,7 +15,6 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,7 +34,7 @@ public final class EyeOfDoom extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("permanent with a doom counter on it"); static { - filter.add(new CounterPredicate(CounterType.DOOM)); + filter.add(CounterType.DOOM.getPredicate()); } public EyeOfDoom(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FoundryHornet.java b/Mage.Sets/src/mage/cards/f/FoundryHornet.java index b4dd4149941..e2e1063e077 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryHornet.java +++ b/Mage.Sets/src/mage/cards/f/FoundryHornet.java @@ -18,7 +18,6 @@ import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -30,7 +29,7 @@ public final class FoundryHornet extends CardImpl { private static final FilterCreaturePermanent filterOpponent = new FilterCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filterOpponent.add(TargetController.OPPONENT.getControllerPredicate()); } diff --git a/Mage.Sets/src/mage/cards/f/FulfillContract.java b/Mage.Sets/src/mage/cards/f/FulfillContract.java index 6f0fd243825..4caa4dbdb9d 100644 --- a/Mage.Sets/src/mage/cards/f/FulfillContract.java +++ b/Mage.Sets/src/mage/cards/f/FulfillContract.java @@ -13,7 +13,6 @@ import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -30,7 +29,7 @@ public final class FulfillContract extends CardImpl { private static final FilterControlledCreaturePermanent filterRogueOrHunter = new FilterControlledCreaturePermanent("Rogue or Hunter you control"); static { - filterBountyCreature.add(new CounterPredicate(CounterType.BOUNTY)); + filterBountyCreature.add(CounterType.BOUNTY.getPredicate()); filterRogueOrHunter.add(Predicates.or(SubType.ROGUE.getPredicate(), SubType.HUNTER.getPredicate())); } diff --git a/Mage.Sets/src/mage/cards/g/GnarlidColony.java b/Mage.Sets/src/mage/cards/g/GnarlidColony.java index d79577bd84c..4924668e580 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlidColony.java +++ b/Mage.Sets/src/mage/cards/g/GnarlidColony.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -29,7 +28,7 @@ public final class GnarlidColony extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public GnarlidColony(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrakmawSkyclaveRavager.java b/Mage.Sets/src/mage/cards/g/GrakmawSkyclaveRavager.java index 2eb69d794de..c89fedde525 100644 --- a/Mage.Sets/src/mage/cards/g/GrakmawSkyclaveRavager.java +++ b/Mage.Sets/src/mage/cards/g/GrakmawSkyclaveRavager.java @@ -17,7 +17,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.GrakmawSkyclaveRavagerToken; @@ -34,7 +33,7 @@ public final class GrakmawSkyclaveRavager extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public GrakmawSkyclaveRavager(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrindDust.java b/Mage.Sets/src/mage/cards/g/GrindDust.java index ae1b98f4416..2445bd07be3 100644 --- a/Mage.Sets/src/mage/cards/g/GrindDust.java +++ b/Mage.Sets/src/mage/cards/g/GrindDust.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SpellAbilityType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -37,7 +36,7 @@ public final class GrindDust extends SplitCard { // Exile any number of target creatures that have -1/-1 counters on them. getRightHalfCard().getSpellAbility().addEffect(new ExileTargetEffect()); FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures that have -1/-1 counters on them"); - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(0, Integer.MAX_VALUE, filter, false)); } diff --git a/Mage.Sets/src/mage/cards/h/HagraConstrictor.java b/Mage.Sets/src/mage/cards/h/HagraConstrictor.java index ceeaf7327f3..a4a535216a0 100644 --- a/Mage.Sets/src/mage/cards/h/HagraConstrictor.java +++ b/Mage.Sets/src/mage/cards/h/HagraConstrictor.java @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -26,7 +25,7 @@ public final class HagraConstrictor extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public HagraConstrictor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java index 73b2b5fceb1..f17492e5c73 100644 --- a/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java +++ b/Mage.Sets/src/mage/cards/h/HaphazardBombardment.java @@ -19,7 +19,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -41,7 +40,7 @@ public final class HaphazardBombardment extends CardImpl { // At the beginning of your end step, if two or more permanents you don't control have an aim counter on them, destroy one of those permanents at random. FilterPermanent filter = new FilterPermanent("if two or more permanents you don't control have an aim counter on them"); filter.add(TargetController.NOT_YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.AIM)); + filter.add(CounterType.AIM.getPredicate()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfYourEndStepTriggeredAbility(new HaphazardBombardmentEndOfTurnEffect(), false), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1, false), "At the beginning of your end step, if two or more permanents you don't control have an aim counter on them, destroy one of those permanents at random")); @@ -126,7 +125,7 @@ class HaphazardBombardmentEndOfTurnEffect extends OneShotEffect { // that don't have indestructible. FilterPermanent filter = new FilterPermanent("if two or more permanents you don't control have an aim counter on them"); filter.add(TargetController.NOT_YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.AIM)); + filter.add(CounterType.AIM.getPredicate()); filter.add(Predicates.not(new AbilityPredicate(IndestructibleAbility.class))); List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game); if (!permanents.isEmpty()) { diff --git a/Mage.Sets/src/mage/cards/h/HazardousConditions.java b/Mage.Sets/src/mage/cards/h/HazardousConditions.java index 341e09fbca4..a2420d763e5 100644 --- a/Mage.Sets/src/mage/cards/h/HazardousConditions.java +++ b/Mage.Sets/src/mage/cards/h/HazardousConditions.java @@ -1,7 +1,6 @@ package mage.cards.h; -import java.util.UUID; import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -9,10 +8,11 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.CounterPredicate; +import mage.filter.predicate.permanent.CounterAnyPredicate; + +import java.util.UUID; /** - * * @author spjspj */ public final class HazardousConditions extends CardImpl { @@ -20,11 +20,11 @@ public final class HazardousConditions extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with no counter"); static { - filter.add(Predicates.not(new CounterPredicate(null))); + filter.add(Predicates.not(CounterAnyPredicate.instance)); } public HazardousConditions(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{B}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}{G}"); // Creatures with no counters on them get -2/-2 until end of turn this.getSpellAbility().addEffect(new BoostAllEffect(-2, -2, Duration.EndOfTurn, filter, false)); diff --git a/Mage.Sets/src/mage/cards/h/HeliumSquirter.java b/Mage.Sets/src/mage/cards/h/HeliumSquirter.java index a303d7ddcf2..438d035ef30 100644 --- a/Mage.Sets/src/mage/cards/h/HeliumSquirter.java +++ b/Mage.Sets/src/mage/cards/h/HeliumSquirter.java @@ -17,7 +17,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -28,7 +27,7 @@ public final class HeliumSquirter extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public HeliumSquirter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java b/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java index 1471480504c..aea0d9d34ff 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java @@ -13,7 +13,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -24,7 +23,7 @@ public final class HeraldOfSecretStreams extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creatures you control with +1/+1 counters on them"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public HeraldOfSecretStreams(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java b/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java index 44a2ab40721..55f0552e804 100644 --- a/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java +++ b/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java @@ -21,7 +21,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -33,7 +32,7 @@ public final class HighSentinelsOfArashin extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("other creature you control with a +1/+1 counter on it"); static { filter.add(AnotherPredicate.instance); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public HighSentinelsOfArashin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/Hindervines.java b/Mage.Sets/src/mage/cards/h/Hindervines.java index c3702291888..ec36cbd2ab0 100644 --- a/Mage.Sets/src/mage/cards/h/Hindervines.java +++ b/Mage.Sets/src/mage/cards/h/Hindervines.java @@ -10,7 +10,6 @@ import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -21,7 +20,7 @@ public final class Hindervines extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with no +1/+1 counters on them"); static { - filter.add(Predicates.not(new CounterPredicate(CounterType.P1P1))); + filter.add(Predicates.not(CounterType.P1P1).getPredicate()); } public Hindervines(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HotPursuit.java b/Mage.Sets/src/mage/cards/h/HotPursuit.java index bc12ce68a8a..0e1f04a589f 100644 --- a/Mage.Sets/src/mage/cards/h/HotPursuit.java +++ b/Mage.Sets/src/mage/cards/h/HotPursuit.java @@ -14,7 +14,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetOpponentsCreaturePermanent; /** @@ -26,7 +25,7 @@ public final class HotPursuit extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a bounty counter on it"); static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public HotPursuit(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java b/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java index 7f5b774e42f..3e70736636d 100644 --- a/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java +++ b/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java @@ -1,7 +1,6 @@ package mage.cards.h; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; @@ -9,20 +8,17 @@ import mage.abilities.costs.common.RemoveCounterCost; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SubType; -import mage.constants.TargetController; -import mage.constants.Zone; +import mage.constants.*; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.permanent.CounterPredicate; +import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetControlledPermanent; +import java.util.UUID; + /** - * * @author spjspj */ public final class HungryHungryHeifer extends CardImpl { @@ -53,7 +49,7 @@ class HungryHungryHeiferEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("a permanent you control with a counter on it"); static { - filter.add(new CounterPredicate(null)); + filter.add(CounterAnyPredicate.instance); } public HungryHungryHeiferEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HuntToExtinction.java b/Mage.Sets/src/mage/cards/h/HuntToExtinction.java index 772bd5dce90..ae4c8e14964 100644 --- a/Mage.Sets/src/mage/cards/h/HuntToExtinction.java +++ b/Mage.Sets/src/mage/cards/h/HuntToExtinction.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetOpponentsCreaturePermanent; /** @@ -23,7 +22,7 @@ public final class HuntToExtinction extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public HuntToExtinction(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/Hydradoodle.java b/Mage.Sets/src/mage/cards/h/Hydradoodle.java index 9ab48ab269b..d39d1a41e72 100644 --- a/Mage.Sets/src/mage/cards/h/Hydradoodle.java +++ b/Mage.Sets/src/mage/cards/h/Hydradoodle.java @@ -1,7 +1,6 @@ package mage.cards.h; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.SpellAbility; @@ -17,13 +16,14 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; +import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import java.util.UUID; + /** - * * @author spjspj */ public final class Hydradoodle extends CardImpl { @@ -63,7 +63,7 @@ class HydradoodleEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent("permanent with a counter"); static { - filter.add(new CounterPredicate(null)); + filter.add(CounterAnyPredicate.instance); } HydradoodleEffect() { @@ -71,7 +71,7 @@ class HydradoodleEffect extends OneShotEffect { this.staticText = "roll X six-sided dice. {this} enters the battlefield with a number of +1/+1 counters on it equal to the total of those results"; } - HydradoodleEffect(final HydradoodleEffect effect) { + private HydradoodleEffect(final HydradoodleEffect effect) { super(effect); } diff --git a/Mage.Sets/src/mage/cards/i/InspiringCall.java b/Mage.Sets/src/mage/cards/i/InspiringCall.java index b98592a3d22..6eb4bc469cd 100644 --- a/Mage.Sets/src/mage/cards/i/InspiringCall.java +++ b/Mage.Sets/src/mage/cards/i/InspiringCall.java @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -24,7 +23,7 @@ public final class InspiringCall extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public InspiringCall(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java b/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java index 4574cd34eb0..7bd1ead035a 100644 --- a/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java +++ b/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java @@ -12,7 +12,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -23,7 +22,7 @@ public final class IvorytuskFortress extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public IvorytuskFortress(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java b/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java index a8a0275f81c..81c005b5572 100644 --- a/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java +++ b/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java @@ -22,7 +22,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterOpponentsCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.HunterToken; @@ -39,7 +38,7 @@ public final class JabbaTheHutt extends CardImpl { private static final FilterOpponentsCreaturePermanent filter = new FilterOpponentsCreaturePermanent("creature an opponent control with a bounty counter on it"); static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public JabbaTheHutt(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JangoFett.java b/Mage.Sets/src/mage/cards/j/JangoFett.java index fef5ecd7817..aee28b4d525 100644 --- a/Mage.Sets/src/mage/cards/j/JangoFett.java +++ b/Mage.Sets/src/mage/cards/j/JangoFett.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -138,7 +137,7 @@ class JangoFettEffect extends OneShotEffect { int count = 0; if (defenderId != null) { FilterCreaturePermanent bountyFilter = new FilterCreaturePermanent("creatures defending player controls with a bounty counter"); - bountyFilter.add(new CounterPredicate(CounterType.BOUNTY)); + bountyFilter.add(CounterType.BOUNTY.getPredicate()); count = game.getBattlefield().countAll(bountyFilter, defenderId, game); } diff --git a/Mage.Sets/src/mage/cards/j/JiangYangguWildcrafter.java b/Mage.Sets/src/mage/cards/j/JiangYangguWildcrafter.java index a48a815d5d6..a16cc9a59a2 100644 --- a/Mage.Sets/src/mage/cards/j/JiangYangguWildcrafter.java +++ b/Mage.Sets/src/mage/cards/j/JiangYangguWildcrafter.java @@ -16,7 +16,6 @@ import mage.constants.SuperType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -30,7 +29,7 @@ public final class JiangYangguWildcrafter extends CardImpl { = new FilterControlledCreaturePermanent("Each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public JiangYangguWildcrafter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KalonianHydra.java b/Mage.Sets/src/mage/cards/k/KalonianHydra.java index b1863657013..1165616dd00 100644 --- a/Mage.Sets/src/mage/cards/k/KalonianHydra.java +++ b/Mage.Sets/src/mage/cards/k/KalonianHydra.java @@ -18,7 +18,6 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -60,7 +59,7 @@ class KalonianHydraEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public KalonianHydraEffect() { diff --git a/Mage.Sets/src/mage/cards/k/KindredBoon.java b/Mage.Sets/src/mage/cards/k/KindredBoon.java index b30002cc8d3..64c4a6c403d 100644 --- a/Mage.Sets/src/mage/cards/k/KindredBoon.java +++ b/Mage.Sets/src/mage/cards/k/KindredBoon.java @@ -21,7 +21,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ChosenSubtypePredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; /** * @@ -31,7 +30,7 @@ public final class KindredBoon extends CardImpl { private static final FilterControlledCreaturePermanent filterDivinity = new FilterControlledCreaturePermanent("Each creature you control with a divinity counter on it"); static { - filterDivinity.add(new CounterPredicate(CounterType.DIVINITY)); + filterDivinity.add(CounterType.DIVINITY.getPredicate()); } public KindredBoon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LifecraftersGift.java b/Mage.Sets/src/mage/cards/l/LifecraftersGift.java index 884523a5c63..f33d9524dcb 100644 --- a/Mage.Sets/src/mage/cards/l/LifecraftersGift.java +++ b/Mage.Sets/src/mage/cards/l/LifecraftersGift.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -48,7 +47,7 @@ class LifecraftersGiftEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public LifecraftersGiftEffect() { diff --git a/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java b/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java index b5479ee159d..bf9dd84919f 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java @@ -18,7 +18,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; @@ -32,7 +31,7 @@ public final class LilianaDeathWielder extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a -1/-1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); } public LilianaDeathWielder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LockjawSnapper.java b/Mage.Sets/src/mage/cards/l/LockjawSnapper.java index 9ec5b304c26..da8e7d5a523 100644 --- a/Mage.Sets/src/mage/cards/l/LockjawSnapper.java +++ b/Mage.Sets/src/mage/cards/l/LockjawSnapper.java @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -68,7 +67,7 @@ class LockjawSnapperEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { boolean applied = false; FilterCreaturePermanent filter = new FilterCreaturePermanent(); - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); if (game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game).isEmpty()) { return true; } diff --git a/Mage.Sets/src/mage/cards/l/LongshotSquad.java b/Mage.Sets/src/mage/cards/l/LongshotSquad.java index 21f05d8648b..6c5b0dc1159 100644 --- a/Mage.Sets/src/mage/cards/l/LongshotSquad.java +++ b/Mage.Sets/src/mage/cards/l/LongshotSquad.java @@ -17,7 +17,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -30,7 +29,7 @@ public final class LongshotSquad extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public LongshotSquad(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java index b90a31ddfd0..5ed20fd3bad 100644 --- a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java +++ b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java @@ -17,7 +17,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -29,7 +28,7 @@ public final class MerEkNightblade extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public MerEkNightblade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MineLayer.java b/Mage.Sets/src/mage/cards/m/MineLayer.java index 1932c318edd..3388ac9b71e 100644 --- a/Mage.Sets/src/mage/cards/m/MineLayer.java +++ b/Mage.Sets/src/mage/cards/m/MineLayer.java @@ -18,7 +18,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetLandPermanent; @@ -33,7 +32,7 @@ public final class MineLayer extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("land with a mine counter on it"); static { - filter.add(new CounterPredicate(CounterType.MINE)); + filter.add(CounterType.MINE.getPredicate()); } public MineLayer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MutantsPrey.java b/Mage.Sets/src/mage/cards/m/MutantsPrey.java index 7d3f445f4b1..6d39913ca9b 100644 --- a/Mage.Sets/src/mage/cards/m/MutantsPrey.java +++ b/Mage.Sets/src/mage/cards/m/MutantsPrey.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -25,7 +24,7 @@ public final class MutantsPrey extends CardImpl { private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature an opponent controls"); static { filter1.add(TargetController.YOU.getControllerPredicate()); - filter1.add(new CounterPredicate(CounterType.P1P1)); + filter1.add(CounterType.P1P1.getPredicate()); filter2.add(TargetController.OPPONENT.getControllerPredicate()); } diff --git a/Mage.Sets/src/mage/cards/n/NerfHerder.java b/Mage.Sets/src/mage/cards/n/NerfHerder.java index 8464968fdd9..9daa3d5dad4 100644 --- a/Mage.Sets/src/mage/cards/n/NerfHerder.java +++ b/Mage.Sets/src/mage/cards/n/NerfHerder.java @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -27,7 +26,7 @@ public final class NerfHerder extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public NerfHerder(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/n/NissasJudgment.java b/Mage.Sets/src/mage/cards/n/NissasJudgment.java index e7042d665b3..f38eaeec64c 100644 --- a/Mage.Sets/src/mage/cards/n/NissasJudgment.java +++ b/Mage.Sets/src/mage/cards/n/NissasJudgment.java @@ -13,7 +13,6 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -63,7 +62,7 @@ class NissasJudgmentEffect extends OneShotEffect { static { filter.add(TargetController.OPPONENT.getControllerPredicate()); - filterWithCounter.add(new CounterPredicate(CounterType.P1P1)); + filterWithCounter.add(CounterType.P1P1.getPredicate()); } public NissasJudgmentEffect() { diff --git a/Mage.Sets/src/mage/cards/n/NovijenSages.java b/Mage.Sets/src/mage/cards/n/NovijenSages.java index 60ad2a968e6..f1e2f2f31b1 100644 --- a/Mage.Sets/src/mage/cards/n/NovijenSages.java +++ b/Mage.Sets/src/mage/cards/n/NovijenSages.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; /** @@ -28,7 +27,7 @@ public final class NovijenSages extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creatures you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public NovijenSages(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java index 76badc12280..e0e8ad4e774 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java @@ -23,7 +23,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetLandPermanent; @@ -40,7 +39,7 @@ public final class ObsidianFireheart extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("land without a blaze counter on it"); static { - filter.add(Predicates.not(new CounterPredicate(CounterType.BLAZE))); + filter.add(Predicates.not(CounterType.BLAZE).getPredicate()); } public ObsidianFireheart(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OranRiefOoze.java b/Mage.Sets/src/mage/cards/o/OranRiefOoze.java index c8f48b9c761..1bd07665192 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefOoze.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefOoze.java @@ -13,7 +13,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterAttackingCreature; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -27,7 +26,7 @@ public final class OranRiefOoze extends CardImpl { = new FilterAttackingCreature("attacking creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public OranRiefOoze(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OuterRimGang.java b/Mage.Sets/src/mage/cards/o/OuterRimGang.java index ea112908e2d..25bf07f9675 100644 --- a/Mage.Sets/src/mage/cards/o/OuterRimGang.java +++ b/Mage.Sets/src/mage/cards/o/OuterRimGang.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -22,7 +21,7 @@ public final class OuterRimGang extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature with a bounty counter on it"); static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public OuterRimGang(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java b/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java index 2053fc44119..1d027b28e75 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -54,7 +53,7 @@ class PatronOfTheValiantEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public PatronOfTheValiantEffect() { diff --git a/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java b/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java index 143f2236a1d..1e1a52426d9 100644 --- a/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java +++ b/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java @@ -17,7 +17,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -28,7 +27,7 @@ public final class PlaxcasterFrogling extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public PlaxcasterFrogling(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/Pridemalkin.java b/Mage.Sets/src/mage/cards/p/Pridemalkin.java index d1cecc076b2..f5c2ee961c8 100644 --- a/Mage.Sets/src/mage/cards/p/Pridemalkin.java +++ b/Mage.Sets/src/mage/cards/p/Pridemalkin.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -29,7 +28,7 @@ public final class Pridemalkin extends CardImpl { = new FilterControlledCreaturePermanent("each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public Pridemalkin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RageForger.java b/Mage.Sets/src/mage/cards/r/RageForger.java index 15d35f91ac6..9dec24f5fda 100644 --- a/Mage.Sets/src/mage/cards/r/RageForger.java +++ b/Mage.Sets/src/mage/cards/r/RageForger.java @@ -18,7 +18,6 @@ import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -37,7 +36,7 @@ public final class RageForger extends CardImpl { filter.add(SubType.SHAMAN.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); filter.add(AnotherPredicate.instance); - filterAttack.add(new CounterPredicate(CounterType.P1P1)); + filterAttack.add(CounterType.P1P1.getPredicate()); } public RageForger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java b/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java index e692bdb62c7..ab8baf8c1da 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java @@ -14,7 +14,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -53,7 +52,7 @@ class RenegadeKrasisTriggeredAbility extends TriggeredAbilityImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public RenegadeKrasisTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/r/RetributionOfTheAncients.java b/Mage.Sets/src/mage/cards/r/RetributionOfTheAncients.java index 42aab39e6f4..c838583e90e 100644 --- a/Mage.Sets/src/mage/cards/r/RetributionOfTheAncients.java +++ b/Mage.Sets/src/mage/cards/r/RetributionOfTheAncients.java @@ -17,7 +17,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -29,7 +28,7 @@ public final class RetributionOfTheAncients extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creatures you control"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public RetributionOfTheAncients(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RiftElemental.java b/Mage.Sets/src/mage/cards/r/RiftElemental.java index d77795ffe20..91e19257e5f 100644 --- a/Mage.Sets/src/mage/cards/r/RiftElemental.java +++ b/Mage.Sets/src/mage/cards/r/RiftElemental.java @@ -20,7 +20,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterPermanentOrSuspendedCard; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -61,7 +60,7 @@ class RiftElementalCost extends CostImpl { private static final FilterPermanentOrSuspendedCard filter = new FilterPermanentOrSuspendedCard("permanent you control with a time counter or suspended card you own"); static { filter.getPermanentFilter().add(TargetController.YOU.getControllerPredicate()); - filter.getPermanentFilter().add(new CounterPredicate(CounterType.TIME)); + filter.getPermanentFilter().add(CounterType.TIME.getPredicate()); filter.getCardFilter().add(TargetController.YOU.getOwnerPredicate()); } diff --git a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java index 97f97d2c13c..acb60127254 100644 --- a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java +++ b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java @@ -25,7 +25,6 @@ import mage.constants.SubLayer; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; @@ -40,7 +39,7 @@ public final class RimefeatherOwl extends CardImpl { private static final FilterPermanent filter2 = new FilterPermanent("snow permanents on the battlefield"); static { - filter.add(new CounterPredicate(CounterType.ICE)); + filter.add(CounterType.ICE.getPredicate()); filter2.add(SuperType.SNOW.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/r/RimescaleDragon.java b/Mage.Sets/src/mage/cards/r/RimescaleDragon.java index c358ba8d56a..82a8feb4450 100644 --- a/Mage.Sets/src/mage/cards/r/RimescaleDragon.java +++ b/Mage.Sets/src/mage/cards/r/RimescaleDragon.java @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -30,7 +29,7 @@ public final class RimescaleDragon extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with ice counters"); static { - filter.add(new CounterPredicate(CounterType.ICE)); + filter.add(CounterType.ICE.getPredicate()); } public RimescaleDragon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SapphireDrake.java b/Mage.Sets/src/mage/cards/s/SapphireDrake.java index da4aa7e5f21..7cf891e848b 100644 --- a/Mage.Sets/src/mage/cards/s/SapphireDrake.java +++ b/Mage.Sets/src/mage/cards/s/SapphireDrake.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -24,7 +23,7 @@ public final class SapphireDrake extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } static final String rule = "Each creature you control with a +1/+1 counter on it has flying"; diff --git a/Mage.Sets/src/mage/cards/s/ScaleBlessing.java b/Mage.Sets/src/mage/cards/s/ScaleBlessing.java index 803d0d30fdd..f436ad360d5 100644 --- a/Mage.Sets/src/mage/cards/s/ScaleBlessing.java +++ b/Mage.Sets/src/mage/cards/s/ScaleBlessing.java @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -50,7 +49,7 @@ class ScaleBlessingEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public ScaleBlessingEffect() { diff --git a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java index 1be079d32be..7e4b4d5aba7 100644 --- a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java +++ b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java @@ -21,7 +21,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -32,7 +31,7 @@ public final class SimicBasilisk extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SimicBasilisk(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SkatewingSpy.java b/Mage.Sets/src/mage/cards/s/SkatewingSpy.java index 5e548117717..bcd52cbc78b 100644 --- a/Mage.Sets/src/mage/cards/s/SkatewingSpy.java +++ b/Mage.Sets/src/mage/cards/s/SkatewingSpy.java @@ -14,7 +14,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -26,7 +25,7 @@ public final class SkatewingSpy extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SkatewingSpy(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SkyclaveShadowcat.java b/Mage.Sets/src/mage/cards/s/SkyclaveShadowcat.java index 50418128b66..3ea706e3722 100644 --- a/Mage.Sets/src/mage/cards/s/SkyclaveShadowcat.java +++ b/Mage.Sets/src/mage/cards/s/SkyclaveShadowcat.java @@ -16,7 +16,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -30,7 +29,7 @@ public final class SkyclaveShadowcat extends CardImpl { = new FilterControlledCreaturePermanent("a creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SkyclaveShadowcat(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SnowMercy.java b/Mage.Sets/src/mage/cards/s/SnowMercy.java index 73f74b31c26..0c42d49998e 100644 --- a/Mage.Sets/src/mage/cards/s/SnowMercy.java +++ b/Mage.Sets/src/mage/cards/s/SnowMercy.java @@ -17,7 +17,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -33,7 +32,7 @@ public final class SnowMercy extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures with globe counters on them"); static { - filter.add(new CounterPredicate(CounterType.GLOBE)); + filter.add(CounterType.GLOBE.getPredicate()); } public SnowMercy(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java b/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java index dec93372109..fe45b368c1d 100644 --- a/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java +++ b/Mage.Sets/src/mage/cards/s/SoulbladeCorrupter.java @@ -15,7 +15,6 @@ import mage.constants.SetTargetPointer; import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -61,7 +60,7 @@ class SoulbladeCorrupterTriggeredAbility extends AttacksAllTriggeredAbility { private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature with a +1/+1 counter on it"); static { - filter2.add(new CounterPredicate(CounterType.P1P1)); + filter2.add(CounterType.P1P1.getPredicate()); } SoulbladeCorrupterTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/s/SpikeCannibal.java b/Mage.Sets/src/mage/cards/s/SpikeCannibal.java index 3587947b8e9..0cb9ff5ccde 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeCannibal.java +++ b/Mage.Sets/src/mage/cards/s/SpikeCannibal.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -54,7 +53,7 @@ class SpikeCannibalEffect extends OneShotEffect { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures with +1/+1 counter"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } SpikeCannibalEffect() { diff --git a/Mage.Sets/src/mage/cards/s/SporebackTroll.java b/Mage.Sets/src/mage/cards/s/SporebackTroll.java index 4bc8dd614eb..3bee66ed840 100644 --- a/Mage.Sets/src/mage/cards/s/SporebackTroll.java +++ b/Mage.Sets/src/mage/cards/s/SporebackTroll.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -26,7 +25,7 @@ public final class SporebackTroll extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SporebackTroll(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SteppeGlider.java b/Mage.Sets/src/mage/cards/s/SteppeGlider.java index f8acc79699a..b5151b22433 100644 --- a/Mage.Sets/src/mage/cards/s/SteppeGlider.java +++ b/Mage.Sets/src/mage/cards/s/SteppeGlider.java @@ -18,7 +18,6 @@ import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -30,7 +29,7 @@ public final class SteppeGlider extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SteppeGlider(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SunbringersTouch.java b/Mage.Sets/src/mage/cards/s/SunbringersTouch.java index 1cca7cfa8c3..d35385e22b5 100644 --- a/Mage.Sets/src/mage/cards/s/SunbringersTouch.java +++ b/Mage.Sets/src/mage/cards/s/SunbringersTouch.java @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -23,7 +22,7 @@ public final class SunbringersTouch extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public SunbringersTouch(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SwarmShambler.java b/Mage.Sets/src/mage/cards/s/SwarmShambler.java index e7db504c107..dd589388dd9 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmShambler.java +++ b/Mage.Sets/src/mage/cards/s/SwarmShambler.java @@ -18,7 +18,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -72,7 +71,7 @@ class SwarmShamblerTriggeredAbility extends TriggeredAbilityImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } SwarmShamblerTriggeredAbility() { diff --git a/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java b/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java index 4b24926310e..d059364840a 100644 --- a/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java +++ b/Mage.Sets/src/mage/cards/t/TayamLuminousEnigma.java @@ -21,7 +21,7 @@ import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.filter.predicate.permanent.CounterPredicate; +import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.game.Game; import mage.game.events.EntersTheBattlefieldEvent; import mage.game.events.GameEvent; @@ -38,7 +38,6 @@ import java.util.UUID; import static com.google.common.collect.Iterables.getOnlyElement; /** - * * @author htrajan */ public final class TayamLuminousEnigma extends CardImpl { @@ -80,7 +79,7 @@ class TayamLuminousEnigmaCost extends RemoveCounterCost { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a creature with a counter among creatures you control"); static { - filter.add(new CounterPredicate(null)); + filter.add(CounterAnyPredicate.instance); } public TayamLuminousEnigmaCost() { diff --git a/Mage.Sets/src/mage/cards/t/TemperedVeteran.java b/Mage.Sets/src/mage/cards/t/TemperedVeteran.java index d9470f439d1..da1dada4b38 100644 --- a/Mage.Sets/src/mage/cards/t/TemperedVeteran.java +++ b/Mage.Sets/src/mage/cards/t/TemperedVeteran.java @@ -13,7 +13,6 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +27,7 @@ public final class TemperedVeteran extends CardImpl { = new FilterCreaturePermanent("creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public TemperedVeteran(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java index d55c9ea62fa..9d906a4807a 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java +++ b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java @@ -20,7 +20,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -35,7 +34,7 @@ public final class TemporalDistortion extends CardImpl { static { filter.add(Predicates.or(CardType.LAND.getPredicate(), CardType.CREATURE.getPredicate())); - filter2.add(new CounterPredicate(CounterType.HOURGLASS)); + filter2.add(CounterType.HOURGLASS.getPredicate()); } public TemporalDistortion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TenaciousHunter.java b/Mage.Sets/src/mage/cards/t/TenaciousHunter.java index 3d4ef424f8c..af49d925107 100644 --- a/Mage.Sets/src/mage/cards/t/TenaciousHunter.java +++ b/Mage.Sets/src/mage/cards/t/TenaciousHunter.java @@ -18,7 +18,6 @@ import mage.constants.ComparisonType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -29,7 +28,7 @@ public final class TenaciousHunter extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature has a -1/-1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.M1M1)); + filter.add(CounterType.M1M1.getPredicate()); } public TenaciousHunter(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java b/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java index 6d03fbc10bc..89336910401 100644 --- a/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java +++ b/Mage.Sets/src/mage/cards/t/TetzimocPrimalDeath.java @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -30,7 +29,7 @@ public final class TetzimocPrimalDeath extends CardImpl { static { filter.add(TargetController.OPPONENT.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.PREY)); + filter.add(CounterType.PREY.getPredicate()); } public TetzimocPrimalDeath(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThatWhichWasTaken.java b/Mage.Sets/src/mage/cards/t/ThatWhichWasTaken.java index cc66e70e131..c0320a515ac 100644 --- a/Mage.Sets/src/mage/cards/t/ThatWhichWasTaken.java +++ b/Mage.Sets/src/mage/cards/t/ThatWhichWasTaken.java @@ -20,7 +20,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.TargetPermanent; @@ -36,7 +35,7 @@ public final class ThatWhichWasTaken extends CardImpl { static { filter.add(AnotherPredicate.instance); - filterIndestructible.add(new CounterPredicate(CounterType.DIVINITY)); + filterIndestructible.add(CounterType.DIVINITY.getPredicate()); } public ThatWhichWasTaken(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java b/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java index 52ad0363c38..d831a6803cd 100644 --- a/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java +++ b/Mage.Sets/src/mage/cards/t/TheCrowdGoesWild.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.target.common.TargetCreaturePermanent; import mage.target.targetadjustment.TargetAdjuster; @@ -27,7 +26,7 @@ public final class TheCrowdGoesWild extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public TheCrowdGoesWild(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java b/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java index 810aa9bb884..973efc189a5 100644 --- a/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java +++ b/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java @@ -1,7 +1,5 @@ - package mage.cards.t; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; @@ -10,24 +8,25 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Outcome; +import mage.constants.SubType; import mage.counters.Counter; import mage.counters.CounterType; import mage.counters.Counters; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; +import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import java.util.UUID; + /** - * * @author emerald000 */ public final class ThiefOfBlood extends CardImpl { public ThiefOfBlood(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); this.power = new MageInt(1); this.toughness = new MageInt(1); this.subtype.add(SubType.VAMPIRE); @@ -39,7 +38,7 @@ public final class ThiefOfBlood extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new ThiefOfBloodEffect(), null, "As {this} enters the battlefield, remove all counters from all permanents. {this} enters the battlefield with a +1/+1 counter on it for each counter removed this way", null)); } - public ThiefOfBlood(final ThiefOfBlood card) { + private ThiefOfBlood(final ThiefOfBlood card) { super(card); } @@ -54,7 +53,7 @@ class ThiefOfBloodEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent("permanent with a counter"); static { - filter.add(new CounterPredicate(null)); + filter.add(CounterAnyPredicate.instance); } ThiefOfBloodEffect() { @@ -62,7 +61,7 @@ class ThiefOfBloodEffect extends OneShotEffect { this.staticText = "remove all counters from all permanents. {this} enters the battlefield with a +1/+1 counter on it for each counter removed this way"; } - ThiefOfBloodEffect(final ThiefOfBloodEffect effect) { + private ThiefOfBloodEffect(final ThiefOfBloodEffect effect) { super(effect); } diff --git a/Mage.Sets/src/mage/cards/t/TimeOfHeroes.java b/Mage.Sets/src/mage/cards/t/TimeOfHeroes.java index 0ffb444eee8..c0120f707d4 100644 --- a/Mage.Sets/src/mage/cards/t/TimeOfHeroes.java +++ b/Mage.Sets/src/mage/cards/t/TimeOfHeroes.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -22,7 +21,7 @@ public final class TimeOfHeroes extends CardImpl { static { filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.LEVEL)); + filter.add(CounterType.LEVEL.getPredicate()); } public TimeOfHeroes(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/Timecrafting.java b/Mage.Sets/src/mage/cards/t/Timecrafting.java index ff24030202f..6c8c2fee0cd 100644 --- a/Mage.Sets/src/mage/cards/t/Timecrafting.java +++ b/Mage.Sets/src/mage/cards/t/Timecrafting.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterPermanentOrSuspendedCard; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -26,7 +25,7 @@ public final class Timecrafting extends CardImpl { private static final FilterPermanentOrSuspendedCard filter = new FilterPermanentOrSuspendedCard("permanent with a time counter on it or suspended card"); static { - filter.getPermanentFilter().add(new CounterPredicate(CounterType.TIME)); + filter.getPermanentFilter().add(CounterType.TIME.getPredicate()); } public Timecrafting(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TitanicBrawl.java b/Mage.Sets/src/mage/cards/t/TitanicBrawl.java index c23972f76e6..5b83aadafdb 100644 --- a/Mage.Sets/src/mage/cards/t/TitanicBrawl.java +++ b/Mage.Sets/src/mage/cards/t/TitanicBrawl.java @@ -13,7 +13,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +27,7 @@ public final class TitanicBrawl extends CardImpl { = new FilterControlledCreaturePermanent("a creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } private static final Condition condition = new SourceTargetsPermanentCondition(filter); diff --git a/Mage.Sets/src/mage/cards/t/TogetherForever.java b/Mage.Sets/src/mage/cards/t/TogetherForever.java index 7bb233674e1..ca8e0b16a0f 100644 --- a/Mage.Sets/src/mage/cards/t/TogetherForever.java +++ b/Mage.Sets/src/mage/cards/t/TogetherForever.java @@ -17,7 +17,6 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; @@ -34,7 +33,7 @@ public final class TogetherForever extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(""); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public TogetherForever(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TrapDigger.java b/Mage.Sets/src/mage/cards/t/TrapDigger.java index 7d2767d9daf..2e8b1880d87 100644 --- a/Mage.Sets/src/mage/cards/t/TrapDigger.java +++ b/Mage.Sets/src/mage/cards/t/TrapDigger.java @@ -21,7 +21,6 @@ import mage.filter.common.FilterAttackingCreature; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetAttackingCreature; import mage.target.common.TargetControlledPermanent; @@ -35,7 +34,7 @@ public final class TrapDigger extends CardImpl { private static final FilterAttackingCreature filter2 = new FilterAttackingCreature("attacking creature without flying"); static { - filter1.add(new CounterPredicate(CounterType.TRAP)); + filter1.add(CounterType.TRAP.getPredicate()); filter2.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } diff --git a/Mage.Sets/src/mage/cards/t/TriadOfFates.java b/Mage.Sets/src/mage/cards/t/TriadOfFates.java index 0fcbfbdecaf..a905ca5d2ab 100644 --- a/Mage.Sets/src/mage/cards/t/TriadOfFates.java +++ b/Mage.Sets/src/mage/cards/t/TriadOfFates.java @@ -16,7 +16,6 @@ import mage.constants.*; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,7 +34,7 @@ public final class TriadOfFates extends CardImpl { static { filter.add(AnotherPredicate.instance); - filterCounter.add(new CounterPredicate(CounterType.FATE)); + filterCounter.add(CounterType.FATE.getPredicate()); } public TriadOfFates(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TrollbredGuardian.java b/Mage.Sets/src/mage/cards/t/TrollbredGuardian.java index cd197483700..1b70223aae3 100644 --- a/Mage.Sets/src/mage/cards/t/TrollbredGuardian.java +++ b/Mage.Sets/src/mage/cards/t/TrollbredGuardian.java @@ -14,7 +14,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -26,7 +25,7 @@ public final class TrollbredGuardian extends CardImpl { private static final FilterPermanent filter = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public TrollbredGuardian(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java index 44036e1cc74..c2c85d3531f 100644 --- a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java +++ b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java @@ -17,7 +17,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -30,7 +29,7 @@ public final class TuskguardCaptain extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); filter.add(TargetController.YOU.getControllerPredicate()); - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } static final String rule = "Each creature you control with a +1/+1 counter on it has trample"; diff --git a/Mage.Sets/src/mage/cards/u/UnityOfPurpose.java b/Mage.Sets/src/mage/cards/u/UnityOfPurpose.java index b20f4d29da8..ad1391a619a 100644 --- a/Mage.Sets/src/mage/cards/u/UnityOfPurpose.java +++ b/Mage.Sets/src/mage/cards/u/UnityOfPurpose.java @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -20,7 +19,7 @@ public final class UnityOfPurpose extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each creature you control with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public UnityOfPurpose(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UnrulySureshot.java b/Mage.Sets/src/mage/cards/u/UnrulySureshot.java index eb77f293458..d3772ef4c39 100644 --- a/Mage.Sets/src/mage/cards/u/UnrulySureshot.java +++ b/Mage.Sets/src/mage/cards/u/UnrulySureshot.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetOpponentsCreaturePermanent; @@ -29,7 +28,7 @@ public final class UnrulySureshot extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); + filter.add(CounterType.BOUNTY.getPredicate()); } public UnrulySureshot(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java b/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java index 439eaf22840..867f9e5aa36 100644 --- a/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java +++ b/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -26,7 +25,7 @@ public final class VigeanGraftmage extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with a +1/+1 counter on it"); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); } public VigeanGraftmage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/z/ZeganaUtopianSpeaker.java b/Mage.Sets/src/mage/cards/z/ZeganaUtopianSpeaker.java index b05e459af56..0ab74550880 100644 --- a/Mage.Sets/src/mage/cards/z/ZeganaUtopianSpeaker.java +++ b/Mage.Sets/src/mage/cards/z/ZeganaUtopianSpeaker.java @@ -16,7 +16,6 @@ import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.CounterPredicate; import java.util.UUID; @@ -29,9 +28,9 @@ public final class ZeganaUtopianSpeaker extends CardImpl { private static final FilterPermanent filter2 = new FilterControlledCreaturePermanent(); static { - filter.add(new CounterPredicate(CounterType.P1P1)); + filter.add(CounterType.P1P1.getPredicate()); filter.add(AnotherPredicate.instance); - filter2.add(new CounterPredicate(CounterType.P1P1)); + filter2.add(CounterType.P1P1.getPredicate()); } public ZeganaUtopianSpeaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java b/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java index 779fddfa7a4..f4f49dd492d 100644 --- a/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/BountyAbility.java @@ -10,7 +10,6 @@ import mage.abilities.effects.Effect; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; /** * @@ -22,7 +21,7 @@ public class BountyAbility extends DiesCreatureTriggeredAbility { static { bountyCounterFilter.add(TargetController.OPPONENT.getControllerPredicate()); - bountyCounterFilter.add(new CounterPredicate(CounterType.BOUNTY)); + bountyCounterFilter.add(CounterType.BOUNTY.getPredicate()); } public BountyAbility(Effect effect) { diff --git a/Mage/src/main/java/mage/counters/CounterType.java b/Mage/src/main/java/mage/counters/CounterType.java index a0fa7e15138..a3ed860b633 100644 --- a/Mage/src/main/java/mage/counters/CounterType.java +++ b/Mage/src/main/java/mage/counters/CounterType.java @@ -1,6 +1,9 @@ package mage.counters; import mage.abilities.keyword.*; +import mage.cards.Card; +import mage.filter.predicate.Predicate; +import mage.game.Game; /** * Enum for counters, names and instances. @@ -160,10 +163,35 @@ public enum CounterType { WIND("wind"), WISH("wish"); + private static class CounterPredicate implements Predicate { + + private final CounterType counter; + + private CounterPredicate(CounterType counter) { + this.counter = counter; + } + + @Override + public boolean apply(Card input, Game game) { + if (counter == null) { + return !input.getCounters(game).keySet().isEmpty(); + } else { + return input.getCounters(game).containsKey(counter); + } + } + + @Override + public String toString() { + return "CounterType(" + counter.getName() + ')'; + } + } + private final String name; + private final CounterPredicate predicate; CounterType(String name) { this.name = name; + this.predicate = new CounterPredicate(this); } /** @@ -249,4 +277,8 @@ public enum CounterType { } return null; } + + public CounterPredicate getPredicate() { + return predicate; + } } diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/CounterPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/CounterPredicate.java deleted file mode 100644 index 75469d4dc17..00000000000 --- a/Mage/src/main/java/mage/filter/predicate/permanent/CounterPredicate.java +++ /dev/null @@ -1,37 +0,0 @@ -package mage.filter.predicate.permanent; - -import mage.cards.Card; -import mage.counters.CounterType; -import mage.filter.predicate.Predicate; -import mage.game.Game; - -/** - * - * @author jeffwadsworth - */ -public class CounterPredicate implements Predicate { - - private final CounterType counter; - - /** - * - * @param counter if null any counter selects the permanent - */ - public CounterPredicate(CounterType counter) { - this.counter = counter; - } - - @Override - public boolean apply(Card input, Game game) { - if (counter == null) { - return !input.getCounters(game).keySet().isEmpty(); - } else { - return input.getCounters(game).containsKey(counter); - } - } - - @Override - public String toString() { - return "CounterType(" + counter.getName() + ')'; - } -}