From ecf26585b59e81a5bd8561f6bba0c353471510a4 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 6 Jan 2020 19:21:27 -0500 Subject: [PATCH] refactored SupertypePredicate to be part of SuperType --- .../src/mage/cards/a/AbominableTreefolk.java | 3 +- .../src/mage/cards/a/AcclaimedContender.java | 3 +- .../mage/cards/a/AdventurersGuildhouse.java | 3 +- Mage.Sets/src/mage/cards/a/AlpineMoon.java | 3 +- Mage.Sets/src/mage/cards/a/Anathemancer.java | 3 +- Mage.Sets/src/mage/cards/a/ArcticFoxes.java | 3 +- .../src/mage/cards/a/ArenaOfTheAncients.java | 3 +- .../src/mage/cards/a/ArvadTheCursed.java | 3 +- Mage.Sets/src/mage/cards/a/Avalanche.java | 3 +- .../src/mage/cards/a/AyumiTheLastVisitor.java | 3 +- .../src/mage/cards/b/BalduvianConjurer.java | 3 +- .../src/mage/cards/b/BalduvianFrostwaker.java | 3 +- Mage.Sets/src/mage/cards/b/BantPanorama.java | 3 +- .../src/mage/cards/b/BenalishHonorGuard.java | 3 +- .../src/mage/cards/b/BlackbladeReforged.java | 3 +- .../src/mage/cards/b/BlindWithAnger.java | 3 +- Mage.Sets/src/mage/cards/b/Blizzard.java | 3 +- Mage.Sets/src/mage/cards/b/BlizzardStrix.java | 3 +- Mage.Sets/src/mage/cards/b/BloodMoon.java | 3 +- Mage.Sets/src/mage/cards/b/BountyAgent.java | 3 +- Mage.Sets/src/mage/cards/b/BurningEarth.java | 3 +- .../src/mage/cards/c/CabalStronghold.java | 3 +- Mage.Sets/src/mage/cards/c/CanopyVista.java | 3 +- Mage.Sets/src/mage/cards/c/CaptainSisay.java | 3 +- Mage.Sets/src/mage/cards/c/CastDown.java | 3 +- .../src/mage/cards/c/CathedralOfSerra.java | 3 +- .../src/mage/cards/c/ChillToTheBone.java | 3 +- Mage.Sets/src/mage/cards/c/CinderGlade.java | 3 +- .../src/mage/cards/c/CircuitousRoute.java | 3 +- Mage.Sets/src/mage/cards/c/ColdSnap.java | 3 +- Mage.Sets/src/mage/cards/c/ConiferWurm.java | 3 +- Mage.Sets/src/mage/cards/c/Cytoshape.java | 3 +- Mage.Sets/src/mage/cards/d/DayOfDestiny.java | 3 +- Mage.Sets/src/mage/cards/d/DeadOfWinter.java | 5 +- Mage.Sets/src/mage/cards/d/Detritivore.java | 3 +- Mage.Sets/src/mage/cards/d/DiamondFaerie.java | 3 +- .../src/mage/cards/d/DirectorKrennic.java | 3 +- Mage.Sets/src/mage/cards/d/DistrictGuide.java | 3 +- .../mage/cards/d/DjinnOfInfiniteDeceits.java | 3 +- .../src/mage/cards/d/DriftOfTheDead.java | 3 +- Mage.Sets/src/mage/cards/d/DroidFactory.java | 3 +- Mage.Sets/src/mage/cards/e/EarlyHarvest.java | 3 +- Mage.Sets/src/mage/cards/e/Earthcraft.java | 3 +- Mage.Sets/src/mage/cards/e/EiganjoCastle.java | 3 +- Mage.Sets/src/mage/cards/e/EmpressGalina.java | 3 +- Mage.Sets/src/mage/cards/e/Encroach.java | 3 +- Mage.Sets/src/mage/cards/e/EsperPanorama.java | 3 +- .../src/mage/cards/e/EverythingamajigB.java | 3 +- Mage.Sets/src/mage/cards/e/Excavator.java | 3 +- Mage.Sets/src/mage/cards/e/Extirpate.java | 3 +- .../src/mage/cards/e/EyeOfSingularity.java | 5 +- Mage.Sets/src/mage/cards/f/FieldOfRuin.java | 3 +- .../src/mage/cards/f/FieldmistBorderpost.java | 3 +- .../src/mage/cards/f/FirewildBorderpost.java | 3 +- .../src/mage/cards/f/FlowerFlourish.java | 3 +- .../src/mage/cards/f/FreyalisesRadiance.java | 3 +- Mage.Sets/src/mage/cards/g/GaeasTouch.java | 3 +- .../src/mage/cards/g/GangrenousZombies.java | 3 +- .../src/mage/cards/g/GargantuanGorilla.java | 3 +- .../src/mage/cards/g/GatecreeperVine.java | 3 +- .../src/mage/cards/g/GauntletOfPower.java | 3 +- .../src/mage/cards/g/GlacialCrevasses.java | 3 +- .../src/mage/cards/g/GlacialRevelation.java | 3 +- .../src/mage/cards/g/GoryosVengeance.java | 3 +- .../src/mage/cards/g/GrixisPanorama.java | 3 +- .../src/mage/cards/h/HallowedGround.java | 3 +- .../mage/cards/h/HeidarRimewindMaster.java | 3 +- Mage.Sets/src/mage/cards/h/HeroesPodium.java | 7 +- Mage.Sets/src/mage/cards/h/HerosBlade.java | 3 +- Mage.Sets/src/mage/cards/h/HerosDemise.java | 3 +- .../src/mage/cards/h/HonorWornShaku.java | 3 +- Mage.Sets/src/mage/cards/i/IceFangCoatl.java | 3 +- .../src/mage/cards/i/IcebergCancrix.java | 3 +- Mage.Sets/src/mage/cards/i/Imperiosaur.java | 3 +- Mage.Sets/src/mage/cards/i/IntoTheNorth.java | 3 +- .../mage/cards/i/IwamoriOfTheOpenFist.java | 3 +- .../cards/j/JaliraMasterPolymorphist.java | 3 +- Mage.Sets/src/mage/cards/j/JediEnclave.java | 3 +- Mage.Sets/src/mage/cards/j/JundPanorama.java | 3 +- Mage.Sets/src/mage/cards/j/JungleVillage.java | 3 +- .../src/mage/cards/k/KamahlsDruidicVow.java | 3 +- Mage.Sets/src/mage/cards/k/Karakas.java | 3 +- .../src/mage/cards/k/KarplusanGiant.java | 3 +- .../src/mage/cards/k/KashiTribeElite.java | 3 +- .../src/mage/cards/k/KethisTheHiddenHand.java | 5 +- .../mage/cards/k/KikiJikiMirrorBreaker.java | 3 +- Mage.Sets/src/mage/cards/k/KitsuneHealer.java | 3 +- Mage.Sets/src/mage/cards/k/KondasBanner.java | 3 +- .../src/mage/cards/k/KondasHatamoto.java | 3 +- .../src/mage/cards/l/LayBareTheHeart.java | 3 +- .../src/mage/cards/l/LegionsOfLimDul.java | 3 +- Mage.Sets/src/mage/cards/l/Lifespinner.java | 3 +- .../cards/l/LilianaDefiantNecromancer.java | 3 +- Mage.Sets/src/mage/cards/l/LivonyaSilone.java | 3 +- Mage.Sets/src/mage/cards/l/Lobotomy.java | 3 +- .../src/mage/cards/l/LoyalRetainers.java | 3 +- .../src/mage/cards/m/MagusOfTheMoon.java | 3 +- .../src/mage/cards/m/MaritLagesSlumber.java | 3 +- .../src/mage/cards/m/MercadiasDownfall.java | 3 +- .../cards/m/MinamoSchoolAtWatersEdge.java | 3 +- Mage.Sets/src/mage/cards/m/Mirrorweave.java | 3 +- .../src/mage/cards/m/MistveinBorderpost.java | 3 +- .../src/mage/cards/m/MobilizedDistrict.java | 3 +- .../src/mage/cards/m/MountainStronghold.java | 3 +- Mage.Sets/src/mage/cards/m/MoxAmber.java | 3 +- .../src/mage/cards/m/MyriadLandscape.java | 3 +- Mage.Sets/src/mage/cards/n/NayaPanorama.java | 3 +- .../src/mage/cards/n/NicolBolasDragonGod.java | 3 +- .../src/mage/cards/n/NissaVastwoodSeer.java | 3 +- .../src/mage/cards/n/NissasPilgrimage.java | 3 +- Mage.Sets/src/mage/cards/n/NissasTriumph.java | 3 +- Mage.Sets/src/mage/cards/o/OhranYeti.java | 3 +- .../cards/o/OkinaTempleToTheGrandfathers.java | 3 +- Mage.Sets/src/mage/cards/o/OldFogey.java | 3 +- Mage.Sets/src/mage/cards/o/OnThinIce.java | 3 +- Mage.Sets/src/mage/cards/o/OpenTheGates.java | 3 +- Mage.Sets/src/mage/cards/o/Ovinomancer.java | 3 +- Mage.Sets/src/mage/cards/p/PilgrimsEye.java | 3 +- Mage.Sets/src/mage/cards/p/PrairieStream.java | 3 +- Mage.Sets/src/mage/cards/p/PriceOfFame.java | 3 +- .../cards/p/PrimevalsGloriousRebirth.java | 3 +- .../src/mage/cards/p/PulseOfLlanowar.java | 3 +- .../cards/r/RekiTheHistoryOfKamigawa.java | 3 +- Mage.Sets/src/mage/cards/r/RimeDryad.java | 3 +- Mage.Sets/src/mage/cards/r/RimeTender.java | 3 +- .../src/mage/cards/r/RimeTransfusion.java | 3 +- .../src/mage/cards/r/RimefeatherOwl.java | 4 +- .../src/mage/cards/r/RimewindCryomancer.java | 3 +- .../src/mage/cards/r/RimewindTaskmage.java | 3 +- Mage.Sets/src/mage/cards/r/RonomHulk.java | 3 +- Mage.Sets/src/mage/cards/r/RonomSerpent.java | 5 +- Mage.Sets/src/mage/cards/s/SeafarersQuay.java | 3 +- Mage.Sets/src/mage/cards/s/ShefetMonitor.java | 3 +- .../cards/s/ShinkaTheBloodsoakedKeep.java | 3 +- .../mage/cards/s/ShizoDeathsStorehouse.java | 3 +- .../cards/s/SisayWeatherlightCaptain.java | 3 +- Mage.Sets/src/mage/cards/s/SithRuins.java | 3 +- Mage.Sets/src/mage/cards/s/Skred.java | 3 +- .../src/mage/cards/s/SmolderingMarsh.java | 3 +- Mage.Sets/src/mage/cards/s/SnowDevil.java | 3 +- Mage.Sets/src/mage/cards/s/Snowblind.java | 3 +- .../src/mage/cards/s/SpatulaOfTheAges.java | 3 +- Mage.Sets/src/mage/cards/s/StarCompass.java | 3 +- .../src/mage/cards/s/StormElemental.java | 3 +- Mage.Sets/src/mage/cards/s/SunkenHollow.java | 3 +- Mage.Sets/src/mage/cards/s/Sunstone.java | 3 +- .../src/mage/cards/s/SurgicalExtraction.java | 3 +- .../src/mage/cards/s/SwordOfTheChosen.java | 3 +- Mage.Sets/src/mage/cards/t/TempestDjinn.java | 3 +- .../src/mage/cards/t/TenzaGodosMaul.java | 3 +- .../src/mage/cards/t/ThaliasLancers.java | 3 +- .../src/mage/cards/t/TheBirthOfMeletis.java | 3 +- .../src/mage/cards/t/TheCircleOfLoyalty.java | 3 +- Mage.Sets/src/mage/cards/t/ThermalFlux.java | 5 +- .../mage/cards/t/TilonallisSkinshifter.java | 3 +- Mage.Sets/src/mage/cards/t/TimeOfNeed.java | 3 +- Mage.Sets/src/mage/cards/t/TradeCaravan.java | 3 +- Mage.Sets/src/mage/cards/t/TsaboTavoc.java | 5 +- .../src/mage/cards/u/UnderworldSlums.java | 3 +- Mage.Sets/src/mage/cards/u/UnholyCitadel.java | 3 +- .../src/mage/cards/u/UrzasRuinousBlast.java | 3 +- Mage.Sets/src/mage/cards/v/VassalsDuty.java | 3 +- .../src/mage/cards/v/VeinfireBorderpost.java | 3 +- Mage.Sets/src/mage/cards/v/VisceridDrone.java | 3 +- .../src/mage/cards/v/VolcanicOffering.java | 5 +- Mage.Sets/src/mage/cards/w/WaveOfVitriol.java | 3 +- Mage.Sets/src/mage/cards/w/Whiteout.java | 3 +- .../src/mage/cards/w/WildernessElemental.java | 3 +- .../src/mage/cards/w/WildfieldBorderpost.java | 3 +- Mage.Sets/src/mage/cards/w/WillowSatyr.java | 3 +- Mage.Sets/src/mage/cards/w/WintersNight.java | 4 +- Mage.Sets/src/mage/cards/w/WintersRest.java | 3 +- .../src/mage/cards/w/WitheringWisps.java | 3 +- .../src/mage/cards/w/WoodlandBellower.java | 3 +- .../src/mage/cards/w/WoollyMammoths.java | 3 +- .../src/mage/cards/w/WorldBottlingKit.java | 3 +- .../src/mage/cards/y/YomijiWhoBarsTheWay.java | 3 +- Mage.Sets/src/mage/cards/z/ZombieMusher.java | 3 +- .../common/LegendarySpellAbility.java | 3 +- .../abilities/costs/mana/SnowManaCost.java | 3 +- .../main/java/mage/constants/SuperType.java | 30 ++- .../main/java/mage/filter/StaticFilters.java | 3 +- .../filter/common/FilterBasicLandCard.java | 3 +- .../mage/filter/common/FilterLandCard.java | 3 +- .../filter/common/FilterLandPermanent.java | 5 +- .../mageobject/SupertypePredicate.java | 30 --- Mage/src/main/java/mage/game/GameImpl.java | 3 +- .../main/java/mage/game/combat/Combat.java | 227 +++++++++--------- .../target/common/TargetBasicLandCard.java | 3 +- .../common/TargetNonBasicLandPermanent.java | 3 +- 190 files changed, 341 insertions(+), 529 deletions(-) delete mode 100644 Mage/src/main/java/mage/filter/predicate/mageobject/SupertypePredicate.java diff --git a/Mage.Sets/src/mage/cards/a/AbominableTreefolk.java b/Mage.Sets/src/mage/cards/a/AbominableTreefolk.java index bceb6ee9853..6e6ffbca3b7 100644 --- a/Mage.Sets/src/mage/cards/a/AbominableTreefolk.java +++ b/Mage.Sets/src/mage/cards/a/AbominableTreefolk.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetOpponentsCreaturePermanent; import java.util.UUID; @@ -28,7 +27,7 @@ public final class AbominableTreefolk extends CardImpl { private static final FilterPermanent filter = new FilterControlledPermanent("snow permanents you control"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); diff --git a/Mage.Sets/src/mage/cards/a/AcclaimedContender.java b/Mage.Sets/src/mage/cards/a/AcclaimedContender.java index dc306a4c8cf..7d77b6799d0 100644 --- a/Mage.Sets/src/mage/cards/a/AcclaimedContender.java +++ b/Mage.Sets/src/mage/cards/a/AcclaimedContender.java @@ -17,7 +17,6 @@ import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import java.util.UUID; @@ -38,7 +37,7 @@ public final class AcclaimedContender extends CardImpl { SubType.AURA.getPredicate(), SubType.EQUIPMENT.getPredicate(), Predicates.and( - new SupertypePredicate(SuperType.LEGENDARY), + SuperType.LEGENDARY.getPredicate(), CardType.ARTIFACT.getPredicate() ) )); diff --git a/Mage.Sets/src/mage/cards/a/AdventurersGuildhouse.java b/Mage.Sets/src/mage/cards/a/AdventurersGuildhouse.java index f52a02aa307..0d65831b1fe 100644 --- a/Mage.Sets/src/mage/cards/a/AdventurersGuildhouse.java +++ b/Mage.Sets/src/mage/cards/a/AdventurersGuildhouse.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class AdventurersGuildhouse extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.GREEN)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public AdventurersGuildhouse(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/AlpineMoon.java b/Mage.Sets/src/mage/cards/a/AlpineMoon.java index 364fb82893e..779769536a9 100644 --- a/Mage.Sets/src/mage/cards/a/AlpineMoon.java +++ b/Mage.Sets/src/mage/cards/a/AlpineMoon.java @@ -13,7 +13,6 @@ import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -51,7 +50,7 @@ class AlpineMoonEffect extends ContinuousEffectImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } public AlpineMoonEffect() { diff --git a/Mage.Sets/src/mage/cards/a/Anathemancer.java b/Mage.Sets/src/mage/cards/a/Anathemancer.java index 95fec16758b..0eb055aa489 100644 --- a/Mage.Sets/src/mage/cards/a/Anathemancer.java +++ b/Mage.Sets/src/mage/cards/a/Anathemancer.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; import mage.target.TargetPlayer; @@ -63,7 +62,7 @@ class AnathemancerCount implements DynamicValue { } FilterLandPermanent filter = new FilterLandPermanent(); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); filter.add(new ControllerIdPredicate(sourceAbility.getFirstTarget())); return game.getBattlefield().count(filter, sourceAbility.getSourceId(), sourceAbility.getControllerId(), game); diff --git a/Mage.Sets/src/mage/cards/a/ArcticFoxes.java b/Mage.Sets/src/mage/cards/a/ArcticFoxes.java index a7a503331c4..b658e56e0e6 100644 --- a/Mage.Sets/src/mage/cards/a/ArcticFoxes.java +++ b/Mage.Sets/src/mage/cards/a/ArcticFoxes.java @@ -13,7 +13,6 @@ import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.PowerPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import java.util.UUID; @@ -60,7 +59,7 @@ enum ArcticFoxesCondition implements Condition { private static final FilterPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } @Override diff --git a/Mage.Sets/src/mage/cards/a/ArenaOfTheAncients.java b/Mage.Sets/src/mage/cards/a/ArenaOfTheAncients.java index 60f5990d5a3..473a3708096 100644 --- a/Mage.Sets/src/mage/cards/a/ArenaOfTheAncients.java +++ b/Mage.Sets/src/mage/cards/a/ArenaOfTheAncients.java @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -25,7 +24,7 @@ public final class ArenaOfTheAncients extends CardImpl { private static final FilterCreaturePermanent legendaryFilter = new FilterCreaturePermanent("legendary creatures"); static { - legendaryFilter.add(new SupertypePredicate(SuperType.LEGENDARY)); + legendaryFilter.add(SuperType.LEGENDARY.getPredicate()); } public ArenaOfTheAncients(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/ArvadTheCursed.java b/Mage.Sets/src/mage/cards/a/ArvadTheCursed.java index 259b77902dc..1a6fe19ddbe 100644 --- a/Mage.Sets/src/mage/cards/a/ArvadTheCursed.java +++ b/Mage.Sets/src/mage/cards/a/ArvadTheCursed.java @@ -15,7 +15,6 @@ import mage.constants.SuperType; import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** @@ -27,7 +26,7 @@ public final class ArvadTheCursed extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creatures"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public ArvadTheCursed(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/a/Avalanche.java b/Mage.Sets/src/mage/cards/a/Avalanche.java index 703bd8f95a3..9f4830420ca 100644 --- a/Mage.Sets/src/mage/cards/a/Avalanche.java +++ b/Mage.Sets/src/mage/cards/a/Avalanche.java @@ -9,7 +9,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.target.TargetPermanent; import mage.target.targetadjustment.TargetAdjuster; @@ -44,7 +43,7 @@ enum AvalancheAdjuster implements TargetAdjuster { private static final FilterPermanent filter = new FilterLandPermanent("snow lands"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } @Override diff --git a/Mage.Sets/src/mage/cards/a/AyumiTheLastVisitor.java b/Mage.Sets/src/mage/cards/a/AyumiTheLastVisitor.java index b79f8a8a8b7..9cc857ed15f 100644 --- a/Mage.Sets/src/mage/cards/a/AyumiTheLastVisitor.java +++ b/Mage.Sets/src/mage/cards/a/AyumiTheLastVisitor.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -20,7 +19,7 @@ public final class AyumiTheLastVisitor extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("Legendary land"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public AyumiTheLastVisitor(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BalduvianConjurer.java b/Mage.Sets/src/mage/cards/b/BalduvianConjurer.java index e2a00d71490..2258b7a0985 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianConjurer.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianConjurer.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.permanent.token.custom.CreatureToken; import mage.target.TargetPermanent; @@ -25,7 +24,7 @@ public final class BalduvianConjurer extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public BalduvianConjurer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BalduvianFrostwaker.java b/Mage.Sets/src/mage/cards/b/BalduvianFrostwaker.java index 2dfa74a2a6c..4f8558c999a 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianFrostwaker.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianFrostwaker.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.permanent.token.TokenImpl; import mage.target.TargetPermanent; @@ -26,7 +25,7 @@ public final class BalduvianFrostwaker extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public BalduvianFrostwaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BantPanorama.java b/Mage.Sets/src/mage/cards/b/BantPanorama.java index 49246b0c1fe..352ec4cef7a 100644 --- a/Mage.Sets/src/mage/cards/b/BantPanorama.java +++ b/Mage.Sets/src/mage/cards/b/BantPanorama.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -26,7 +25,7 @@ public final class BantPanorama extends CardImpl { static { filter.add(CardType.LAND.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.FOREST.getPredicate(), SubType.PLAINS.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java b/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java index 6cca792f358..55b52ac7b0e 100644 --- a/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java +++ b/Mage.Sets/src/mage/cards/b/BenalishHonorGuard.java @@ -16,7 +16,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class BenalishHonorGuard extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("legendary creature you control"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public BenalishHonorGuard(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BlackbladeReforged.java b/Mage.Sets/src/mage/cards/b/BlackbladeReforged.java index a3ab6f157ad..5750ed8ae16 100644 --- a/Mage.Sets/src/mage/cards/b/BlackbladeReforged.java +++ b/Mage.Sets/src/mage/cards/b/BlackbladeReforged.java @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import java.util.UUID; @@ -32,7 +31,7 @@ public final class BlackbladeReforged extends CardImpl { = new FilterControlledCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public BlackbladeReforged(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/BlindWithAnger.java b/Mage.Sets/src/mage/cards/b/BlindWithAnger.java index cacea893306..b46201f51da 100644 --- a/Mage.Sets/src/mage/cards/b/BlindWithAnger.java +++ b/Mage.Sets/src/mage/cards/b/BlindWithAnger.java @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -25,7 +24,7 @@ public final class BlindWithAnger extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonlegendary creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public BlindWithAnger(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/b/Blizzard.java b/Mage.Sets/src/mage/cards/b/Blizzard.java index f6cc27d3ad9..d5c68fa7465 100644 --- a/Mage.Sets/src/mage/cards/b/Blizzard.java +++ b/Mage.Sets/src/mage/cards/b/Blizzard.java @@ -20,7 +20,6 @@ import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -32,7 +31,7 @@ public final class Blizzard extends CardImpl { private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creatures with flying"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter2.add(new AbilityPredicate(FlyingAbility.class)); } diff --git a/Mage.Sets/src/mage/cards/b/BlizzardStrix.java b/Mage.Sets/src/mage/cards/b/BlizzardStrix.java index b3defdb1751..aef99000aed 100644 --- a/Mage.Sets/src/mage/cards/b/BlizzardStrix.java +++ b/Mage.Sets/src/mage/cards/b/BlizzardStrix.java @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -37,7 +36,7 @@ public final class BlizzardStrix extends CardImpl { static { filter.add(AnotherPredicate.instance); filter2.add(AnotherPredicate.instance); - filter2.add(new SupertypePredicate(SuperType.SNOW)); + filter2.add(SuperType.SNOW.getPredicate()); } private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter2); diff --git a/Mage.Sets/src/mage/cards/b/BloodMoon.java b/Mage.Sets/src/mage/cards/b/BloodMoon.java index 1eef0357ac4..95495014518 100644 --- a/Mage.Sets/src/mage/cards/b/BloodMoon.java +++ b/Mage.Sets/src/mage/cards/b/BloodMoon.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -46,7 +45,7 @@ class BloodMoonEffect extends ContinuousEffectImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } BloodMoonEffect() { diff --git a/Mage.Sets/src/mage/cards/b/BountyAgent.java b/Mage.Sets/src/mage/cards/b/BountyAgent.java index 28df060c844..a31d193b00d 100644 --- a/Mage.Sets/src/mage/cards/b/BountyAgent.java +++ b/Mage.Sets/src/mage/cards/b/BountyAgent.java @@ -16,7 +16,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -28,7 +27,7 @@ public final class BountyAgent extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("legendary permanent that's an artifact, creature, or enchantment"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(Predicates.or( CardType.ARTIFACT.getPredicate(), CardType.CREATURE.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/b/BurningEarth.java b/Mage.Sets/src/mage/cards/b/BurningEarth.java index 901829dc536..b5371d4fd03 100644 --- a/Mage.Sets/src/mage/cards/b/BurningEarth.java +++ b/Mage.Sets/src/mage/cards/b/BurningEarth.java @@ -11,7 +11,6 @@ import mage.constants.SetTargetPointer; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -22,7 +21,7 @@ public final class BurningEarth extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("a player taps a nonbasic land"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } public BurningEarth(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CabalStronghold.java b/Mage.Sets/src/mage/cards/c/CabalStronghold.java index a3ea0c289b8..6892bd32b94 100644 --- a/Mage.Sets/src/mage/cards/c/CabalStronghold.java +++ b/Mage.Sets/src/mage/cards/c/CabalStronghold.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @author JRHerlehy @@ -27,7 +26,7 @@ public final class CabalStronghold extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("basic Swamp you control"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.SWAMP.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/c/CanopyVista.java b/Mage.Sets/src/mage/cards/c/CanopyVista.java index 80885f08851..8256840750f 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyVista.java +++ b/Mage.Sets/src/mage/cards/c/CanopyVista.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @author fireshoes @@ -27,7 +26,7 @@ public final class CanopyVista extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public CanopyVista(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CaptainSisay.java b/Mage.Sets/src/mage/cards/c/CaptainSisay.java index 5f782f4c936..c76a5812e06 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainSisay.java +++ b/Mage.Sets/src/mage/cards/c/CaptainSisay.java @@ -13,7 +13,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -25,7 +24,7 @@ public final class CaptainSisay extends CardImpl { private static final FilterCard filter = new FilterCard("legendary card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public CaptainSisay(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CastDown.java b/Mage.Sets/src/mage/cards/c/CastDown.java index 7d331602253..bb389ac15b8 100644 --- a/Mage.Sets/src/mage/cards/c/CastDown.java +++ b/Mage.Sets/src/mage/cards/c/CastDown.java @@ -7,7 +7,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -16,7 +15,7 @@ public final class CastDown extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonlegendary creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public CastDown(UUID ownerId, CardSetInfo cardSetInfo){ diff --git a/Mage.Sets/src/mage/cards/c/CathedralOfSerra.java b/Mage.Sets/src/mage/cards/c/CathedralOfSerra.java index b5702899891..854dca56f95 100644 --- a/Mage.Sets/src/mage/cards/c/CathedralOfSerra.java +++ b/Mage.Sets/src/mage/cards/c/CathedralOfSerra.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class CathedralOfSerra extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.WHITE)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public CathedralOfSerra(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/ChillToTheBone.java b/Mage.Sets/src/mage/cards/c/ChillToTheBone.java index b6252925cc0..a554de41ded 100644 --- a/Mage.Sets/src/mage/cards/c/ChillToTheBone.java +++ b/Mage.Sets/src/mage/cards/c/ChillToTheBone.java @@ -9,7 +9,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -21,7 +20,7 @@ public final class ChillToTheBone extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonsnow creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.SNOW))); + filter.add(Predicates.not(SuperType.SNOW.getPredicate())); } public ChillToTheBone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CinderGlade.java b/Mage.Sets/src/mage/cards/c/CinderGlade.java index af4d78ab358..236725d4f55 100644 --- a/Mage.Sets/src/mage/cards/c/CinderGlade.java +++ b/Mage.Sets/src/mage/cards/c/CinderGlade.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -28,7 +27,7 @@ public final class CinderGlade extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public CinderGlade(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/c/CircuitousRoute.java b/Mage.Sets/src/mage/cards/c/CircuitousRoute.java index 40c08bb80fa..104fbf71c8d 100644 --- a/Mage.Sets/src/mage/cards/c/CircuitousRoute.java +++ b/Mage.Sets/src/mage/cards/c/CircuitousRoute.java @@ -9,7 +9,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -25,7 +24,7 @@ public final class CircuitousRoute extends CardImpl { filter.add(Predicates.or( Predicates.and( CardType.LAND.getPredicate(), - new SupertypePredicate(SuperType.BASIC) + SuperType.BASIC.getPredicate() ), SubType.GATE.getPredicate() )); } diff --git a/Mage.Sets/src/mage/cards/c/ColdSnap.java b/Mage.Sets/src/mage/cards/c/ColdSnap.java index 8772ae0a60c..dc1bae63316 100644 --- a/Mage.Sets/src/mage/cards/c/ColdSnap.java +++ b/Mage.Sets/src/mage/cards/c/ColdSnap.java @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; @@ -47,7 +46,7 @@ class ColdSnapDamageTargetEffect extends OneShotEffect{ private static final FilterLandPermanent filter = new FilterLandPermanent("snow lands"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public ColdSnapDamageTargetEffect() diff --git a/Mage.Sets/src/mage/cards/c/ConiferWurm.java b/Mage.Sets/src/mage/cards/c/ConiferWurm.java index 26efba00026..48d84ebe370 100644 --- a/Mage.Sets/src/mage/cards/c/ConiferWurm.java +++ b/Mage.Sets/src/mage/cards/c/ConiferWurm.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import java.util.UUID; @@ -28,7 +27,7 @@ public final class ConiferWurm extends CardImpl { = new FilterControlledPermanent("the number of snow permanents you control"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); diff --git a/Mage.Sets/src/mage/cards/c/Cytoshape.java b/Mage.Sets/src/mage/cards/c/Cytoshape.java index 7eb623f60a9..9777bd95fec 100644 --- a/Mage.Sets/src/mage/cards/c/Cytoshape.java +++ b/Mage.Sets/src/mage/cards/c/Cytoshape.java @@ -12,7 +12,6 @@ import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.Target; @@ -28,7 +27,7 @@ public final class Cytoshape extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonlegendary creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public Cytoshape(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DayOfDestiny.java b/Mage.Sets/src/mage/cards/d/DayOfDestiny.java index 29d59617c4d..90d991c1875 100644 --- a/Mage.Sets/src/mage/cards/d/DayOfDestiny.java +++ b/Mage.Sets/src/mage/cards/d/DayOfDestiny.java @@ -11,7 +11,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -22,7 +21,7 @@ public final class DayOfDestiny extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Legendary creatures"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public DayOfDestiny(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DeadOfWinter.java b/Mage.Sets/src/mage/cards/d/DeadOfWinter.java index b4af5ddadc0..891d2ef78df 100644 --- a/Mage.Sets/src/mage/cards/d/DeadOfWinter.java +++ b/Mage.Sets/src/mage/cards/d/DeadOfWinter.java @@ -12,7 +12,6 @@ import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import java.util.UUID; @@ -25,8 +24,8 @@ public final class DeadOfWinter extends CardImpl { private static final FilterPermanent filter2 = new FilterControlledPermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.SNOW))); - filter2.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(Predicates.not(SuperType.SNOW.getPredicate())); + filter2.add(SuperType.SNOW.getPredicate()); } private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter2, -1); diff --git a/Mage.Sets/src/mage/cards/d/Detritivore.java b/Mage.Sets/src/mage/cards/d/Detritivore.java index 37655a7a312..4eb96e2ad7b 100644 --- a/Mage.Sets/src/mage/cards/d/Detritivore.java +++ b/Mage.Sets/src/mage/cards/d/Detritivore.java @@ -22,7 +22,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -102,7 +101,7 @@ class NonBasicLandsInOpponentsGraveyards implements DynamicValue { static { filter.add(CardType.LAND.getPredicate()); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } @Override diff --git a/Mage.Sets/src/mage/cards/d/DiamondFaerie.java b/Mage.Sets/src/mage/cards/d/DiamondFaerie.java index 99a752f20f4..d880b7b9e3c 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondFaerie.java +++ b/Mage.Sets/src/mage/cards/d/DiamondFaerie.java @@ -15,7 +15,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class DiamondFaerie extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Snow creatures"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public DiamondFaerie(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DirectorKrennic.java b/Mage.Sets/src/mage/cards/d/DirectorKrennic.java index 6602f49e98d..7478578791e 100644 --- a/Mage.Sets/src/mage/cards/d/DirectorKrennic.java +++ b/Mage.Sets/src/mage/cards/d/DirectorKrennic.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.permanent.token.TrooperToken2; import mage.target.TargetPermanent; @@ -27,7 +26,7 @@ public final class DirectorKrennic extends CardImpl { static { filterLand.add(CardType.LAND.getPredicate()); - filterLand.add(new SupertypePredicate(SuperType.BASIC)); + filterLand.add(SuperType.BASIC.getPredicate()); } public DirectorKrennic(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DistrictGuide.java b/Mage.Sets/src/mage/cards/d/DistrictGuide.java index f2a12ef805f..ceab22ff44b 100644 --- a/Mage.Sets/src/mage/cards/d/DistrictGuide.java +++ b/Mage.Sets/src/mage/cards/d/DistrictGuide.java @@ -11,7 +11,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -27,7 +26,7 @@ public final class DistrictGuide extends CardImpl { filter.add(Predicates.or( Predicates.and( CardType.LAND.getPredicate(), - new SupertypePredicate(SuperType.BASIC) + SuperType.BASIC.getPredicate() ), SubType.GATE.getPredicate() )); } diff --git a/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java b/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java index 4dc91e3f458..45f7f713ae6 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java +++ b/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -27,7 +26,7 @@ public final class DjinnOfInfiniteDeceits extends CardImpl { private static final String rule = "Exchange control of two target nonlegendary creatures"; private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonlegendary creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public DjinnOfInfiniteDeceits(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java b/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java index cb8eb550b90..6ef0de4872a 100644 --- a/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DriftOfTheDead.java @@ -16,7 +16,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; /** @@ -28,7 +27,7 @@ public final class DriftOfTheDead extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("snow lands you control"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(CardType.LAND.getPredicate()); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/d/DroidFactory.java b/Mage.Sets/src/mage/cards/d/DroidFactory.java index e7085a8906a..736b29a80c5 100644 --- a/Mage.Sets/src/mage/cards/d/DroidFactory.java +++ b/Mage.Sets/src/mage/cards/d/DroidFactory.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; @@ -63,7 +62,7 @@ public final class DroidFactory extends CardImpl { subtypePredicates.add(SubType.PLAINS.getPredicate()); subtypePredicates.add(SubType.ISLAND.getPredicate()); filter.add(Predicates.or(subtypePredicates)); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); TargetCardInLibrary target = new TargetCardInLibrary(filter); addEffect(new SearchLibraryPutInPlayEffect(target, true, true, Outcome.PutLandInPlay)); } diff --git a/Mage.Sets/src/mage/cards/e/EarlyHarvest.java b/Mage.Sets/src/mage/cards/e/EarlyHarvest.java index 414e8568efc..0ce1215a876 100644 --- a/Mage.Sets/src/mage/cards/e/EarlyHarvest.java +++ b/Mage.Sets/src/mage/cards/e/EarlyHarvest.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -44,7 +43,7 @@ class UntapAllLandsTargetEffect extends OneShotEffect { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public UntapAllLandsTargetEffect() { diff --git a/Mage.Sets/src/mage/cards/e/Earthcraft.java b/Mage.Sets/src/mage/cards/e/Earthcraft.java index af9a8424b84..dabc15ada18 100644 --- a/Mage.Sets/src/mage/cards/e/Earthcraft.java +++ b/Mage.Sets/src/mage/cards/e/Earthcraft.java @@ -14,7 +14,6 @@ import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.TargetPermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -30,7 +29,7 @@ public final class Earthcraft extends CardImpl { static { filterCreature.add(Predicates.not(TappedPredicate.instance)); filterLand.add(CardType.LAND.getPredicate()); - filterLand.add(new SupertypePredicate(SuperType.BASIC)); + filterLand.add(SuperType.BASIC.getPredicate()); } public Earthcraft(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EiganjoCastle.java b/Mage.Sets/src/mage/cards/e/EiganjoCastle.java index 2fc1a82e77b..e326bd296b1 100644 --- a/Mage.Sets/src/mage/cards/e/EiganjoCastle.java +++ b/Mage.Sets/src/mage/cards/e/EiganjoCastle.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -24,7 +23,7 @@ public final class EiganjoCastle extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public EiganjoCastle(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EmpressGalina.java b/Mage.Sets/src/mage/cards/e/EmpressGalina.java index f07c72a432d..dc81a4c9020 100644 --- a/Mage.Sets/src/mage/cards/e/EmpressGalina.java +++ b/Mage.Sets/src/mage/cards/e/EmpressGalina.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; import java.util.UUID; @@ -23,7 +22,7 @@ public final class EmpressGalina extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("legendary permanent"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public EmpressGalina(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Encroach.java b/Mage.Sets/src/mage/cards/e/Encroach.java index ee97c6745bc..0ca80ad1a0e 100644 --- a/Mage.Sets/src/mage/cards/e/Encroach.java +++ b/Mage.Sets/src/mage/cards/e/Encroach.java @@ -9,7 +9,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetOpponent; /** @@ -21,7 +20,7 @@ public final class Encroach extends CardImpl { private static final FilterCard filter = new FilterCard("a nonbasic land card"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); filter.add(CardType.LAND.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/e/EsperPanorama.java b/Mage.Sets/src/mage/cards/e/EsperPanorama.java index 905ba3f246b..5c3fba203a4 100644 --- a/Mage.Sets/src/mage/cards/e/EsperPanorama.java +++ b/Mage.Sets/src/mage/cards/e/EsperPanorama.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -27,7 +26,7 @@ public final class EsperPanorama extends CardImpl { static { filter.add(CardType.LAND.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.PLAINS.getPredicate(), SubType.ISLAND.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/e/EverythingamajigB.java b/Mage.Sets/src/mage/cards/e/EverythingamajigB.java index 4c87ca972a3..8d81c09de15 100644 --- a/Mage.Sets/src/mage/cards/e/EverythingamajigB.java +++ b/Mage.Sets/src/mage/cards/e/EverythingamajigB.java @@ -21,7 +21,6 @@ import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.other.ExpansionSetPredicate; /** @@ -34,7 +33,7 @@ public final class EverythingamajigB extends CardImpl { static { filter.add(Predicates.and( - Predicates.not(new SupertypePredicate(SuperType.BASIC)), // all Un-set basic lands are black bordered cards, and thus illegal choices + Predicates.not(SuperType.BASIC.getPredicate()), // all Un-set basic lands are black bordered cards, and thus illegal choices Predicates.not(new NamePredicate("Steamflogger Boss")), // printed in Unstable with a black border Predicates.or(new ExpansionSetPredicate("UGL"), new ExpansionSetPredicate("UNH"), new ExpansionSetPredicate("UST")) )); diff --git a/Mage.Sets/src/mage/cards/e/Excavator.java b/Mage.Sets/src/mage/cards/e/Excavator.java index 7bd027d3952..827f0d2c219 100644 --- a/Mage.Sets/src/mage/cards/e/Excavator.java +++ b/Mage.Sets/src/mage/cards/e/Excavator.java @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledPermanent; @@ -31,7 +30,7 @@ public final class Excavator extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public Excavator(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/Extirpate.java b/Mage.Sets/src/mage/cards/e/Extirpate.java index f18fa00bb0c..15daa5b04f1 100644 --- a/Mage.Sets/src/mage/cards/e/Extirpate.java +++ b/Mage.Sets/src/mage/cards/e/Extirpate.java @@ -18,7 +18,6 @@ import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInGraveyard; @@ -34,7 +33,7 @@ public final class Extirpate extends CardImpl { private static final FilterCard filter = new FilterCard("card in a graveyard other than a basic land card"); static { - filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC)))); + filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), SuperType.BASIC.getPredicate()))); } public Extirpate(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java b/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java index d9619577b9f..c3ba6139925 100644 --- a/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java +++ b/Mage.Sets/src/mage/cards/e/EyeOfSingularity.java @@ -13,7 +13,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -58,7 +57,7 @@ class EyeOfSingularityETBEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } EyeOfSingularityETBEffect() { @@ -146,7 +145,7 @@ class EyeOfSingularityTriggeredEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } EyeOfSingularityTriggeredEffect() { diff --git a/Mage.Sets/src/mage/cards/f/FieldOfRuin.java b/Mage.Sets/src/mage/cards/f/FieldOfRuin.java index 8070b83b553..c9422ac6e7e 100644 --- a/Mage.Sets/src/mage/cards/f/FieldOfRuin.java +++ b/Mage.Sets/src/mage/cards/f/FieldOfRuin.java @@ -21,7 +21,6 @@ import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.players.Player; @@ -38,7 +37,7 @@ public final class FieldOfRuin extends CardImpl { static { filter.add(new ControllerPredicate(TargetController.OPPONENT)); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } public FieldOfRuin(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FieldmistBorderpost.java b/Mage.Sets/src/mage/cards/f/FieldmistBorderpost.java index 476cd59c68a..132176753f0 100644 --- a/Mage.Sets/src/mage/cards/f/FieldmistBorderpost.java +++ b/Mage.Sets/src/mage/cards/f/FieldmistBorderpost.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class FieldmistBorderpost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public FieldmistBorderpost (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FirewildBorderpost.java b/Mage.Sets/src/mage/cards/f/FirewildBorderpost.java index 94b05cb3df5..20c92155f18 100644 --- a/Mage.Sets/src/mage/cards/f/FirewildBorderpost.java +++ b/Mage.Sets/src/mage/cards/f/FirewildBorderpost.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class FirewildBorderpost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public FirewildBorderpost (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/f/FlowerFlourish.java b/Mage.Sets/src/mage/cards/f/FlowerFlourish.java index 78d730682b2..eaefaeff30e 100644 --- a/Mage.Sets/src/mage/cards/f/FlowerFlourish.java +++ b/Mage.Sets/src/mage/cards/f/FlowerFlourish.java @@ -12,7 +12,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -25,7 +24,7 @@ public final class FlowerFlourish extends SplitCard { = new FilterCard("basic Forest or Plains card"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.FOREST.getPredicate(), SubType.PLAINS.getPredicate() diff --git a/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java b/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java index d0c902caa70..534e55ad7a7 100644 --- a/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java +++ b/Mage.Sets/src/mage/cards/f/FreyalisesRadiance.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -25,7 +24,7 @@ public final class FreyalisesRadiance extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("snow permanents"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public FreyalisesRadiance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GaeasTouch.java b/Mage.Sets/src/mage/cards/g/GaeasTouch.java index 16577c94053..7f653d9396f 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasTouch.java +++ b/Mage.Sets/src/mage/cards/g/GaeasTouch.java @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -25,7 +24,7 @@ public final class GaeasTouch extends CardImpl { // You may put a basic Forest card from your hand onto the battlefield. Activate this ability only any time you could cast a sorcery and only once each turn. FilterCard filter = new FilterCard("basic Forest card"); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.FOREST.getPredicate()); LimitedTimesPerTurnActivatedAbility ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), new GenericManaCost(0), 1); diff --git a/Mage.Sets/src/mage/cards/g/GangrenousZombies.java b/Mage.Sets/src/mage/cards/g/GangrenousZombies.java index 30211584336..6180bff2ec0 100644 --- a/Mage.Sets/src/mage/cards/g/GangrenousZombies.java +++ b/Mage.Sets/src/mage/cards/g/GangrenousZombies.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import java.util.UUID; @@ -29,7 +28,7 @@ public final class GangrenousZombies extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(SubType.SWAMP.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java b/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java index 72bd1170fbc..0d0aaf7b2f8 100644 --- a/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java +++ b/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java @@ -16,7 +16,6 @@ import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -65,7 +64,7 @@ class GargantuanGorillaSacrificeEffect extends OneShotEffect { static { filter.add(SubType.FOREST.getPredicate()); - filterSnow.add(new SupertypePredicate(SuperType.SNOW)); + filterSnow.add(SuperType.SNOW.getPredicate()); } public GargantuanGorillaSacrificeEffect() { diff --git a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java index 70138c00c45..d25f037435c 100644 --- a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java +++ b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java @@ -13,7 +13,6 @@ import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -30,7 +29,7 @@ public final class GatecreeperVine extends CardImpl { Predicates.or( Predicates.and( CardType.LAND.getPredicate(), - new SupertypePredicate(SuperType.BASIC)), + SuperType.BASIC.getPredicate()), SubType.GATE.getPredicate())); } diff --git a/Mage.Sets/src/mage/cards/g/GauntletOfPower.java b/Mage.Sets/src/mage/cards/g/GauntletOfPower.java index 292d224f30b..ffc69cd9ceb 100644 --- a/Mage.Sets/src/mage/cards/g/GauntletOfPower.java +++ b/Mage.Sets/src/mage/cards/g/GauntletOfPower.java @@ -17,7 +17,6 @@ import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -35,7 +34,7 @@ public final class GauntletOfPower extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public GauntletOfPower(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlacialCrevasses.java b/Mage.Sets/src/mage/cards/g/GlacialCrevasses.java index 7750a3786c3..fb2bd925fe0 100644 --- a/Mage.Sets/src/mage/cards/g/GlacialCrevasses.java +++ b/Mage.Sets/src/mage/cards/g/GlacialCrevasses.java @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -24,7 +23,7 @@ public final class GlacialCrevasses extends CardImpl { static { filter.add(SubType.MOUNTAIN.getPredicate()); - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public GlacialCrevasses(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GlacialRevelation.java b/Mage.Sets/src/mage/cards/g/GlacialRevelation.java index 88213463011..0c14bd38de4 100644 --- a/Mage.Sets/src/mage/cards/g/GlacialRevelation.java +++ b/Mage.Sets/src/mage/cards/g/GlacialRevelation.java @@ -12,7 +12,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterPermanentCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -46,7 +45,7 @@ class GlacialRevelationEffect extends OneShotEffect { private static final FilterCard filter = new FilterPermanentCard("snow permanent cards"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } GlacialRevelationEffect() { diff --git a/Mage.Sets/src/mage/cards/g/GoryosVengeance.java b/Mage.Sets/src/mage/cards/g/GoryosVengeance.java index 45b8fb87534..3a8621868a3 100644 --- a/Mage.Sets/src/mage/cards/g/GoryosVengeance.java +++ b/Mage.Sets/src/mage/cards/g/GoryosVengeance.java @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -33,7 +32,7 @@ public final class GoryosVengeance extends CardImpl { private static final FilterCard filter = new FilterCreatureCard("legendary creature card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public GoryosVengeance(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/g/GrixisPanorama.java b/Mage.Sets/src/mage/cards/g/GrixisPanorama.java index c7b50df8d9c..accf6f4dd53 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisPanorama.java +++ b/Mage.Sets/src/mage/cards/g/GrixisPanorama.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -27,7 +26,7 @@ public final class GrixisPanorama extends CardImpl { static { filter.add(CardType.LAND.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.ISLAND.getPredicate(), SubType.SWAMP.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/h/HallowedGround.java b/Mage.Sets/src/mage/cards/h/HallowedGround.java index 78b0b66327a..8a855f2a63f 100644 --- a/Mage.Sets/src/mage/cards/h/HallowedGround.java +++ b/Mage.Sets/src/mage/cards/h/HallowedGround.java @@ -14,7 +14,6 @@ import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -26,7 +25,7 @@ public final class HallowedGround extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("nonsnow land you control"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.SNOW))); + filter.add(Predicates.not(SuperType.SNOW.getPredicate())); } public HallowedGround(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java b/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java index b204684e987..53d8b852b61 100644 --- a/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java +++ b/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java @@ -17,7 +17,6 @@ import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -29,7 +28,7 @@ public final class HeidarRimewindMaster extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control four or more snow permanents"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public HeidarRimewindMaster(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HeroesPodium.java b/Mage.Sets/src/mage/cards/h/HeroesPodium.java index 0c77aab946c..d62456ce552 100644 --- a/Mage.Sets/src/mage/cards/h/HeroesPodium.java +++ b/Mage.Sets/src/mage/cards/h/HeroesPodium.java @@ -17,7 +17,6 @@ import mage.constants.*; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -31,7 +30,7 @@ public final class HeroesPodium extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each legendary creature you control"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public HeroesPodium(UUID ownerId, CardSetInfo setInfo) { @@ -65,7 +64,7 @@ class HeroesPodiumLegendaryCount implements DynamicValue { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("other legendary creature you control"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } @Override @@ -98,7 +97,7 @@ class HeroesPodiumEffect extends OneShotEffect { private static final FilterCreatureCard filter = new FilterCreatureCard("a legendary creature card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public HeroesPodiumEffect() { diff --git a/Mage.Sets/src/mage/cards/h/HerosBlade.java b/Mage.Sets/src/mage/cards/h/HerosBlade.java index 97a26c05848..4f4ba1e35af 100644 --- a/Mage.Sets/src/mage/cards/h/HerosBlade.java +++ b/Mage.Sets/src/mage/cards/h/HerosBlade.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; /** @@ -25,7 +24,7 @@ public final class HerosBlade extends CardImpl { private static final FilterPermanent filter = new FilterCreaturePermanent("a legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/h/HerosDemise.java b/Mage.Sets/src/mage/cards/h/HerosDemise.java index 142f79adb22..98712ea3d04 100644 --- a/Mage.Sets/src/mage/cards/h/HerosDemise.java +++ b/Mage.Sets/src/mage/cards/h/HerosDemise.java @@ -8,7 +8,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -20,7 +19,7 @@ public final class HerosDemise extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public HerosDemise(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/h/HonorWornShaku.java b/Mage.Sets/src/mage/cards/h/HonorWornShaku.java index b47eb2533a5..f887aefa7cd 100644 --- a/Mage.Sets/src/mage/cards/h/HonorWornShaku.java +++ b/Mage.Sets/src/mage/cards/h/HonorWornShaku.java @@ -15,7 +15,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.common.TargetControlledPermanent; @@ -28,7 +27,7 @@ public final class HonorWornShaku extends CardImpl { static { filter.add(Predicates.not(TappedPredicate.instance)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public HonorWornShaku(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IceFangCoatl.java b/Mage.Sets/src/mage/cards/i/IceFangCoatl.java index 8e15dc9c35e..0e7f2a631b5 100644 --- a/Mage.Sets/src/mage/cards/i/IceFangCoatl.java +++ b/Mage.Sets/src/mage/cards/i/IceFangCoatl.java @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import java.util.UUID; @@ -29,7 +28,7 @@ public final class IceFangCoatl extends CardImpl { private static final FilterPermanent filter = new FilterControlledPermanent(); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/i/IcebergCancrix.java b/Mage.Sets/src/mage/cards/i/IcebergCancrix.java index e502299ade7..c0a59ad7b72 100644 --- a/Mage.Sets/src/mage/cards/i/IcebergCancrix.java +++ b/Mage.Sets/src/mage/cards/i/IcebergCancrix.java @@ -11,7 +11,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.TargetPlayer; @@ -26,7 +25,7 @@ public final class IcebergCancrix extends CardImpl { static { filter.add(AnotherPredicate.instance); - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public IcebergCancrix(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/Imperiosaur.java b/Mage.Sets/src/mage/cards/i/Imperiosaur.java index 8eee244075a..9ffe579113f 100644 --- a/Mage.Sets/src/mage/cards/i/Imperiosaur.java +++ b/Mage.Sets/src/mage/cards/i/Imperiosaur.java @@ -11,7 +11,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -22,7 +21,7 @@ public final class Imperiosaur extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public Imperiosaur(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IntoTheNorth.java b/Mage.Sets/src/mage/cards/i/IntoTheNorth.java index e56c8805ab0..2cdb237fdcd 100644 --- a/Mage.Sets/src/mage/cards/i/IntoTheNorth.java +++ b/Mage.Sets/src/mage/cards/i/IntoTheNorth.java @@ -9,7 +9,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterLandCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -21,7 +20,7 @@ public final class IntoTheNorth extends CardImpl { private static final FilterLandCard filter = new FilterLandCard("snow land card"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public IntoTheNorth(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java index 60aee167359..6af74e679a7 100644 --- a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java +++ b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java @@ -14,7 +14,6 @@ import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.Target; @@ -56,7 +55,7 @@ class IwamoriOfTheOpenFistEffect extends OneShotEffect { private static final FilterCard filter = new FilterCard("legendary creature card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(CardType.CREATURE.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java b/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java index 08335f6d3e9..e42147258a3 100644 --- a/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java +++ b/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java @@ -18,7 +18,6 @@ import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -30,7 +29,7 @@ public final class JaliraMasterPolymorphist extends CardImpl { private static final FilterCreatureCard filterCard = new FilterCreatureCard("nonlegendary creature card"); static { - filterCard.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filterCard.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public JaliraMasterPolymorphist(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/j/JediEnclave.java b/Mage.Sets/src/mage/cards/j/JediEnclave.java index 998f77e3833..646df1fad94 100644 --- a/Mage.Sets/src/mage/cards/j/JediEnclave.java +++ b/Mage.Sets/src/mage/cards/j/JediEnclave.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; @@ -63,7 +62,7 @@ public final class JediEnclave extends CardImpl { subtypePredicates.add(SubType.PLAINS.getPredicate()); subtypePredicates.add(SubType.ISLAND.getPredicate()); filter.add(Predicates.or(subtypePredicates)); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); TargetCardInLibrary target = new TargetCardInLibrary(filter); addEffect(new SearchLibraryPutInPlayEffect(target, true, true, Outcome.PutLandInPlay)); } diff --git a/Mage.Sets/src/mage/cards/j/JundPanorama.java b/Mage.Sets/src/mage/cards/j/JundPanorama.java index d5c941b3c03..8ec977e013c 100644 --- a/Mage.Sets/src/mage/cards/j/JundPanorama.java +++ b/Mage.Sets/src/mage/cards/j/JundPanorama.java @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -28,7 +27,7 @@ public final class JundPanorama extends CardImpl { static { filter.add(CardType.LAND.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.SWAMP.getPredicate(), SubType.MOUNTAIN.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/j/JungleVillage.java b/Mage.Sets/src/mage/cards/j/JungleVillage.java index 32c7265bfb0..6d47e99e271 100644 --- a/Mage.Sets/src/mage/cards/j/JungleVillage.java +++ b/Mage.Sets/src/mage/cards/j/JungleVillage.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; @@ -63,7 +62,7 @@ public final class JungleVillage extends CardImpl { subtypePredicates.add(SubType.MOUNTAIN.getPredicate()); subtypePredicates.add(SubType.FAERIE.getPredicate()); filter.add(Predicates.or(subtypePredicates)); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); TargetCardInLibrary target = new TargetCardInLibrary(filter); addEffect(new SearchLibraryPutInPlayEffect(target, true, true, Outcome.PutLandInPlay)); } diff --git a/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java b/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java index bf86fd296ec..f14f18ddf50 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java +++ b/Mage.Sets/src/mage/cards/k/KamahlsDruidicVow.java @@ -17,7 +17,6 @@ import mage.filter.FilterCard; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -77,7 +76,7 @@ class KamahlsDruidicVowEffect extends OneShotEffect { filter.add( Predicates.or( CardType.LAND.getPredicate(), - new SupertypePredicate(SuperType.LEGENDARY) + SuperType.LEGENDARY.getPredicate() )); TargetCard target1 = new TargetCard(0, Integer.MAX_VALUE, Zone.LIBRARY, filter); target1.setNotTarget(true); diff --git a/Mage.Sets/src/mage/cards/k/Karakas.java b/Mage.Sets/src/mage/cards/k/Karakas.java index 971738ff5b9..3b3907a861a 100644 --- a/Mage.Sets/src/mage/cards/k/Karakas.java +++ b/Mage.Sets/src/mage/cards/k/Karakas.java @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -24,7 +23,7 @@ public final class Karakas extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public Karakas(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KarplusanGiant.java b/Mage.Sets/src/mage/cards/k/KarplusanGiant.java index 9c1caee8165..9fdb2cbe286 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanGiant.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanGiant.java @@ -14,7 +14,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.common.TargetControlledPermanent; @@ -28,7 +27,7 @@ public final class KarplusanGiant extends CardImpl { static { filter.add(Predicates.not(TappedPredicate.instance)); - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public KarplusanGiant(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KashiTribeElite.java b/Mage.Sets/src/mage/cards/k/KashiTribeElite.java index 3aa21869c84..5fb4f702948 100644 --- a/Mage.Sets/src/mage/cards/k/KashiTribeElite.java +++ b/Mage.Sets/src/mage/cards/k/KashiTribeElite.java @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -25,7 +24,7 @@ public final class KashiTribeElite extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("Legendary Snakes"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(SubType.SNAKE.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/k/KethisTheHiddenHand.java b/Mage.Sets/src/mage/cards/k/KethisTheHiddenHand.java index bb1d5204f3e..ebb328aaa92 100644 --- a/Mage.Sets/src/mage/cards/k/KethisTheHiddenHand.java +++ b/Mage.Sets/src/mage/cards/k/KethisTheHiddenHand.java @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInYourGraveyard; @@ -30,8 +29,8 @@ public final class KethisTheHiddenHand extends CardImpl { private static final FilterCard filter2 = new FilterCard("legendary cards from your graveyard"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); - filter2.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); + filter2.add(SuperType.LEGENDARY.getPredicate()); } public KethisTheHiddenHand(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java b/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java index c5b03a0f078..2122879c3e0 100644 --- a/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java +++ b/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java @@ -20,7 +20,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -35,7 +34,7 @@ public final class KikiJikiMirrorBreaker extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("nonlegendary creature you control"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public KikiJikiMirrorBreaker(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KitsuneHealer.java b/Mage.Sets/src/mage/cards/k/KitsuneHealer.java index 9c2f75744da..d6969fe6314 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneHealer.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneHealer.java @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetAnyTarget; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +27,7 @@ public final class KitsuneHealer extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public KitsuneHealer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KondasBanner.java b/Mage.Sets/src/mage/cards/k/KondasBanner.java index 39ff2f9d87b..fbe583449aa 100644 --- a/Mage.Sets/src/mage/cards/k/KondasBanner.java +++ b/Mage.Sets/src/mage/cards/k/KondasBanner.java @@ -41,7 +41,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.Target; @@ -56,7 +55,7 @@ public final class KondasBanner extends CardImpl { private static final FilterControlledCreaturePermanent legendaryFilter = new FilterControlledCreaturePermanent("legendary creatures"); static { - legendaryFilter.add(new SupertypePredicate(SuperType.LEGENDARY)); + legendaryFilter.add(SuperType.LEGENDARY.getPredicate()); } public KondasBanner(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/k/KondasHatamoto.java b/Mage.Sets/src/mage/cards/k/KondasHatamoto.java index bd5ce7e34c3..8fe33f8e030 100644 --- a/Mage.Sets/src/mage/cards/k/KondasHatamoto.java +++ b/Mage.Sets/src/mage/cards/k/KondasHatamoto.java @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -27,7 +26,7 @@ public final class KondasHatamoto extends CardImpl { private static final String rule2 = "As long as you control a legendary Samurai, {this} has vigilance"; static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(SubType.SAMURAI.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java b/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java index e6b967b3928..5273d27de23 100644 --- a/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java +++ b/Mage.Sets/src/mage/cards/l/LayBareTheHeart.java @@ -10,7 +10,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPlayer; /** @@ -23,7 +22,7 @@ public final class LayBareTheHeart extends CardImpl { static { filter.add(Predicates.not(CardType.LAND.getPredicate())); - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public LayBareTheHeart(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java b/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java index aa7d7fd87e4..e16e7753b2e 100644 --- a/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java +++ b/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -21,7 +20,7 @@ public final class LegionsOfLimDul extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("snow swamp"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(SubType.SWAMP .getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/l/Lifespinner.java b/Mage.Sets/src/mage/cards/l/Lifespinner.java index 80b2eb9f58a..3e0ca65ece8 100644 --- a/Mage.Sets/src/mage/cards/l/Lifespinner.java +++ b/Mage.Sets/src/mage/cards/l/Lifespinner.java @@ -15,7 +15,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterPermanentCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetControlledPermanent; @@ -28,7 +27,7 @@ public final class Lifespinner extends CardImpl { private static final FilterPermanentCard filter = new FilterPermanentCard("legendary Spirit permanent card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(SubType.SPIRIT.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java b/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java index f4db5ab2b78..15cb24f09be 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java @@ -16,7 +16,6 @@ import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.command.emblems.LilianaDefiantNecromancerEmblem; import mage.target.common.TargetCardInYourGraveyard; @@ -31,7 +30,7 @@ public final class LilianaDefiantNecromancer extends CardImpl { protected static final FilterCreatureCard filter = new FilterCreatureCard("nonlegendary creature with converted mana cost X from your graveyard"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public LilianaDefiantNecromancer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/LivonyaSilone.java b/Mage.Sets/src/mage/cards/l/LivonyaSilone.java index 0e70c9dcfd4..f12e13d1b05 100644 --- a/Mage.Sets/src/mage/cards/l/LivonyaSilone.java +++ b/Mage.Sets/src/mage/cards/l/LivonyaSilone.java @@ -11,7 +11,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -22,7 +21,7 @@ public final class LivonyaSilone extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("Legendary land"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public LivonyaSilone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/l/Lobotomy.java b/Mage.Sets/src/mage/cards/l/Lobotomy.java index 771077fa4c2..fd202a31717 100644 --- a/Mage.Sets/src/mage/cards/l/Lobotomy.java +++ b/Mage.Sets/src/mage/cards/l/Lobotomy.java @@ -13,7 +13,6 @@ import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -49,7 +48,7 @@ class LobotomyEffect extends OneShotEffect { private static final FilterCard filter = new FilterCard("card other than a basic land card"); static { - filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC)))); + filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), SuperType.BASIC.getPredicate()))); } public LobotomyEffect() { diff --git a/Mage.Sets/src/mage/cards/l/LoyalRetainers.java b/Mage.Sets/src/mage/cards/l/LoyalRetainers.java index e7dca6b1d23..71d70866cc8 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalRetainers.java +++ b/Mage.Sets/src/mage/cards/l/LoyalRetainers.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInYourGraveyard; /** @@ -27,7 +26,7 @@ public final class LoyalRetainers extends CardImpl { private static final FilterCreatureCard filter = new FilterCreatureCard("legendary creature card from your graveyard"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public LoyalRetainers(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java index d4f08962f34..08e9130be37 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -24,7 +23,7 @@ public final class MagusOfTheMoon extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); } public MagusOfTheMoon(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java b/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java index 5bfaa5c0836..4588829ab93 100644 --- a/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java +++ b/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java @@ -17,7 +17,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.permanent.token.MaritLageToken; import java.util.UUID; @@ -31,7 +30,7 @@ public final class MaritLagesSlumber extends CardImpl { = new FilterControlledPermanent("{this} or another snow permanent"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } private static final Condition condition diff --git a/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java b/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java index 29f5ae26e88..20ccb488e45 100644 --- a/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java +++ b/Mage.Sets/src/mage/cards/m/MercadiasDownfall.java @@ -15,7 +15,6 @@ import mage.constants.SuperType; import mage.filter.common.FilterAttackingCreature; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.combat.CombatGroup; import mage.game.permanent.Permanent; @@ -60,7 +59,7 @@ public final class MercadiasDownfall extends CardImpl { } } FilterLandPermanent filter = new FilterLandPermanent("nonbasic land"); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); System.out.println("The number of nonbasic lands is " + game.getBattlefield().countAll(filter, defenderId, game)); return game.getBattlefield().countAll(filter, defenderId, game); } diff --git a/Mage.Sets/src/mage/cards/m/MinamoSchoolAtWatersEdge.java b/Mage.Sets/src/mage/cards/m/MinamoSchoolAtWatersEdge.java index bf2d64ebd94..e9726ac2796 100644 --- a/Mage.Sets/src/mage/cards/m/MinamoSchoolAtWatersEdge.java +++ b/Mage.Sets/src/mage/cards/m/MinamoSchoolAtWatersEdge.java @@ -16,7 +16,6 @@ import mage.constants.ColoredManaSymbol; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -28,7 +27,7 @@ public final class MinamoSchoolAtWatersEdge extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("legendary permanent"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/m/Mirrorweave.java b/Mage.Sets/src/mage/cards/m/Mirrorweave.java index 987deb7bc05..9be76084647 100644 --- a/Mage.Sets/src/mage/cards/m/Mirrorweave.java +++ b/Mage.Sets/src/mage/cards/m/Mirrorweave.java @@ -12,7 +12,6 @@ import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.PermanentIdPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -29,7 +28,7 @@ public final class Mirrorweave extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonlegendary creature"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public Mirrorweave(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MistveinBorderpost.java b/Mage.Sets/src/mage/cards/m/MistveinBorderpost.java index 7430364733b..c04b14a4bcd 100644 --- a/Mage.Sets/src/mage/cards/m/MistveinBorderpost.java +++ b/Mage.Sets/src/mage/cards/m/MistveinBorderpost.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class MistveinBorderpost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public MistveinBorderpost (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MobilizedDistrict.java b/Mage.Sets/src/mage/cards/m/MobilizedDistrict.java index 35a6304eeda..7ccf90a1b14 100644 --- a/Mage.Sets/src/mage/cards/m/MobilizedDistrict.java +++ b/Mage.Sets/src/mage/cards/m/MobilizedDistrict.java @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.game.permanent.token.TokenImpl; @@ -34,7 +33,7 @@ public final class MobilizedDistrict extends CardImpl { private static final FilterPermanent filter = new FilterCreatureOrPlaneswalkerPermanent(); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/m/MountainStronghold.java b/Mage.Sets/src/mage/cards/m/MountainStronghold.java index 64775cba115..c89143fd1be 100644 --- a/Mage.Sets/src/mage/cards/m/MountainStronghold.java +++ b/Mage.Sets/src/mage/cards/m/MountainStronghold.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class MountainStronghold extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.RED)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public MountainStronghold(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/m/MoxAmber.java b/Mage.Sets/src/mage/cards/m/MoxAmber.java index 0ffa117ec06..ae6d86bd9dc 100644 --- a/Mage.Sets/src/mage/cards/m/MoxAmber.java +++ b/Mage.Sets/src/mage/cards/m/MoxAmber.java @@ -10,7 +10,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -27,7 +26,7 @@ public final class MoxAmber extends CardImpl { filter.add(Predicates.or( Predicates.and( CardType.CREATURE.getPredicate(), - new SupertypePredicate(SuperType.LEGENDARY) + SuperType.LEGENDARY.getPredicate() ), CardType.PLANESWALKER.getPredicate()) ); diff --git a/Mage.Sets/src/mage/cards/m/MyriadLandscape.java b/Mage.Sets/src/mage/cards/m/MyriadLandscape.java index fa87e597e22..c41e0cd9c40 100644 --- a/Mage.Sets/src/mage/cards/m/MyriadLandscape.java +++ b/Mage.Sets/src/mage/cards/m/MyriadLandscape.java @@ -19,7 +19,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.target.common.TargetCardInLibrary; import mage.util.SubTypeList; @@ -73,7 +72,7 @@ class TargetCardInLibrarySharingLandType extends TargetCardInLibrary { .map(SubType::getPredicate) .collect(Collectors.toSet()) )); - filterBasicLandCard.add(new SupertypePredicate(SuperType.BASIC)); + filterBasicLandCard.add(SuperType.BASIC.getPredicate()); } public TargetCardInLibrarySharingLandType(int minNumTargets, int maxNumTargets) { diff --git a/Mage.Sets/src/mage/cards/n/NayaPanorama.java b/Mage.Sets/src/mage/cards/n/NayaPanorama.java index 2927cc3d448..0164aa9d68d 100644 --- a/Mage.Sets/src/mage/cards/n/NayaPanorama.java +++ b/Mage.Sets/src/mage/cards/n/NayaPanorama.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -28,7 +27,7 @@ public final class NayaPanorama extends CardImpl { static { filter.add(CardType.LAND.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(Predicates.or( SubType.MOUNTAIN.getPredicate(), SubType.FOREST.getPredicate(), diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasDragonGod.java b/Mage.Sets/src/mage/cards/n/NicolBolasDragonGod.java index 5c6e26462cd..bc7f978963b 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolasDragonGod.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolasDragonGod.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; import mage.filter.common.FilterPlaneswalkerPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -182,7 +181,7 @@ class NicolBolasDragonGodMinus8Effect extends OneShotEffect { private static final FilterPermanent filter = new FilterCreatureOrPlaneswalkerPermanent(); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } NicolBolasDragonGodMinus8Effect() { diff --git a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java index c3d64378a85..5912acb6067 100644 --- a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java +++ b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java @@ -19,7 +19,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -30,7 +29,7 @@ public final class NissaVastwoodSeer extends CardImpl { private static final FilterCard filter = new FilterCard("basic Forest card"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.FOREST.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java b/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java index 673fb5b1f5d..be14d751045 100644 --- a/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java +++ b/Mage.Sets/src/mage/cards/n/NissasPilgrimage.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInLibrary; @@ -51,7 +50,7 @@ class NissasPilgrimageEffect extends OneShotEffect { private static final FilterCard filter = new FilterCard("basic Forest card"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.FOREST.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/n/NissasTriumph.java b/Mage.Sets/src/mage/cards/n/NissasTriumph.java index 9685b175eb6..383ffeec2aa 100644 --- a/Mage.Sets/src/mage/cards/n/NissasTriumph.java +++ b/Mage.Sets/src/mage/cards/n/NissasTriumph.java @@ -13,7 +13,6 @@ import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPlaneswalkerPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -27,7 +26,7 @@ public final class NissasTriumph extends CardImpl { private static final FilterPermanent filter2 = new FilterControlledPlaneswalkerPermanent(SubType.NISSA); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.FOREST.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/o/OhranYeti.java b/Mage.Sets/src/mage/cards/o/OhranYeti.java index 51f23319903..809c0c25c38 100644 --- a/Mage.Sets/src/mage/cards/o/OhranYeti.java +++ b/Mage.Sets/src/mage/cards/o/OhranYeti.java @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -28,7 +27,7 @@ public final class OhranYeti extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("snow creature"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public OhranYeti(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OkinaTempleToTheGrandfathers.java b/Mage.Sets/src/mage/cards/o/OkinaTempleToTheGrandfathers.java index c0de338c298..8e94cb3d178 100644 --- a/Mage.Sets/src/mage/cards/o/OkinaTempleToTheGrandfathers.java +++ b/Mage.Sets/src/mage/cards/o/OkinaTempleToTheGrandfathers.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -24,7 +23,7 @@ public final class OkinaTempleToTheGrandfathers extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public OkinaTempleToTheGrandfathers(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OldFogey.java b/Mage.Sets/src/mage/cards/o/OldFogey.java index ba8f18c287a..f6b5de1fb3b 100644 --- a/Mage.Sets/src/mage/cards/o/OldFogey.java +++ b/Mage.Sets/src/mage/cards/o/OldFogey.java @@ -19,7 +19,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -32,7 +31,7 @@ public final class OldFogey extends CardImpl { static { filter.add(SubType.HOMARID.getPredicate()); - filter2.add(new SupertypePredicate(SuperType.SNOW)); + filter2.add(SuperType.SNOW.getPredicate()); filter2.add(SubType.PLAINS.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/o/OnThinIce.java b/Mage.Sets/src/mage/cards/o/OnThinIce.java index 93572c4d42f..6629afa3d34 100644 --- a/Mage.Sets/src/mage/cards/o/OnThinIce.java +++ b/Mage.Sets/src/mage/cards/o/OnThinIce.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; import mage.target.common.TargetOpponentsCreaturePermanent; @@ -29,7 +28,7 @@ public final class OnThinIce extends CardImpl { private static final FilterPermanent filter = new FilterControlledLandPermanent("snow land you control"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public OnThinIce(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/o/OpenTheGates.java b/Mage.Sets/src/mage/cards/o/OpenTheGates.java index 1ba59961b19..5ee1edd55e2 100644 --- a/Mage.Sets/src/mage/cards/o/OpenTheGates.java +++ b/Mage.Sets/src/mage/cards/o/OpenTheGates.java @@ -8,7 +8,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -23,7 +22,7 @@ public final class OpenTheGates extends CardImpl { static { filter.add(Predicates.or( Predicates.and( - new SupertypePredicate(SuperType.BASIC), + SuperType.BASIC.getPredicate(), CardType.LAND.getPredicate() ), SubType.GATE.getPredicate() )); diff --git a/Mage.Sets/src/mage/cards/o/Ovinomancer.java b/Mage.Sets/src/mage/cards/o/Ovinomancer.java index e4d839a2288..6e13e0f57c2 100644 --- a/Mage.Sets/src/mage/cards/o/Ovinomancer.java +++ b/Mage.Sets/src/mage/cards/o/Ovinomancer.java @@ -20,7 +20,6 @@ import mage.constants.SuperType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.SheepToken; @@ -36,7 +35,7 @@ public final class Ovinomancer extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("basic lands"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public Ovinomancer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java index d48e900f17c..b2d5dadf669 100644 --- a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java +++ b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java @@ -13,7 +13,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.StaticFilters; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.UUID; @@ -26,7 +25,7 @@ public final class PilgrimsEye extends CardImpl { private static final FilterCard filter = new FilterCard("basic land card"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(CardType.LAND.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/p/PrairieStream.java b/Mage.Sets/src/mage/cards/p/PrairieStream.java index 3c3973eb56f..fc953732aa6 100644 --- a/Mage.Sets/src/mage/cards/p/PrairieStream.java +++ b/Mage.Sets/src/mage/cards/p/PrairieStream.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -28,7 +27,7 @@ public final class PrairieStream extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public PrairieStream(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/p/PriceOfFame.java b/Mage.Sets/src/mage/cards/p/PriceOfFame.java index 0aefe57301c..4a8dd77d97e 100644 --- a/Mage.Sets/src/mage/cards/p/PriceOfFame.java +++ b/Mage.Sets/src/mage/cards/p/PriceOfFame.java @@ -13,7 +13,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -27,7 +26,7 @@ public final class PriceOfFame extends CardImpl { = new FilterCreaturePermanent("a legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } private static final Condition condition = new SourceTargetsPermanentCondition(filter); diff --git a/Mage.Sets/src/mage/cards/p/PrimevalsGloriousRebirth.java b/Mage.Sets/src/mage/cards/p/PrimevalsGloriousRebirth.java index 02a9a81a3d0..386dd7912b5 100644 --- a/Mage.Sets/src/mage/cards/p/PrimevalsGloriousRebirth.java +++ b/Mage.Sets/src/mage/cards/p/PrimevalsGloriousRebirth.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterPermanentCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; @@ -45,7 +44,7 @@ class PrimevalsGloriousRebirthEffect extends OneShotEffect { private static final FilterPermanentCard filter = new FilterPermanentCard(); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public PrimevalsGloriousRebirthEffect() { diff --git a/Mage.Sets/src/mage/cards/p/PulseOfLlanowar.java b/Mage.Sets/src/mage/cards/p/PulseOfLlanowar.java index e4ae658497b..e199220f555 100644 --- a/Mage.Sets/src/mage/cards/p/PulseOfLlanowar.java +++ b/Mage.Sets/src/mage/cards/p/PulseOfLlanowar.java @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -50,7 +49,7 @@ class PulseOfLlanowarReplacementEffect extends ReplacementEffectImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } PulseOfLlanowarReplacementEffect() { diff --git a/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java b/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java index 3edf764b6bc..5bc9be86469 100644 --- a/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java +++ b/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java @@ -11,7 +11,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterSpell; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -22,7 +21,7 @@ public final class RekiTheHistoryOfKamigawa extends CardImpl { private static final FilterSpell filter = new FilterSpell("legendary spell"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public RekiTheHistoryOfKamigawa(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RimeDryad.java b/Mage.Sets/src/mage/cards/r/RimeDryad.java index 0153744d26b..aa093282304 100644 --- a/Mage.Sets/src/mage/cards/r/RimeDryad.java +++ b/Mage.Sets/src/mage/cards/r/RimeDryad.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -21,7 +20,7 @@ public final class RimeDryad extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("snow forest"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(SubType.FOREST.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/r/RimeTender.java b/Mage.Sets/src/mage/cards/r/RimeTender.java index 0053ea28924..cf8c213c6ca 100644 --- a/Mage.Sets/src/mage/cards/r/RimeTender.java +++ b/Mage.Sets/src/mage/cards/r/RimeTender.java @@ -11,7 +11,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.TargetPermanent; @@ -25,7 +24,7 @@ public final class RimeTender extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("another target snow permanent"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/r/RimeTransfusion.java b/Mage.Sets/src/mage/cards/r/RimeTransfusion.java index 20e7ac6b361..822e8f0b821 100644 --- a/Mage.Sets/src/mage/cards/r/RimeTransfusion.java +++ b/Mage.Sets/src/mage/cards/r/RimeTransfusion.java @@ -18,7 +18,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -33,7 +32,7 @@ public final class RimeTransfusion extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("except by snow creatures until end of turn"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.SNOW))); + filter.add(Predicates.not(SuperType.SNOW.getPredicate())); } public RimeTransfusion(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java index 5170f599d4f..97f97d2c13c 100644 --- a/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java +++ b/Mage.Sets/src/mage/cards/r/RimefeatherOwl.java @@ -25,8 +25,6 @@ import mage.constants.SubLayer; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.CounterPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -43,7 +41,7 @@ public final class RimefeatherOwl extends CardImpl { static { filter.add(new CounterPredicate(CounterType.ICE)); - filter2.add(new SupertypePredicate(SuperType.SNOW)); + filter2.add(SuperType.SNOW.getPredicate()); } public RimefeatherOwl(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java b/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java index 006e9899ff1..62c02e6b4ba 100644 --- a/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java +++ b/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java @@ -17,7 +17,6 @@ import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetActivatedAbility; /** @@ -29,7 +28,7 @@ public final class RimewindCryomancer extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control four or more snow permanents"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public RimewindCryomancer(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java b/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java index 8fd2efc8527..622c446095b 100644 --- a/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java +++ b/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java @@ -17,7 +17,6 @@ import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -29,7 +28,7 @@ public final class RimewindTaskmage extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("you control four or more snow permanents"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public RimewindTaskmage(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RonomHulk.java b/Mage.Sets/src/mage/cards/r/RonomHulk.java index 052de94002d..12e417ea65f 100644 --- a/Mage.Sets/src/mage/cards/r/RonomHulk.java +++ b/Mage.Sets/src/mage/cards/r/RonomHulk.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -23,7 +22,7 @@ public final class RonomHulk extends CardImpl { private static final FilterCard filter = new FilterCard("snow"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public RonomHulk(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/r/RonomSerpent.java b/Mage.Sets/src/mage/cards/r/RonomSerpent.java index a23d10c9177..d3455ebc52e 100644 --- a/Mage.Sets/src/mage/cards/r/RonomSerpent.java +++ b/Mage.Sets/src/mage/cards/r/RonomSerpent.java @@ -15,7 +15,6 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -27,8 +26,8 @@ public final class RonomSerpent extends CardImpl { private static final FilterLandPermanent filter2 = new FilterLandPermanent("no snow lands"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); - filter2.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); + filter2.add(SuperType.SNOW.getPredicate()); } public RonomSerpent(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SeafarersQuay.java b/Mage.Sets/src/mage/cards/s/SeafarersQuay.java index ce62ca00404..cefff3230b9 100644 --- a/Mage.Sets/src/mage/cards/s/SeafarersQuay.java +++ b/Mage.Sets/src/mage/cards/s/SeafarersQuay.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class SeafarersQuay extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.BLUE)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public SeafarersQuay(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java index 04369090f70..fa5877227e1 100644 --- a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java +++ b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -29,7 +28,7 @@ public final class ShefetMonitor extends CardImpl { Predicates.or( Predicates.and( CardType.LAND.getPredicate(), - new SupertypePredicate(SuperType.BASIC)), + SuperType.BASIC.getPredicate()), SubType.DESERT.getPredicate())); } diff --git a/Mage.Sets/src/mage/cards/s/ShinkaTheBloodsoakedKeep.java b/Mage.Sets/src/mage/cards/s/ShinkaTheBloodsoakedKeep.java index 282946d6371..e8e3e2670f6 100644 --- a/Mage.Sets/src/mage/cards/s/ShinkaTheBloodsoakedKeep.java +++ b/Mage.Sets/src/mage/cards/s/ShinkaTheBloodsoakedKeep.java @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -25,7 +24,7 @@ public final class ShinkaTheBloodsoakedKeep extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public ShinkaTheBloodsoakedKeep(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/ShizoDeathsStorehouse.java b/Mage.Sets/src/mage/cards/s/ShizoDeathsStorehouse.java index 4aec780ed71..c45c07e9bf8 100644 --- a/Mage.Sets/src/mage/cards/s/ShizoDeathsStorehouse.java +++ b/Mage.Sets/src/mage/cards/s/ShizoDeathsStorehouse.java @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -25,7 +24,7 @@ public final class ShizoDeathsStorehouse extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public ShizoDeathsStorehouse(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java b/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java index e34eed618c4..08f7634c3ad 100644 --- a/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java +++ b/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java @@ -18,7 +18,6 @@ import mage.filter.FilterCard; import mage.filter.StaticFilters; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCardInLibrary; @@ -120,7 +119,7 @@ class SisayWeatherlightCaptainEffect extends OneShotEffect { } int power = permanent.getPower().getValue(); FilterCard filter = new FilterPermanentCard("legendary permanent card with converted mana cost less than " + power); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, power)); return new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)).apply(game, source); } diff --git a/Mage.Sets/src/mage/cards/s/SithRuins.java b/Mage.Sets/src/mage/cards/s/SithRuins.java index c6ddba0c8a2..34719967f44 100644 --- a/Mage.Sets/src/mage/cards/s/SithRuins.java +++ b/Mage.Sets/src/mage/cards/s/SithRuins.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; @@ -63,7 +62,7 @@ public final class SithRuins extends CardImpl { subtypePredicates.add(SubType.MOUNTAIN.getPredicate()); subtypePredicates.add(SubType.ISLAND.getPredicate()); filter.add(Predicates.or(subtypePredicates)); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); TargetCardInLibrary target = new TargetCardInLibrary(filter); addEffect(new SearchLibraryPutInPlayEffect(target, true, true, Outcome.PutLandInPlay)); } diff --git a/Mage.Sets/src/mage/cards/s/Skred.java b/Mage.Sets/src/mage/cards/s/Skred.java index 5a8c289a78a..fc59969bba6 100644 --- a/Mage.Sets/src/mage/cards/s/Skred.java +++ b/Mage.Sets/src/mage/cards/s/Skred.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; @@ -43,7 +42,7 @@ class SkredDamageEffect extends OneShotEffect { private static final FilterControlledPermanent filter = new FilterControlledPermanent("equal to the number of snow permanents you control."); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public SkredDamageEffect() { diff --git a/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java b/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java index 8a8e7165aa6..6ecf5643c21 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -28,7 +27,7 @@ public final class SmolderingMarsh extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public SmolderingMarsh(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SnowDevil.java b/Mage.Sets/src/mage/cards/s/SnowDevil.java index 69ae57ac5bb..de915a6c221 100644 --- a/Mage.Sets/src/mage/cards/s/SnowDevil.java +++ b/Mage.Sets/src/mage/cards/s/SnowDevil.java @@ -22,7 +22,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.combat.CombatGroup; import mage.game.permanent.Permanent; @@ -79,7 +78,7 @@ enum SnowDevilCondition implements Condition { @Override public boolean apply(Game game, Ability source) { FilterLandPermanent filter = new FilterLandPermanent(); - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); Permanent enchantment = game.getPermanent(source.getSourceId()); if (enchantment != null) { Player controller = game.getPlayer(enchantment.getControllerId()); diff --git a/Mage.Sets/src/mage/cards/s/Snowblind.java b/Mage.Sets/src/mage/cards/s/Snowblind.java index ee0d0551766..265c01eb5df 100644 --- a/Mage.Sets/src/mage/cards/s/Snowblind.java +++ b/Mage.Sets/src/mage/cards/s/Snowblind.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; @@ -64,7 +63,7 @@ enum SnowblindValue implements DynamicValue { private static final FilterPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } @Override diff --git a/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java b/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java index c6ece6f912b..ebacddb7792 100644 --- a/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java +++ b/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java @@ -16,7 +16,6 @@ import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.other.ExpansionSetPredicate; /** @@ -29,7 +28,7 @@ public final class SpatulaOfTheAges extends CardImpl { static { filter.add(Predicates.and( - Predicates.not(new SupertypePredicate(SuperType.BASIC)), // all Un-set basic lands are black bordered cards, and thus illegal choices + Predicates.not(SuperType.BASIC.getPredicate()), // all Un-set basic lands are black bordered cards, and thus illegal choices Predicates.not(new NamePredicate("Steamflogger Boss")), // printed in Unstable with a black border Predicates.or(new ExpansionSetPredicate("UGL"), new ExpansionSetPredicate("UNH"), new ExpansionSetPredicate("UST")) )); diff --git a/Mage.Sets/src/mage/cards/s/StarCompass.java b/Mage.Sets/src/mage/cards/s/StarCompass.java index 6fafe1124bd..2cc18be943c 100644 --- a/Mage.Sets/src/mage/cards/s/StarCompass.java +++ b/Mage.Sets/src/mage/cards/s/StarCompass.java @@ -18,7 +18,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -56,7 +55,7 @@ class StarCompassManaEffect extends ManaEffect { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public StarCompassManaEffect() { diff --git a/Mage.Sets/src/mage/cards/s/StormElemental.java b/Mage.Sets/src/mage/cards/s/StormElemental.java index 77d417757f9..f91d964afef 100644 --- a/Mage.Sets/src/mage/cards/s/StormElemental.java +++ b/Mage.Sets/src/mage/cards/s/StormElemental.java @@ -24,7 +24,6 @@ import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterLandCard; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; @@ -72,7 +71,7 @@ class StormElementalEffect extends OneShotEffect { private static final FilterLandCard filter = new FilterLandCard("snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public StormElementalEffect() { diff --git a/Mage.Sets/src/mage/cards/s/SunkenHollow.java b/Mage.Sets/src/mage/cards/s/SunkenHollow.java index eb05eb6580c..37046eb37a6 100644 --- a/Mage.Sets/src/mage/cards/s/SunkenHollow.java +++ b/Mage.Sets/src/mage/cards/s/SunkenHollow.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -28,7 +27,7 @@ public final class SunkenHollow extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent(); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public SunkenHollow(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/Sunstone.java b/Mage.Sets/src/mage/cards/s/Sunstone.java index c14eef2ea63..badcf632419 100644 --- a/Mage.Sets/src/mage/cards/s/Sunstone.java +++ b/Mage.Sets/src/mage/cards/s/Sunstone.java @@ -15,7 +15,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -27,7 +26,7 @@ public final class Sunstone extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("a snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public Sunstone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java b/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java index 3a54177b915..6a27dfb941e 100644 --- a/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java +++ b/Mage.Sets/src/mage/cards/s/SurgicalExtraction.java @@ -13,7 +13,6 @@ import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInGraveyard; @@ -31,7 +30,7 @@ public final class SurgicalExtraction extends CardImpl { private static final FilterCard filter = new FilterCard("card in a graveyard other than a basic land card"); static { - filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC)))); + filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), SuperType.BASIC.getPredicate()))); } public SurgicalExtraction(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheChosen.java b/Mage.Sets/src/mage/cards/s/SwordOfTheChosen.java index cf3dd58ecb4..361da6c7d4b 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheChosen.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheChosen.java @@ -13,7 +13,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -25,7 +24,7 @@ public final class SwordOfTheChosen extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public SwordOfTheChosen(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TempestDjinn.java b/Mage.Sets/src/mage/cards/t/TempestDjinn.java index ea310bbde75..2f588af0b66 100644 --- a/Mage.Sets/src/mage/cards/t/TempestDjinn.java +++ b/Mage.Sets/src/mage/cards/t/TempestDjinn.java @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -27,7 +26,7 @@ public final class TempestDjinn extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledPermanent("basic Island you control"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(SubType.ISLAND.getPredicate()); } diff --git a/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java b/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java index f991673bd0c..b4103b7435a 100644 --- a/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java +++ b/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java @@ -44,7 +44,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -60,7 +59,7 @@ public final class TenzaGodosMaul extends CardImpl { private static final FilterCreaturePermanent redFilter = new FilterCreaturePermanent("red"); static { - legendaryFilter.add(new SupertypePredicate(SuperType.LEGENDARY)); + legendaryFilter.add(SuperType.LEGENDARY.getPredicate()); redFilter.add(new ColorPredicate(ObjectColor.RED)); } diff --git a/Mage.Sets/src/mage/cards/t/ThaliasLancers.java b/Mage.Sets/src/mage/cards/t/ThaliasLancers.java index 23d1e80095d..4a90ad2cfd8 100644 --- a/Mage.Sets/src/mage/cards/t/ThaliasLancers.java +++ b/Mage.Sets/src/mage/cards/t/ThaliasLancers.java @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -25,7 +24,7 @@ public final class ThaliasLancers extends CardImpl { private static final FilterCard filter = new FilterCard("legendary card"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public ThaliasLancers(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheBirthOfMeletis.java b/Mage.Sets/src/mage/cards/t/TheBirthOfMeletis.java index fdf590a3e6a..96cd896a4cb 100644 --- a/Mage.Sets/src/mage/cards/t/TheBirthOfMeletis.java +++ b/Mage.Sets/src/mage/cards/t/TheBirthOfMeletis.java @@ -11,7 +11,6 @@ import mage.constants.SagaChapter; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.permanent.token.ArtifactWallToken; import mage.target.common.TargetCardInLibrary; @@ -26,7 +25,7 @@ public final class TheBirthOfMeletis extends CardImpl { static { filter.add(SubType.PLAINS.getPredicate()); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public TheBirthOfMeletis(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TheCircleOfLoyalty.java b/Mage.Sets/src/mage/cards/t/TheCircleOfLoyalty.java index 3c07a315f14..ef80797958c 100644 --- a/Mage.Sets/src/mage/cards/t/TheCircleOfLoyalty.java +++ b/Mage.Sets/src/mage/cards/t/TheCircleOfLoyalty.java @@ -16,7 +16,6 @@ import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.FilterSpell; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.token.KnightToken; import mage.util.CardUtil; @@ -31,7 +30,7 @@ public final class TheCircleOfLoyalty extends CardImpl { private static final FilterSpell filter = new FilterSpell("a legendary spell"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public TheCircleOfLoyalty(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/ThermalFlux.java b/Mage.Sets/src/mage/cards/t/ThermalFlux.java index f9c1c8e3e55..a6d7be68cb3 100644 --- a/Mage.Sets/src/mage/cards/t/ThermalFlux.java +++ b/Mage.Sets/src/mage/cards/t/ThermalFlux.java @@ -18,7 +18,6 @@ import mage.constants.Outcome; import mage.constants.SubLayer; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; @@ -33,8 +32,8 @@ public final class ThermalFlux extends CardImpl { private static final FilterPermanent filterSnow = new FilterPermanent("snow permanent"); static { - filterNonsnow.add(Predicates.not(new SupertypePredicate(SuperType.SNOW))); - filterSnow.add(new SupertypePredicate(SuperType.SNOW)); + filterNonsnow.add(Predicates.not(SuperType.SNOW.getPredicate())); + filterSnow.add(SuperType.SNOW.getPredicate()); } public ThermalFlux(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java index 7b07d3e74af..b49c986e974 100644 --- a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java +++ b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java @@ -16,7 +16,6 @@ import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.AttackingPredicate; import mage.game.Game; @@ -33,7 +32,7 @@ public final class TilonallisSkinshifter extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); filter.add(AttackingPredicate.instance); filter.add(AnotherPredicate.instance); } diff --git a/Mage.Sets/src/mage/cards/t/TimeOfNeed.java b/Mage.Sets/src/mage/cards/t/TimeOfNeed.java index 398afbb7da9..f962a72f67c 100644 --- a/Mage.Sets/src/mage/cards/t/TimeOfNeed.java +++ b/Mage.Sets/src/mage/cards/t/TimeOfNeed.java @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; /** @@ -21,7 +20,7 @@ public final class TimeOfNeed extends CardImpl { static { filter.add(CardType.CREATURE.getPredicate()); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public TimeOfNeed(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TradeCaravan.java b/Mage.Sets/src/mage/cards/t/TradeCaravan.java index 3924f272800..5ed036d33bc 100644 --- a/Mage.Sets/src/mage/cards/t/TradeCaravan.java +++ b/Mage.Sets/src/mage/cards/t/TradeCaravan.java @@ -22,7 +22,6 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetPermanent; /** @@ -34,7 +33,7 @@ public final class TradeCaravan extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public TradeCaravan(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/t/TsaboTavoc.java b/Mage.Sets/src/mage/cards/t/TsaboTavoc.java index 89fa9ec4429..4478f5092f4 100644 --- a/Mage.Sets/src/mage/cards/t/TsaboTavoc.java +++ b/Mage.Sets/src/mage/cards/t/TsaboTavoc.java @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -30,8 +29,8 @@ public final class TsaboTavoc extends CardImpl { private static final FilterCreaturePermanent filterDestroy = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); - filterDestroy.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); + filterDestroy.add(SuperType.LEGENDARY.getPredicate()); } public TsaboTavoc(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java index 4ca1e7da20a..323396fab1f 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldSlums.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldSlums.java @@ -13,7 +13,6 @@ import mage.constants.*; import mage.filter.FilterCard; import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCardInLibrary; import java.util.ArrayList; @@ -63,7 +62,7 @@ public final class UnderworldSlums extends CardImpl { subtypePredicates.add(SubType.MOUNTAIN.getPredicate()); subtypePredicates.add(SubType.FOREST.getPredicate()); filter.add(Predicates.or(subtypePredicates)); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); TargetCardInLibrary target = new TargetCardInLibrary(filter); addEffect(new SearchLibraryPutInPlayEffect(target, true, true, Outcome.PutLandInPlay)); } diff --git a/Mage.Sets/src/mage/cards/u/UnholyCitadel.java b/Mage.Sets/src/mage/cards/u/UnholyCitadel.java index 7153b14a32e..7b645a52a61 100644 --- a/Mage.Sets/src/mage/cards/u/UnholyCitadel.java +++ b/Mage.Sets/src/mage/cards/u/UnholyCitadel.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -26,7 +25,7 @@ public final class UnholyCitadel extends CardImpl { static { filter.add(new ColorPredicate(ObjectColor.BLACK)); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public UnholyCitadel(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java b/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java index c1a3feb6b79..77fc9663754 100644 --- a/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java +++ b/Mage.Sets/src/mage/cards/u/UrzasRuinousBlast.java @@ -10,7 +10,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @author JRHerlehy @@ -22,7 +21,7 @@ public final class UrzasRuinousBlast extends CardImpl { static { filter.add(Predicates.not(CardType.LAND.getPredicate())); - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); } public UrzasRuinousBlast(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VassalsDuty.java b/Mage.Sets/src/mage/cards/v/VassalsDuty.java index 38c36688a24..050acdce880 100644 --- a/Mage.Sets/src/mage/cards/v/VassalsDuty.java +++ b/Mage.Sets/src/mage/cards/v/VassalsDuty.java @@ -13,7 +13,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; import mage.target.TargetPlayer; @@ -28,7 +27,7 @@ public final class VassalsDuty extends CardImpl { private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("legendary creature you control"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public VassalsDuty(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VeinfireBorderpost.java b/Mage.Sets/src/mage/cards/v/VeinfireBorderpost.java index 0ada1c987cf..1500ca5eb29 100644 --- a/Mage.Sets/src/mage/cards/v/VeinfireBorderpost.java +++ b/Mage.Sets/src/mage/cards/v/VeinfireBorderpost.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class VeinfireBorderpost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public VeinfireBorderpost (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VisceridDrone.java b/Mage.Sets/src/mage/cards/v/VisceridDrone.java index 731f5f4d48d..1904bcd0928 100644 --- a/Mage.Sets/src/mage/cards/v/VisceridDrone.java +++ b/Mage.Sets/src/mage/cards/v/VisceridDrone.java @@ -18,7 +18,6 @@ import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; @@ -37,7 +36,7 @@ public final class VisceridDrone extends CardImpl { filter1.add(Predicates.not(CardType.ARTIFACT.getPredicate())); filter2.add(SubType.SWAMP.getPredicate()); filter3.add(SubType.SWAMP.getPredicate()); - filter3.add(new SupertypePredicate(SuperType.SNOW)); + filter3.add(SuperType.SNOW.getPredicate()); } public VisceridDrone(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/v/VolcanicOffering.java b/Mage.Sets/src/mage/cards/v/VolcanicOffering.java index cbfaeeaeed4..96a171f91d2 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanicOffering.java +++ b/Mage.Sets/src/mage/cards/v/VolcanicOffering.java @@ -11,7 +11,6 @@ import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; @@ -54,7 +53,7 @@ enum VolcanicOfferingAdjuster implements TargetAdjuster { static { filterLand.add(new ControllerPredicate(TargetController.NOT_YOU)); - filterLand.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filterLand.add(Predicates.not(SuperType.BASIC.getPredicate())); filterCreature.add(new ControllerPredicate(TargetController.NOT_YOU)); } @@ -67,7 +66,7 @@ enum VolcanicOfferingAdjuster implements TargetAdjuster { ability.getTargets().clear(); ability.addTarget(new TargetPermanent(filterLand)); FilterLandPermanent filterLandForOpponent = new FilterLandPermanent("nonbasic land not controlled by " + controller.getLogName()); - filterLandForOpponent.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filterLandForOpponent.add(Predicates.not(SuperType.BASIC.getPredicate())); filterLandForOpponent.add(Predicates.not(new ControllerIdPredicate(controller.getId()))); ability.addTarget(new TargetOpponentsChoicePermanent(1, 1, filterLandForOpponent, false)); diff --git a/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java b/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java index 69a25eae30a..77496dc4f98 100644 --- a/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java +++ b/Mage.Sets/src/mage/cards/w/WaveOfVitriol.java @@ -15,7 +15,6 @@ import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -55,7 +54,7 @@ class WaveOfVitriolEffect extends OneShotEffect { CardType.ENCHANTMENT.getPredicate(), Predicates.and( CardType.LAND.getPredicate(), - Predicates.not(new SupertypePredicate(SuperType.BASIC)) + Predicates.not(SuperType.BASIC.getPredicate()) ) )); } diff --git a/Mage.Sets/src/mage/cards/w/Whiteout.java b/Mage.Sets/src/mage/cards/w/Whiteout.java index d58ef498c7e..ccfbb387b74 100644 --- a/Mage.Sets/src/mage/cards/w/Whiteout.java +++ b/Mage.Sets/src/mage/cards/w/Whiteout.java @@ -16,7 +16,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class Whiteout extends CardImpl { private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("a snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public Whiteout(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WildernessElemental.java b/Mage.Sets/src/mage/cards/w/WildernessElemental.java index 71bf15ff7b5..eb335ed3ab1 100644 --- a/Mage.Sets/src/mage/cards/w/WildernessElemental.java +++ b/Mage.Sets/src/mage/cards/w/WildernessElemental.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; /** @@ -24,7 +23,7 @@ public final class WildernessElemental extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("nonbasic lands your opponents control"); static { - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); filter.add(new ControllerPredicate(TargetController.OPPONENT)); } diff --git a/Mage.Sets/src/mage/cards/w/WildfieldBorderpost.java b/Mage.Sets/src/mage/cards/w/WildfieldBorderpost.java index 148ba1f510b..a23d635079a 100644 --- a/Mage.Sets/src/mage/cards/w/WildfieldBorderpost.java +++ b/Mage.Sets/src/mage/cards/w/WildfieldBorderpost.java @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetControlledPermanent; /** @@ -28,7 +27,7 @@ public final class WildfieldBorderpost extends CardImpl { private static final FilterControlledPermanent filter = new FilterControlledLandPermanent("a basic land"); static { - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); } public WildfieldBorderpost (UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WillowSatyr.java b/Mage.Sets/src/mage/cards/w/WillowSatyr.java index 0d5f0d0734b..55c3eadd1d1 100644 --- a/Mage.Sets/src/mage/cards/w/WillowSatyr.java +++ b/Mage.Sets/src/mage/cards/w/WillowSatyr.java @@ -20,7 +20,6 @@ import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.common.TargetCreaturePermanent; /** @@ -32,7 +31,7 @@ public final class WillowSatyr extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("legendary creature"); static { - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); } public WillowSatyr(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WintersNight.java b/Mage.Sets/src/mage/cards/w/WintersNight.java index e5a1da5b316..632b1b3a6ea 100644 --- a/Mage.Sets/src/mage/cards/w/WintersNight.java +++ b/Mage.Sets/src/mage/cards/w/WintersNight.java @@ -14,8 +14,6 @@ import mage.constants.CardType; import mage.constants.SetTargetPointer; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; -import mage.target.targetpointer.FixedTarget; /** * @@ -25,7 +23,7 @@ public final class WintersNight extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("a player taps a snow land"); { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public WintersNight(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/w/WintersRest.java b/Mage.Sets/src/mage/cards/w/WintersRest.java index adbe0ee68a7..e133795cdf8 100644 --- a/Mage.Sets/src/mage/cards/w/WintersRest.java +++ b/Mage.Sets/src/mage/cards/w/WintersRest.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; import mage.game.events.GameEvent; @@ -65,7 +64,7 @@ class WintersRestEffect extends DontUntapInControllersUntapStepEnchantedEffect { static { filter.add(AnotherPredicate.instance); - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } WintersRestEffect() { diff --git a/Mage.Sets/src/mage/cards/w/WitheringWisps.java b/Mage.Sets/src/mage/cards/w/WitheringWisps.java index 6f58d362182..d5577a3c7c4 100644 --- a/Mage.Sets/src/mage/cards/w/WitheringWisps.java +++ b/Mage.Sets/src/mage/cards/w/WitheringWisps.java @@ -20,7 +20,6 @@ import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; /** @@ -57,7 +56,7 @@ class WitheringWispsActivatedAbility extends ActivatedAbilityImpl { private static final FilterPermanent filter = new FilterPermanent("snow Swamps you control"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(SubType.SWAMP.getPredicate()); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java index 6ef1e88869f..3896b6f4322 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java @@ -20,7 +20,6 @@ import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInLibrary; @@ -71,7 +70,7 @@ class WoodlandBellowerEffect extends OneShotEffect { FilterCard filter = new FilterCard("nonlegendary green creature card with converted mana cost 3 or less"); filter.add(new ColorPredicate(ObjectColor.GREEN)); filter.add(CardType.CREATURE.getPredicate()); - filter.add(Predicates.not(new SupertypePredicate(SuperType.LEGENDARY))); + filter.add(Predicates.not(SuperType.LEGENDARY.getPredicate())); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 4)); TargetCardInLibrary target = new TargetCardInLibrary(filter); if (controller.searchLibrary(target, source, game)) { diff --git a/Mage.Sets/src/mage/cards/w/WoollyMammoths.java b/Mage.Sets/src/mage/cards/w/WoollyMammoths.java index 800bdd58a6b..7669311441c 100644 --- a/Mage.Sets/src/mage/cards/w/WoollyMammoths.java +++ b/Mage.Sets/src/mage/cards/w/WoollyMammoths.java @@ -17,7 +17,6 @@ import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; /** @@ -29,7 +28,7 @@ public final class WoollyMammoths extends CardImpl { private static final FilterPermanent filter = new FilterPermanent("snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); filter.add(CardType.LAND.getPredicate()); filter.add(new ControllerPredicate(TargetController.YOU)); } diff --git a/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java b/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java index 11f2b63a4a3..5018b294227 100644 --- a/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java +++ b/Mage.Sets/src/mage/cards/w/WorldBottlingKit.java @@ -14,7 +14,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -77,7 +76,7 @@ class WorldBottlingKitEffect extends OneShotEffect { if (setChosen != null) { game.informPlayers(controller.getLogName() + " has chosen set " + setChosen); FilterPermanent filter = new FilterPermanent(); - filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), new SupertypePredicate(SuperType.BASIC)))); + filter.add(Predicates.not(Predicates.and(CardType.LAND.getPredicate(), SuperType.BASIC.getPredicate()))); List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game); for (Permanent permanent : permanents) { if (permanent.getExpansionSetCode().equals(setChosen)) { diff --git a/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java b/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java index 7834b9820c6..a9fc3fc7d82 100644 --- a/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java +++ b/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; /** @@ -32,7 +31,7 @@ public final class YomijiWhoBarsTheWay extends CardImpl { // Whenever a legendary permanent other than Yomiji, Who Bars the Way is put into a graveyard from the battlefield, return that card to its owner's hand. FilterPermanent filter = new FilterPermanent("a legendary permanent other than " + getName()); filter.add(AnotherPredicate.instance); - filter.add(new SupertypePredicate(SuperType.LEGENDARY)); + filter.add(SuperType.LEGENDARY.getPredicate()); Effect effect = new ReturnToHandTargetEffect(); effect.setText("return that card to its owner's hand"); this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(effect, false, filter, true)); diff --git a/Mage.Sets/src/mage/cards/z/ZombieMusher.java b/Mage.Sets/src/mage/cards/z/ZombieMusher.java index 69054478bfe..44310725a43 100644 --- a/Mage.Sets/src/mage/cards/z/ZombieMusher.java +++ b/Mage.Sets/src/mage/cards/z/ZombieMusher.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -25,7 +24,7 @@ public final class ZombieMusher extends CardImpl { private static final FilterLandPermanent filter = new FilterLandPermanent("snow land"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public ZombieMusher(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java b/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java index b2538d513bd..0cc00740fde 100644 --- a/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java +++ b/Mage/src/main/java/mage/abilities/common/LegendarySpellAbility.java @@ -9,7 +9,6 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.game.events.GameEvent; @@ -40,7 +39,7 @@ class LegendarySpellAbilityCheckEffect extends ContinuousRuleModifyingEffectImpl static { filter.add( Predicates.and( - new SupertypePredicate(SuperType.LEGENDARY), + SuperType.LEGENDARY.getPredicate(), Predicates.or( CardType.CREATURE.getPredicate(), CardType.PLANESWALKER.getPredicate() diff --git a/Mage/src/main/java/mage/abilities/costs/mana/SnowManaCost.java b/Mage/src/main/java/mage/abilities/costs/mana/SnowManaCost.java index c23881f063d..3dca3c698aa 100644 --- a/Mage/src/main/java/mage/abilities/costs/mana/SnowManaCost.java +++ b/Mage/src/main/java/mage/abilities/costs/mana/SnowManaCost.java @@ -6,7 +6,6 @@ import mage.abilities.costs.Cost; import mage.constants.ColoredManaSymbol; import mage.constants.SuperType; import mage.filter.FilterObject; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.game.Game; import mage.players.ManaPool; @@ -15,7 +14,7 @@ public class SnowManaCost extends ManaCostImpl { private static final FilterObject filter = new FilterObject("Snow object"); static { - filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(SuperType.SNOW.getPredicate()); } public SnowManaCost() { diff --git a/Mage/src/main/java/mage/constants/SuperType.java b/Mage/src/main/java/mage/constants/SuperType.java index f315f8fe227..9bc3debb9d0 100644 --- a/Mage/src/main/java/mage/constants/SuperType.java +++ b/Mage/src/main/java/mage/constants/SuperType.java @@ -1,5 +1,9 @@ package mage.constants; +import mage.MageObject; +import mage.filter.predicate.Predicate; +import mage.game.Game; + /** * Created by IGOUDT on 26-3-2017. */ @@ -12,10 +16,31 @@ public enum SuperType { SNOW("Snow"), WORLD("World"); - String text; + public static class SuperTypePredicate implements Predicate { + + private final SuperType supertype; + + private SuperTypePredicate(SuperType supertype) { + this.supertype = supertype; + } + + @Override + public boolean apply(MageObject input, Game game) { + return input.getSuperType().contains(supertype); + } + + @Override + public String toString() { + return "Supertype(" + supertype + ')'; + } + } + + private final String text; + private final SuperTypePredicate predicate; SuperType(String text) { this.text = text; + this.predicate = new SuperTypePredicate(this); } @Override @@ -23,4 +48,7 @@ public enum SuperType { return text; } + public SuperTypePredicate getPredicate() { + return predicate; + } } diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index b1c049cb782..b34a1a9f6c9 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -12,7 +12,6 @@ import mage.constants.TargetController; import mage.filter.common.*; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.MulticoloredPredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.other.PlayerPredicate; import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.AttackingPredicate; @@ -617,7 +616,7 @@ public final class StaticFilters { public static final FilterPermanent FILTER_PERMANENT_LEGENDARY = new FilterPermanent(); static { - FILTER_PERMANENT_LEGENDARY.add(new SupertypePredicate(SuperType.LEGENDARY)); + FILTER_PERMANENT_LEGENDARY.add(SuperType.LEGENDARY.getPredicate()); FILTER_PERMANENT_LEGENDARY.setLockedFilter(true); } diff --git a/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java b/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java index 9ecf609bd45..815419817c2 100644 --- a/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java +++ b/Mage/src/main/java/mage/filter/common/FilterBasicLandCard.java @@ -4,7 +4,6 @@ package mage.filter.common; import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -19,7 +18,7 @@ public class FilterBasicLandCard extends FilterCard { public FilterBasicLandCard(String name) { super(name); this.add(CardType.LAND.getPredicate()); - this.add(new SupertypePredicate(SuperType.BASIC)); + this.add(SuperType.BASIC.getPredicate()); } public FilterBasicLandCard(final FilterBasicLandCard filter) { diff --git a/Mage/src/main/java/mage/filter/common/FilterLandCard.java b/Mage/src/main/java/mage/filter/common/FilterLandCard.java index 7d8ccddbd42..07e29bd74e8 100644 --- a/Mage/src/main/java/mage/filter/common/FilterLandCard.java +++ b/Mage/src/main/java/mage/filter/common/FilterLandCard.java @@ -5,7 +5,6 @@ package mage.filter.common; import mage.constants.CardType; import mage.constants.SuperType; import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -24,7 +23,7 @@ public class FilterLandCard extends FilterCard { public static FilterLandCard basicLandCard() { FilterLandCard filter = new FilterLandCard("basic land card"); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); return filter; } diff --git a/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java b/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java index 62bb9ec4e60..e77f4a742a5 100644 --- a/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java +++ b/Mage/src/main/java/mage/filter/common/FilterLandPermanent.java @@ -7,7 +7,6 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @author BetaSteward_at_googlemail.com @@ -31,13 +30,13 @@ public class FilterLandPermanent extends FilterPermanent { public static FilterLandPermanent nonbasicLand() { FilterLandPermanent filter = new FilterLandPermanent("nonbasic land"); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); return filter; } public static FilterLandPermanent nonbasicLands() { FilterLandPermanent filter = new FilterLandPermanent("nonbasic lands"); - filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + filter.add(Predicates.not(SuperType.BASIC.getPredicate())); return filter; } diff --git a/Mage/src/main/java/mage/filter/predicate/mageobject/SupertypePredicate.java b/Mage/src/main/java/mage/filter/predicate/mageobject/SupertypePredicate.java deleted file mode 100644 index 7e215bde50c..00000000000 --- a/Mage/src/main/java/mage/filter/predicate/mageobject/SupertypePredicate.java +++ /dev/null @@ -1,30 +0,0 @@ - -package mage.filter.predicate.mageobject; - -import mage.MageObject; -import mage.constants.SuperType; -import mage.filter.predicate.Predicate; -import mage.game.Game; - -/** - * - * @author North - */ -public class SupertypePredicate implements Predicate { - - private final SuperType supertype; - - public SupertypePredicate(SuperType supertype) { - this.supertype = supertype; - } - - @Override - public boolean apply(MageObject input, Game game) { - return input.getSuperType().contains(supertype); - } - - @Override - public String toString() { - return "Supertype(" + supertype + ')'; - } -} diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 23409f41158..3980d56b383 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -35,7 +35,6 @@ import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.combat.Combat; import mage.game.command.CommandObject; @@ -2133,7 +2132,7 @@ public abstract class GameImpl implements Game, Serializable { if (legendary.size() > 1) { //don't bother checking if less than 2 legends in play for (Permanent legend : legendary) { FilterPermanent filterLegendName = new FilterPermanent(); - filterLegendName.add(new SupertypePredicate(SuperType.LEGENDARY)); + filterLegendName.add(SuperType.LEGENDARY.getPredicate()); filterLegendName.add(new NamePredicate(legend.getName())); filterLegendName.add(new ControllerIdPredicate(legend.getControllerId())); if (getBattlefield().contains(filterLegendName, legend.getControllerId(), this, 2)) { diff --git a/Mage/src/main/java/mage/game/combat/Combat.java b/Mage/src/main/java/mage/game/combat/Combat.java index b136dea269a..5037522d6a7 100644 --- a/Mage/src/main/java/mage/game/combat/Combat.java +++ b/Mage/src/main/java/mage/game/combat/Combat.java @@ -18,7 +18,6 @@ import mage.filter.predicate.Predicate; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.filter.predicate.mageobject.NamePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.permanent.AttackingSameNotBandedPredicate; import mage.filter.predicate.permanent.PermanentIdPredicate; import mage.game.Game; @@ -297,128 +296,132 @@ public class Combat implements Serializable, Copyable { private void handleBanding(UUID creatureId, Game game) { Player player = game.getPlayer(attackingPlayerId); Permanent attacker = game.getPermanent(creatureId); - if (attacker != null - && player != null) { - CombatGroup combatGroup = findGroup(attacker.getId()); - if (combatGroup != null - && attacker.getBandedCards().isEmpty() - && getAttackers().size() > 1) { - boolean canBand = attacker.getAbilities().containsKey(BandingAbility.getInstance().getId()); - List bandsWithOther = new ArrayList<>(); - for (Ability ability : attacker.getAbilities()) { - if (ability.getClass().equals(BandsWithOtherAbility.class)) { - bandsWithOther.add(ability); - } + if (attacker == null + || player == null) { + return; + } + CombatGroup combatGroup = findGroup(attacker.getId()); + if (combatGroup == null + || !attacker.getBandedCards().isEmpty() + || getAttackers().size() <= 1) { + return; + } + boolean canBand = attacker.getAbilities().containsKey(BandingAbility.getInstance().getId()); + List bandsWithOther = new ArrayList<>(); + for (Ability ability : attacker.getAbilities()) { + if (ability.getClass().equals(BandsWithOtherAbility.class)) { + bandsWithOther.add(ability); + } + } + boolean canBandWithOther = !bandsWithOther.isEmpty(); + if (!canBand && !canBandWithOther) { + return; + } + boolean isBanded = false; + FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking creature to band with " + attacker.getLogName()); + filter.add(Predicates.not(new PermanentIdPredicate(creatureId))); + filter.add(new AttackingSameNotBandedPredicate(combatGroup.getDefenderId())); // creature that isn't already banded, and is attacking the same player or planeswalker + List> predicates = new ArrayList<>(); + if (!canBand + && canBandWithOther) { + for (Ability ab : bandsWithOther) { + BandsWithOtherAbility ability = (BandsWithOtherAbility) ab; + if (ability.getSubtype() != null) { + predicates.add(ability.getSubtype().getPredicate()); } - boolean canBandWithOther = !bandsWithOther.isEmpty(); - if (canBand || canBandWithOther) { - boolean isBanded = false; - FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("attacking creature to band with " + attacker.getLogName()); - filter.add(Predicates.not(new PermanentIdPredicate(creatureId))); - filter.add(new AttackingSameNotBandedPredicate(combatGroup.getDefenderId())); // creature that isn't already banded, and is attacking the same player or planeswalker - List> predicates = new ArrayList<>(); - if (!canBand - && canBandWithOther) { - for (Ability ab : bandsWithOther) { - BandsWithOtherAbility ability = (BandsWithOtherAbility) ab; - if (ability.getSubtype() != null) { - predicates.add(ability.getSubtype().getPredicate()); - } - if (ability.getSupertype() != null) { - predicates.add(new SupertypePredicate(ability.getSupertype())); - } - if (ability.getName() != null) { - predicates.add(new NamePredicate(ability.getName())); - } - } - filter.add(Predicates.or(predicates)); - } - while (player.canRespond()) { - TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true); - target.setRequired(false); - canBand &= target.canChoose(attackingPlayerId, game); - canBandWithOther &= target.canChoose(attackingPlayerId, game); - if (game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.DECLARING_ATTACKERS, attackingPlayerId, attackingPlayerId)) - || (!canBand && !canBandWithOther) - || !player.chooseUse(Outcome.Benefit, - "Do you wish to " + (isBanded ? "band " + attacker.getLogName() - + " with another " : "form a band with " + attacker.getLogName() + " and an ") - + "attacking creature?", null, game)) { - break; - } + if (ability.getSupertype() != null) { + predicates.add(ability.getSupertype().getPredicate()); + } + if (ability.getName() != null) { + predicates.add(new NamePredicate(ability.getName())); + } + } + filter.add(Predicates.or(predicates)); + } + while (player.canRespond()) { + TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true); + target.setRequired(false); + canBand &= target.canChoose(attackingPlayerId, game); + canBandWithOther &= target.canChoose(attackingPlayerId, game); + if (game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.DECLARING_ATTACKERS, attackingPlayerId, attackingPlayerId)) + || (!canBand && !canBandWithOther) + || !player.chooseUse(Outcome.Benefit, + "Do you wish to " + (isBanded ? "band " + attacker.getLogName() + + " with another " : "form a band with " + attacker.getLogName() + " and an ") + + "attacking creature?", null, game)) { + break; + } - if (canBand && canBandWithOther) { - if (player.chooseUse(Outcome.Detriment, "Choose type of banding ability to apply:", - attacker.getLogName(), "Banding", "Bands with other", null, game)) { + if (canBand && canBandWithOther) { + if (player.chooseUse(Outcome.Detriment, "Choose type of banding ability to apply:", + attacker.getLogName(), "Banding", "Bands with other", null, game)) { + canBandWithOther = false; + } else { + canBand = false; + for (Ability ab : bandsWithOther) { + BandsWithOtherAbility ability = (BandsWithOtherAbility) ab; + if (ability.getSubtype() != null) { + predicates.add(ability.getSubtype().getPredicate()); + } + if (ability.getSupertype() != null) { + predicates.add(ability.getSupertype().getPredicate()); + } + if (ability.getName() != null) { + predicates.add(new NamePredicate(ability.getName())); + } + } + filter.add(Predicates.or(predicates)); + } + } + + if (target.choose(Outcome.Benefit, attackingPlayerId, null, game)) { + isBanded = true; + for (UUID targetId : target.getTargets()) { + Permanent permanent = game.getPermanent(targetId); + if (permanent != null) { + + for (UUID bandedId : attacker.getBandedCards()) { + permanent.addBandedCard(bandedId); + Permanent banded = game.getPermanent(bandedId); + if (banded != null) { + banded.addBandedCard(targetId); + } + } + permanent.addBandedCard(creatureId); + attacker.addBandedCard(targetId); + if (canBand) { + if (!permanent.getAbilities().containsKey(BandingAbility.getInstance().getId())) { + filter.add(new AbilityPredicate(BandingAbility.class)); canBandWithOther = false; - } else { - canBand = false; - for (Ability ab : bandsWithOther) { - BandsWithOtherAbility ability = (BandsWithOtherAbility) ab; - if (ability.getSubtype() != null) { - predicates.add(ability.getSubtype().getPredicate()); - } - if (ability.getSupertype() != null) { - predicates.add(new SupertypePredicate(ability.getSupertype())); - } - if (ability.getName() != null) { - predicates.add(new NamePredicate(ability.getName())); - } - } - filter.add(Predicates.or(predicates)); } - } - - if (target.choose(Outcome.Benefit, attackingPlayerId, null, game)) { - isBanded = true; - for (UUID targetId : target.getTargets()) { - Permanent permanent = game.getPermanent(targetId); - if (permanent != null) { - - for (UUID bandedId : attacker.getBandedCards()) { - permanent.addBandedCard(bandedId); - Permanent banded = game.getPermanent(bandedId); - if (banded != null) { - banded.addBandedCard(targetId); - } - } - permanent.addBandedCard(creatureId); - attacker.addBandedCard(targetId); - if (canBand) { - if (!permanent.getAbilities().containsKey(BandingAbility.getInstance().getId())) { - filter.add(new AbilityPredicate(BandingAbility.class)); - canBandWithOther = false; - } - } else if (canBandWithOther) { - List> newPredicates = new ArrayList<>(); - for (Predicate predicate : predicates) { - if (predicate.apply(permanent, game)) { - newPredicates.add(predicate); - } - } - filter.add(Predicates.or(newPredicates)); - canBand = false; - } + } else if (canBandWithOther) { + List> newPredicates = new ArrayList<>(); + for (Predicate predicate : predicates) { + if (predicate.apply(permanent, game)) { + newPredicates.add(predicate); } - } + filter.add(Predicates.or(newPredicates)); + canBand = false; } } - if (isBanded) { - StringBuilder sb = new StringBuilder(player.getLogName()).append(" formed a band with ").append((attacker.getBandedCards().size() + 1) + " creatures: "); - sb.append(attacker.getLogName()); - for (UUID id : attacker.getBandedCards()) { - sb.append(", "); - Permanent permanent = game.getPermanent(id); - if (permanent != null) { - sb.append(permanent.getLogName()); - } - } - game.informPlayers(sb.toString()); - } + } } } + if (!isBanded) { + return; + } + StringBuilder sb = new StringBuilder(player.getLogName()).append(" formed a band with ").append((attacker.getBandedCards().size() + 1) + " creatures: "); + sb.append(attacker.getLogName()); + for (UUID id : attacker.getBandedCards()) { + sb.append(", "); + Permanent permanent = game.getPermanent(id); + if (permanent != null) { + sb.append(permanent.getLogName()); + } + } + game.informPlayers(sb.toString()); } protected void checkAttackRequirements(Player player, Game game) { diff --git a/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java b/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java index 537feb42e4d..8c6ac750b17 100644 --- a/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java +++ b/Mage/src/main/java/mage/target/common/TargetBasicLandCard.java @@ -5,7 +5,6 @@ package mage.target.common; import mage.constants.CardType; import mage.constants.SuperType; import mage.constants.Zone; -import mage.filter.predicate.mageobject.SupertypePredicate; import mage.target.TargetCard; /** @@ -16,7 +15,7 @@ public class TargetBasicLandCard extends TargetCard { public TargetBasicLandCard(Zone zone) { super(zone); - filter.add(new SupertypePredicate(SuperType.BASIC)); + filter.add(SuperType.BASIC.getPredicate()); filter.add(CardType.LAND.getPredicate()); } diff --git a/Mage/src/main/java/mage/target/common/TargetNonBasicLandPermanent.java b/Mage/src/main/java/mage/target/common/TargetNonBasicLandPermanent.java index dd56cd414fd..f36949f5312 100644 --- a/Mage/src/main/java/mage/target/common/TargetNonBasicLandPermanent.java +++ b/Mage/src/main/java/mage/target/common/TargetNonBasicLandPermanent.java @@ -5,7 +5,6 @@ package mage.target.common; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SupertypePredicate; /** * @@ -15,7 +14,7 @@ public class TargetNonBasicLandPermanent extends TargetLandPermanent { public TargetNonBasicLandPermanent() { this.filter = new FilterLandPermanent(); - this.filter.add(Predicates.not(new SupertypePredicate(SuperType.BASIC))); + this.filter.add(Predicates.not(SuperType.BASIC.getPredicate())); this.targetName = "nonbasic land"; }