From 0fa971514aa1c4e3f1be6e7b38ee7bc45206f149 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sat, 8 Jul 2023 13:08:28 -0400 Subject: [PATCH] code style: eliminate unnecessary static imports (#10585) * SacrificeTargetCost(StaticFilters) * remove import static mage.constants.Outcome * remove import static mage.constants.Duration * remove other import static * a few more sacrifice filters * simpler constructors * remove import static mage.filter * remove a few more import static --- .../src/mage/game/CanadianHighlanderDuelMatch.java | 5 ++--- Mage.Sets/src/mage/cards/a/AbsoluteGrace.java | 4 ++-- Mage.Sets/src/mage/cards/a/AbsoluteLaw.java | 4 ++-- Mage.Sets/src/mage/cards/a/AerieMystics.java | 4 ++-- Mage.Sets/src/mage/cards/a/AetherBurst.java | 5 ++--- Mage.Sets/src/mage/cards/a/AltarOfBone.java | 3 +-- Mage.Sets/src/mage/cards/a/AltarOfDementia.java | 4 ++-- Mage.Sets/src/mage/cards/a/AnimalBoneyard.java | 4 ++-- Mage.Sets/src/mage/cards/a/ArchonOfValorsReach.java | 4 +--- Mage.Sets/src/mage/cards/a/Asceticism.java | 4 ++-- Mage.Sets/src/mage/cards/a/AshnodsAltar.java | 4 ++-- Mage.Sets/src/mage/cards/a/AvatarOfSlaughter.java | 6 +++--- Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java | 4 +--- .../src/mage/cards/b/BarrageOfExpendables.java | 4 ++-- Mage.Sets/src/mage/cards/b/BehindTheScenes.java | 6 +++--- Mage.Sets/src/mage/cards/b/BindingMummy.java | 4 ++-- Mage.Sets/src/mage/cards/b/BlackCarriage.java | 4 ++-- Mage.Sets/src/mage/cards/b/BlastingStation.java | 3 +-- Mage.Sets/src/mage/cards/b/BlightedShaman.java | 4 ++-- Mage.Sets/src/mage/cards/b/BlindingFog.java | 4 +--- Mage.Sets/src/mage/cards/b/BloodDivination.java | 6 ++---- Mage.Sets/src/mage/cards/b/BloodForBones.java | 9 +++------ Mage.Sets/src/mage/cards/b/BloodFunnel.java | 4 ++-- Mage.Sets/src/mage/cards/b/BloodRites.java | 4 ++-- .../src/mage/cards/b/BloodflowConnoisseur.java | 7 ++----- Mage.Sets/src/mage/cards/b/BloodshotCyclops.java | 4 ++-- Mage.Sets/src/mage/cards/b/BloodthroneVampire.java | 4 ++-- Mage.Sets/src/mage/cards/b/BoneSplinters.java | 4 ++-- Mage.Sets/src/mage/cards/b/BontusMonument.java | 4 ++-- Mage.Sets/src/mage/cards/b/BrainGorgers.java | 4 ++-- Mage.Sets/src/mage/cards/b/BreakingPoint.java | 5 ++--- Mage.Sets/src/mage/cards/b/BrineShaman.java | 6 ++---- Mage.Sets/src/mage/cards/b/BroodButcher.java | 4 ++-- Mage.Sets/src/mage/cards/b/BroodOfCockroaches.java | 7 +++---- Mage.Sets/src/mage/cards/b/BubblingCauldron.java | 4 ++-- Mage.Sets/src/mage/cards/b/BurntOffering.java | 4 ++-- Mage.Sets/src/mage/cards/c/CabalPatriarch.java | 4 ++-- Mage.Sets/src/mage/cards/c/CalixDestinysHand.java | 5 ++--- Mage.Sets/src/mage/cards/c/CallForBlood.java | 4 ++-- Mage.Sets/src/mage/cards/c/Caregiver.java | 4 ++-- Mage.Sets/src/mage/cards/c/CarnageAltar.java | 4 ++-- Mage.Sets/src/mage/cards/c/Carrion.java | 4 ++-- Mage.Sets/src/mage/cards/c/CarrionFeeder.java | 4 ++-- Mage.Sets/src/mage/cards/c/CateranOverlord.java | 4 ++-- .../src/mage/cards/c/ChandraAcolyteOfFlame.java | 8 +++----- Mage.Sets/src/mage/cards/c/ChasmGuide.java | 4 ++-- Mage.Sets/src/mage/cards/c/ChitteringWitch.java | 4 ++-- Mage.Sets/src/mage/cards/c/ChokingVines.java | 5 ++--- Mage.Sets/src/mage/cards/c/CollateralDamage.java | 4 ++-- Mage.Sets/src/mage/cards/c/Contamination.java | 7 ++----- Mage.Sets/src/mage/cards/c/CorpseHarvester.java | 5 ++--- Mage.Sets/src/mage/cards/c/CorpseTraders.java | 4 ++-- Mage.Sets/src/mage/cards/c/CorruptedHarvester.java | 4 ++-- Mage.Sets/src/mage/cards/c/CullingDais.java | 4 ++-- Mage.Sets/src/mage/cards/c/CullingTheWeak.java | 4 ++-- Mage.Sets/src/mage/cards/c/CurtainsCall.java | 3 +-- Mage.Sets/src/mage/cards/d/Damn.java | 5 ++--- Mage.Sets/src/mage/cards/d/Damnation.java | 4 ++-- Mage.Sets/src/mage/cards/d/DarkPrivilege.java | 4 ++-- Mage.Sets/src/mage/cards/d/DarkTriumph.java | 7 ++----- Mage.Sets/src/mage/cards/d/DawnglareInvoker.java | 4 ++-- Mage.Sets/src/mage/cards/d/DemonOfCatastrophes.java | 4 ++-- Mage.Sets/src/mage/cards/d/DemonmailHauberk.java | 4 ++-- Mage.Sets/src/mage/cards/d/DevouringStrossus.java | 4 ++-- Mage.Sets/src/mage/cards/d/DevouringSwarm.java | 4 ++-- Mage.Sets/src/mage/cards/d/DiabolicIntent.java | 4 ++-- Mage.Sets/src/mage/cards/d/DiamondValley.java | 4 ++-- Mage.Sets/src/mage/cards/d/DimirHouseGuard.java | 4 ++-- .../src/mage/cards/d/DiscipleOfGriselbrand.java | 4 ++-- .../src/mage/cards/d/DivergentTransformations.java | 3 +-- Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java | 4 ++-- Mage.Sets/src/mage/cards/d/DrossHopper.java | 4 ++-- Mage.Sets/src/mage/cards/d/DrownedRusalka.java | 4 ++-- Mage.Sets/src/mage/cards/e/EbonPraetor.java | 4 ++-- Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java | 4 ++-- Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java | 4 ++-- Mage.Sets/src/mage/cards/e/EndemicPlague.java | 4 ++-- Mage.Sets/src/mage/cards/e/Ensnare.java | 4 ++-- Mage.Sets/src/mage/cards/e/EtherealHaze.java | 5 ++--- Mage.Sets/src/mage/cards/e/Evacuation.java | 4 ++-- Mage.Sets/src/mage/cards/e/EvolutionaryLeap.java | 4 +--- Mage.Sets/src/mage/cards/e/EyeOfYawgmoth.java | 4 ++-- .../src/mage/cards/f/FalkenrathAristocrat.java | 4 ++-- Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java | 4 ++-- Mage.Sets/src/mage/cards/f/FallenAngel.java | 4 ++-- Mage.Sets/src/mage/cards/f/FallenIdeal.java | 5 ++--- Mage.Sets/src/mage/cards/f/FanaticalDevotion.java | 4 ++-- Mage.Sets/src/mage/cards/f/Festival.java | 4 ++-- Mage.Sets/src/mage/cards/f/FieryBombardment.java | 4 ++-- Mage.Sets/src/mage/cards/f/FieryConclusion.java | 4 ++-- Mage.Sets/src/mage/cards/f/FinalStrike.java | 4 ++-- Mage.Sets/src/mage/cards/f/FiremantleMage.java | 4 ++-- Mage.Sets/src/mage/cards/f/FleshAllergy.java | 4 ++-- Mage.Sets/src/mage/cards/f/FleshEaterImp.java | 4 ++-- Mage.Sets/src/mage/cards/f/Fling.java | 4 ++-- .../src/mage/cards/f/FlyingCraneTechnique.java | 8 ++++---- Mage.Sets/src/mage/cards/f/FodderCannon.java | 4 ++-- Mage.Sets/src/mage/cards/f/Forfend.java | 4 ++-- Mage.Sets/src/mage/cards/g/GateToPhyrexia.java | 4 ++-- Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java | 4 ++-- .../src/mage/cards/g/GhostCouncilOfOrzhova.java | 7 ++----- Mage.Sets/src/mage/cards/g/GiftOfDoom.java | 4 +--- Mage.Sets/src/mage/cards/g/GlimpseTheSunGod.java | 7 +++---- Mage.Sets/src/mage/cards/g/GnawingZombie.java | 4 ++-- Mage.Sets/src/mage/cards/g/GolgariGuildmage.java | 4 +--- Mage.Sets/src/mage/cards/g/GolgariRotwurm.java | 4 ++-- Mage.Sets/src/mage/cards/g/GrandMelee.java | 6 +++--- Mage.Sets/src/mage/cards/g/GreaterGood.java | 4 ++-- Mage.Sets/src/mage/cards/g/GrimBackwoods.java | 4 ++-- Mage.Sets/src/mage/cards/g/GutlessGhoul.java | 4 ++-- Mage.Sets/src/mage/cards/h/HellsCaretaker.java | 3 +-- Mage.Sets/src/mage/cards/h/HelmOfPossession.java | 5 ++--- Mage.Sets/src/mage/cards/h/HiddenStockpile.java | 4 ++-- Mage.Sets/src/mage/cards/h/HighMarket.java | 4 ++-- Mage.Sets/src/mage/cards/h/HolyMantle.java | 4 ++-- Mage.Sets/src/mage/cards/h/HostileHostel.java | 4 ++-- Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java | 4 ++-- Mage.Sets/src/mage/cards/i/IndulgentTormentor.java | 4 ++-- Mage.Sets/src/mage/cards/i/InfernalPlunge.java | 4 ++-- .../src/mage/cards/i/InitiatesOfTheEbonHand.java | 4 ++-- Mage.Sets/src/mage/cards/i/IntruderAlarm.java | 5 ++--- Mage.Sets/src/mage/cards/i/InvasionPlans.java | 4 ++-- .../src/mage/cards/j/JaceWielderOfMysteries.java | 13 ++++--------- Mage.Sets/src/mage/cards/j/JinxedIdol.java | 4 ++-- Mage.Sets/src/mage/cards/j/JinxedRing.java | 4 ++-- Mage.Sets/src/mage/cards/k/KaronasZealot.java | 4 ++-- Mage.Sets/src/mage/cards/k/KazuulsFury.java | 4 ++-- Mage.Sets/src/mage/cards/k/KeldonNecropolis.java | 4 ++-- .../src/mage/cards/k/KiraGreatGlassSpinner.java | 4 ++-- .../src/mage/cards/k/KolaghanTheStormsFury.java | 3 +-- Mage.Sets/src/mage/cards/k/KorBladewhirl.java | 4 ++-- Mage.Sets/src/mage/cards/k/KrovikanHorror.java | 4 ++-- Mage.Sets/src/mage/cards/l/LancersEnKor.java | 4 ++-- Mage.Sets/src/mage/cards/l/LaunchParty.java | 4 ++-- Mage.Sets/src/mage/cards/l/LegacyOfTheBeloved.java | 4 ++-- Mage.Sets/src/mage/cards/l/LifeChisel.java | 6 ++---- Mage.Sets/src/mage/cards/l/LifesLegacy.java | 4 ++-- Mage.Sets/src/mage/cards/l/LumberingBattlement.java | 4 +--- .../src/mage/cards/l/LyzoldaTheBloodWitch.java | 4 ++-- Mage.Sets/src/mage/cards/m/MalevolentAwakening.java | 4 ++-- Mage.Sets/src/mage/cards/m/Marjhan.java | 4 ++-- Mage.Sets/src/mage/cards/m/MartyredRusalka.java | 4 ++-- Mage.Sets/src/mage/cards/m/MartyrsCause.java | 4 ++-- Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java | 4 ++-- Mage.Sets/src/mage/cards/m/MasterOfPearls.java | 3 +-- Mage.Sets/src/mage/cards/m/MedomaisProphecy.java | 6 ++---- Mage.Sets/src/mage/cards/m/Metamorphosis.java | 4 ++-- Mage.Sets/src/mage/cards/m/MilaCraftyCompanion.java | 4 +--- Mage.Sets/src/mage/cards/m/MillenniumFalcon.java | 4 ++-- Mage.Sets/src/mage/cards/m/MindSlash.java | 4 ++-- Mage.Sets/src/mage/cards/m/MindSwords.java | 4 ++-- Mage.Sets/src/mage/cards/m/MirenTheMoaningWell.java | 4 ++-- Mage.Sets/src/mage/cards/m/MomentousFall.java | 4 ++-- Mage.Sets/src/mage/cards/m/MutualDestruction.java | 7 ++----- Mage.Sets/src/mage/cards/m/MythosOfVadrok.java | 4 +--- Mage.Sets/src/mage/cards/n/NantukoHusk.java | 4 ++-- Mage.Sets/src/mage/cards/n/NayaCharm.java | 4 ++-- Mage.Sets/src/mage/cards/n/Necrosavant.java | 4 ++-- Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java | 4 ++-- Mage.Sets/src/mage/cards/n/NezumiBoneReader.java | 4 ++-- Mage.Sets/src/mage/cards/n/NimShambler.java | 4 ++-- .../src/mage/cards/n/NissaOfShadowedBoughs.java | 4 +--- Mage.Sets/src/mage/cards/n/NomadsEnKor.java | 4 ++-- Mage.Sets/src/mage/cards/o/OgreMarauder.java | 4 ++-- Mage.Sets/src/mage/cards/o/OnduChampion.java | 4 ++-- Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java | 4 ++-- Mage.Sets/src/mage/cards/o/OrimsChant.java | 4 ++-- Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java | 4 ++-- Mage.Sets/src/mage/cards/o/OutriderEnKor.java | 4 ++-- Mage.Sets/src/mage/cards/p/PendantOfProsperity.java | 5 ++--- Mage.Sets/src/mage/cards/p/PendrellMists.java | 4 ++-- Mage.Sets/src/mage/cards/p/PerilousForays.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianTower.java | 4 ++-- Mage.Sets/src/mage/cards/p/PhyrexianVault.java | 4 ++-- Mage.Sets/src/mage/cards/p/PlaguedRusalka.java | 4 ++-- Mage.Sets/src/mage/cards/p/PlaguemawBeast.java | 4 ++-- Mage.Sets/src/mage/cards/p/Plaxmanta.java | 4 ++-- Mage.Sets/src/mage/cards/p/PrimalGrowth.java | 4 +--- Mage.Sets/src/mage/cards/q/QuagmireDruid.java | 4 ++-- Mage.Sets/src/mage/cards/r/RadiantDestiny.java | 5 ++--- Mage.Sets/src/mage/cards/r/RakdosRiteknife.java | 4 ++-- Mage.Sets/src/mage/cards/r/ReapWhatIsSown.java | 3 +-- .../src/mage/cards/r/ReaperOfFlightMoonsilver.java | 4 ++-- Mage.Sets/src/mage/cards/r/RecklessAbandon.java | 4 ++-- Mage.Sets/src/mage/cards/r/RickSteadfastLeader.java | 4 +--- Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java | 4 ++-- Mage.Sets/src/mage/cards/r/Rout.java | 4 ++-- Mage.Sets/src/mage/cards/r/RuthlessKnave.java | 4 ++-- Mage.Sets/src/mage/cards/s/Sacrifice.java | 4 ++-- Mage.Sets/src/mage/cards/s/SadisticHypnotist.java | 5 ++--- Mage.Sets/src/mage/cards/s/SanguinePraetor.java | 3 +-- Mage.Sets/src/mage/cards/s/Scapegoat.java | 4 ++-- Mage.Sets/src/mage/cards/s/ScarlandThrinax.java | 4 ++-- Mage.Sets/src/mage/cards/s/ScorchedRusalka.java | 4 ++-- Mage.Sets/src/mage/cards/s/ShattergangBrothers.java | 6 +++--- Mage.Sets/src/mage/cards/s/ShivanHarvest.java | 4 ++-- Mage.Sets/src/mage/cards/s/SithEvoker.java | 4 ++-- Mage.Sets/src/mage/cards/s/SkeletalKathari.java | 4 ++-- Mage.Sets/src/mage/cards/s/SkirsdagCultist.java | 4 ++-- Mage.Sets/src/mage/cards/s/SkullCatapult.java | 4 ++-- Mage.Sets/src/mage/cards/s/SongOfFreyalise.java | 12 ++++++------ .../src/mage/cards/s/SorinImperiousBloodlord.java | 9 ++------- Mage.Sets/src/mage/cards/s/SpawningPit.java | 4 ++-- Mage.Sets/src/mage/cards/s/SpiritEnKor.java | 4 ++-- .../src/mage/cards/s/SpontaneousCombustion.java | 4 ++-- Mage.Sets/src/mage/cards/s/SpringbloomDruid.java | 4 +--- Mage.Sets/src/mage/cards/s/StartFinish.java | 4 ++-- Mage.Sets/src/mage/cards/s/StarvedRusalka.java | 4 ++-- Mage.Sets/src/mage/cards/s/SublimeExhalation.java | 4 ++-- Mage.Sets/src/mage/cards/s/SuddenSubstitution.java | 5 ++--- Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java | 4 ++-- .../src/mage/cards/t/TamiyoCollectorOfTales.java | 4 +--- Mage.Sets/src/mage/cards/t/TectonicGiant.java | 3 +-- Mage.Sets/src/mage/cards/t/TempestCaller.java | 4 ++-- Mage.Sets/src/mage/cards/t/TempleOfAclazotz.java | 4 ++-- Mage.Sets/src/mage/cards/t/TendrilsOfDespair.java | 4 ++-- Mage.Sets/src/mage/cards/t/TerashisCry.java | 6 ++---- .../src/mage/cards/t/TeveshSzatDoomOfFools.java | 4 +--- Mage.Sets/src/mage/cards/t/ThallidSoothsayer.java | 4 ++-- Mage.Sets/src/mage/cards/t/TheloniteDruid.java | 4 ++-- Mage.Sets/src/mage/cards/t/Thermopod.java | 4 ++-- Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java | 4 ++-- Mage.Sets/src/mage/cards/t/Thud.java | 6 ++---- .../src/mage/cards/t/TolsimirFriendToWolves.java | 11 +++-------- Mage.Sets/src/mage/cards/t/TorrentElemental.java | 4 ++-- Mage.Sets/src/mage/cards/t/TorrentSculptor.java | 4 +--- Mage.Sets/src/mage/cards/t/TradingPost.java | 4 +--- Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java | 6 ++---- .../src/mage/cards/t/TymaretTheMurderKing.java | 4 ++-- .../src/mage/cards/t/TyvarJubilantBrawler.java | 1 - Mage.Sets/src/mage/cards/u/UginTheIneffable.java | 4 +--- Mage.Sets/src/mage/cards/u/UndercityInformer.java | 4 ++-- .../src/mage/cards/u/UnquestionedAuthority.java | 4 ++-- Mage.Sets/src/mage/cards/v/VampiricRites.java | 4 ++-- Mage.Sets/src/mage/cards/v/ViciousOffering.java | 4 ++-- Mage.Sets/src/mage/cards/v/Victimize.java | 4 ++-- Mage.Sets/src/mage/cards/v/VisceraSeer.java | 4 ++-- Mage.Sets/src/mage/cards/v/VisceridDrone.java | 6 +++--- Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java | 5 ++--- Mage.Sets/src/mage/cards/v/Vivisection.java | 4 ++-- Mage.Sets/src/mage/cards/w/WakeOfVultures.java | 4 ++-- Mage.Sets/src/mage/cards/w/WarriorEnKor.java | 4 ++-- Mage.Sets/src/mage/cards/w/WickedReward.java | 4 ++-- Mage.Sets/src/mage/cards/w/WorthyCause.java | 4 ++-- Mage.Sets/src/mage/cards/w/WrathOfGod.java | 4 ++-- Mage.Sets/src/mage/cards/z/ZealousInquisitor.java | 4 ++-- Mage.Sets/src/mage/cards/z/ZhalfirinCrusader.java | 4 ++-- ...lefieldUnderControlOfOpponentOfChoiceEffect.java | 3 +-- .../effects/common/PreventDamageToSourceEffect.java | 3 +-- .../combat/CantBeBlockedByAllTargetEffect.java | 4 +--- .../common/combat/CantBlockAttachedEffect.java | 4 +--- .../java/mage/abilities/keyword/AscendAbility.java | 3 +-- .../emblems/ObNixilisOfTheBlackOathEmblem.java | 4 ++-- .../command/emblems/TezzeretTheSchemerEmblem.java | 5 ++--- .../mage/target/common/TargetCreaturePermanent.java | 1 - 259 files changed, 499 insertions(+), 622 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/src/mage/game/CanadianHighlanderDuelMatch.java b/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/src/mage/game/CanadianHighlanderDuelMatch.java index 42d53366607..5a852383b14 100644 --- a/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/src/mage/game/CanadianHighlanderDuelMatch.java +++ b/Mage.Server.Plugins/Mage.Game.CanadianHighlanderDuel/src/mage/game/CanadianHighlanderDuelMatch.java @@ -4,8 +4,7 @@ package mage.game; import mage.game.match.MatchImpl; import mage.game.match.MatchOptions; import mage.game.mulligan.Mulligan; - -import static mage.game.mulligan.MulliganType.CANADIAN_HIGHLANDER; +import mage.game.mulligan.MulliganType; /** * @@ -20,7 +19,7 @@ public class CanadianHighlanderDuelMatch extends MatchImpl { @Override public void startGame() throws GameException { int startLife = 20; - Mulligan mulligan = options.getMulliganType().orDefault(CANADIAN_HIGHLANDER).getMulligan(options.getFreeMulligans()); + Mulligan mulligan = options.getMulliganType().orDefault(MulliganType.CANADIAN_HIGHLANDER).getMulligan(options.getFreeMulligans()); CanadianHighlanderDuel game = new CanadianHighlanderDuel(options.getAttackOption(), options.getRange(), mulligan, startLife); game.setStartMessage(this.createGameStartMessage()); initGame(game); diff --git a/Mage.Sets/src/mage/cards/a/AbsoluteGrace.java b/Mage.Sets/src/mage/cards/a/AbsoluteGrace.java index f9e97615697..d20fcb1c779 100644 --- a/Mage.Sets/src/mage/cards/a/AbsoluteGrace.java +++ b/Mage.Sets/src/mage/cards/a/AbsoluteGrace.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -24,7 +24,7 @@ public final class AbsoluteGrace extends CardImpl { // All creatures have protection from black. Ability ability = ProtectionAbility.from(ObjectColor.BLACK); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES, false))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false))); } private AbsoluteGrace(final AbsoluteGrace card) { diff --git a/Mage.Sets/src/mage/cards/a/AbsoluteLaw.java b/Mage.Sets/src/mage/cards/a/AbsoluteLaw.java index 3fff1ba6134..49fde70a207 100644 --- a/Mage.Sets/src/mage/cards/a/AbsoluteLaw.java +++ b/Mage.Sets/src/mage/cards/a/AbsoluteLaw.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -24,7 +24,7 @@ public final class AbsoluteLaw extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); Ability ability = ProtectionAbility.from(ObjectColor.RED); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES, false))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, false))); } private AbsoluteLaw(final AbsoluteLaw card) { diff --git a/Mage.Sets/src/mage/cards/a/AerieMystics.java b/Mage.Sets/src/mage/cards/a/AerieMystics.java index 0fa148effe0..179e22e43e0 100644 --- a/Mage.Sets/src/mage/cards/a/AerieMystics.java +++ b/Mage.Sets/src/mage/cards/a/AerieMystics.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -31,7 +31,7 @@ public final class AerieMystics extends CardImpl { this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{1}{G}{U}"))); + new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{1}{G}{U}"))); } private AerieMystics(final AerieMystics card) { diff --git a/Mage.Sets/src/mage/cards/a/AetherBurst.java b/Mage.Sets/src/mage/cards/a/AetherBurst.java index eb7b2481da9..60487cfba91 100644 --- a/Mage.Sets/src/mage/cards/a/AetherBurst.java +++ b/Mage.Sets/src/mage/cards/a/AetherBurst.java @@ -8,6 +8,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.FilterCard; +import mage.filter.StaticFilters; import mage.filter.predicate.mageobject.NamePredicate; import mage.game.Game; import mage.players.Player; @@ -17,8 +18,6 @@ import mage.target.targetadjustment.TargetAdjuster; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * @author magenoxx_at_gmail.com */ @@ -73,7 +72,7 @@ enum AetherBurstAdjuster implements TargetAdjuster { class DynamicTargetCreaturePermanent extends TargetPermanent { public DynamicTargetCreaturePermanent() { - super(FILTER_PERMANENT_CREATURES); + super(StaticFilters.FILTER_PERMANENT_CREATURES); } public DynamicTargetCreaturePermanent(final DynamicTargetCreaturePermanent target) { diff --git a/Mage.Sets/src/mage/cards/a/AltarOfBone.java b/Mage.Sets/src/mage/cards/a/AltarOfBone.java index 824e0bf34c1..9ae9aece907 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfBone.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfBone.java @@ -7,7 +7,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.StaticFilters; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetControlledCreaturePermanent; @@ -21,7 +20,7 @@ public final class AltarOfBone extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}{W}"); // As an additional cost to cast Altar of Bone, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Search your library for a creature card, reveal that card, and put it into your hand. Then shuffle your library. this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), true)); } diff --git a/Mage.Sets/src/mage/cards/a/AltarOfDementia.java b/Mage.Sets/src/mage/cards/a/AltarOfDementia.java index 46a995e36e4..61c146caa84 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfDementia.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfDementia.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.TargetPlayer; @@ -28,7 +28,7 @@ public final class AltarOfDementia extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // Sacrifice a creature: Target player puts a number of cards equal to the sacrificed creature's power from the top of their library into their graveyard. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AltarOfDementiaEffect(), new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AltarOfDementiaEffect(), new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AnimalBoneyard.java b/Mage.Sets/src/mage/cards/a/AnimalBoneyard.java index 6ffab126b3b..cf46f4acee8 100644 --- a/Mage.Sets/src/mage/cards/a/AnimalBoneyard.java +++ b/Mage.Sets/src/mage/cards/a/AnimalBoneyard.java @@ -16,7 +16,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.TargetPermanent; @@ -41,7 +41,7 @@ public final class AnimalBoneyard extends CardImpl { this.addAbility(ability); // Enchanted land has "{T}, Sacrifice a creature: You gain life equal to that creature's toughness." Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AnimalBoneyardEffect(), new TapSourceCost()); - gainedAbility.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + gainedAbility.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, "Enchanted land has \"{T}, Sacrifice a creature: You gain life equal to that creature's toughness.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/a/ArchonOfValorsReach.java b/Mage.Sets/src/mage/cards/a/ArchonOfValorsReach.java index 193ad45cdad..42149989237 100644 --- a/Mage.Sets/src/mage/cards/a/ArchonOfValorsReach.java +++ b/Mage.Sets/src/mage/cards/a/ArchonOfValorsReach.java @@ -19,8 +19,6 @@ import mage.game.events.GameEvent; import java.util.Arrays; import java.util.UUID; -import static mage.game.events.GameEvent.EventType.CAST_SPELL; - /** * @author TheElk801 */ @@ -92,7 +90,7 @@ class ArchonOfValorsReachReplacementEffect extends ContinuousRuleModifyingEffect @Override public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == CAST_SPELL; + return event.getType() == GameEvent.EventType.CAST_SPELL; } @Override diff --git a/Mage.Sets/src/mage/cards/a/Asceticism.java b/Mage.Sets/src/mage/cards/a/Asceticism.java index 41aaa31eeba..bfaeb5c5c1d 100644 --- a/Mage.Sets/src/mage/cards/a/Asceticism.java +++ b/Mage.Sets/src/mage/cards/a/Asceticism.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; /** @@ -27,7 +27,7 @@ public final class Asceticism extends CardImpl { // Creatures you control have hexproof. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES))); + new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES))); // {1}{G}: Regenerate target creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{G}")); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/a/AshnodsAltar.java b/Mage.Sets/src/mage/cards/a/AshnodsAltar.java index 513dd4068eb..3716f3ef244 100644 --- a/Mage.Sets/src/mage/cards/a/AshnodsAltar.java +++ b/Mage.Sets/src/mage/cards/a/AshnodsAltar.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -24,7 +24,7 @@ public final class AshnodsAltar extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // Sacrifice a creature: Add {C}{C}. - SacrificeTargetCost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); + SacrificeTargetCost cost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.ColorlessMana(2), CreaturesYouControlCount.instance), cost)); diff --git a/Mage.Sets/src/mage/cards/a/AvatarOfSlaughter.java b/Mage.Sets/src/mage/cards/a/AvatarOfSlaughter.java index 9cb4ee5a170..7785ff2e6e3 100644 --- a/Mage.Sets/src/mage/cards/a/AvatarOfSlaughter.java +++ b/Mage.Sets/src/mage/cards/a/AvatarOfSlaughter.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.watchers.common.AttackedThisTurnWatcher; /** @@ -31,10 +31,10 @@ public final class AvatarOfSlaughter extends CardImpl { this.toughness = new MageInt(8); // All creatures have double strike and attack each turn if able. - Effect effect = new GainAbilityAllEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES); + Effect effect = new GainAbilityAllEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES); effect.setText("All creatures have double strike"); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); - effect = new AttacksIfAbleAllEffect(FILTER_PERMANENT_CREATURES); + effect = new AttacksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES); effect.setText("and attack each combat if able"); ability.addEffect(effect); this.addAbility(ability, new AttackedThisTurnWatcher()); diff --git a/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java b/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java index 949cade1723..b1e8f553c28 100644 --- a/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java +++ b/Mage.Sets/src/mage/cards/b/BarrageOfBoulders.java @@ -15,8 +15,6 @@ import mage.filter.StaticFilters; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * @author LevelX2 */ @@ -30,7 +28,7 @@ public final class BarrageOfBoulders extends CardImpl { // Ferocious - If you control a creature with power 4 or greater, creatures can't block this turn Effect effect = new ConditionalRestrictionEffect( Duration.EndOfTurn, - new CantBlockAllEffect(FILTER_PERMANENT_CREATURES, Duration.EndOfTurn), + new CantBlockAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn), new LockedInCondition(FerociousCondition.instance), null); effect.setText("
Ferocious — If you control a creature with power 4 or greater, creatures can't block this turn"); this.getSpellAbility().addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/b/BarrageOfExpendables.java b/Mage.Sets/src/mage/cards/b/BarrageOfExpendables.java index 33616bc04c6..1d721deb475 100644 --- a/Mage.Sets/src/mage/cards/b/BarrageOfExpendables.java +++ b/Mage.Sets/src/mage/cards/b/BarrageOfExpendables.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -26,7 +26,7 @@ public final class BarrageOfExpendables extends CardImpl { // {R}, Sacrifice a creature: Barrage of Expendables deals 1 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{R}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BehindTheScenes.java b/Mage.Sets/src/mage/cards/b/BehindTheScenes.java index 3d3d2ed33c6..fcb2ccf536e 100644 --- a/Mage.Sets/src/mage/cards/b/BehindTheScenes.java +++ b/Mage.Sets/src/mage/cards/b/BehindTheScenes.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -26,11 +26,11 @@ public final class BehindTheScenes extends CardImpl { // Creatures you control have skulk. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(new SkulkAbility(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES))); + new GainAbilityControlledEffect(new SkulkAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES))); // {4}{W}: Creatures you control get +1/+1 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, - new BoostControlledEffect(1, 1, Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), + new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{4}{W}"))); } diff --git a/Mage.Sets/src/mage/cards/b/BindingMummy.java b/Mage.Sets/src/mage/cards/b/BindingMummy.java index 8e6c2e0622e..c9ef6c8b18a 100644 --- a/Mage.Sets/src/mage/cards/b/BindingMummy.java +++ b/Mage.Sets/src/mage/cards/b/BindingMummy.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.target.TargetPermanent; @@ -38,7 +38,7 @@ public final class BindingMummy extends CardImpl { // Whenever another Zombie enters the battlefield under your control, you may tap target artifact or creature. Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new TapTargetEffect(), filter, true, null, true); - ability.addTarget(new TargetPermanent(FILTER_PERMANENT_ARTIFACT_OR_CREATURE)); + ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BlackCarriage.java b/Mage.Sets/src/mage/cards/b/BlackCarriage.java index fee00bb8ab0..cc08447ea89 100644 --- a/Mage.Sets/src/mage/cards/b/BlackCarriage.java +++ b/Mage.Sets/src/mage/cards/b/BlackCarriage.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -39,7 +39,7 @@ public final class BlackCarriage extends CardImpl { // Sacrifice a creature: Untap Black Carriage. Activate this ability only during your upkeep. this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, - new UntapSourceEffect(), new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new UntapSourceEffect(), new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new IsStepCondition(PhaseStep.UPKEEP), "Sacrifice a creature: Untap {this}. Activate only during your upkeep.")); } diff --git a/Mage.Sets/src/mage/cards/b/BlastingStation.java b/Mage.Sets/src/mage/cards/b/BlastingStation.java index 95bc9414b18..c37507a7412 100644 --- a/Mage.Sets/src/mage/cards/b/BlastingStation.java +++ b/Mage.Sets/src/mage/cards/b/BlastingStation.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -29,7 +28,7 @@ public final class BlastingStation extends CardImpl { // {tap}, Sacrifice a creature: Blasting Station deals 1 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BlightedShaman.java b/Mage.Sets/src/mage/cards/b/BlightedShaman.java index 62080443f39..785ea1d5789 100644 --- a/Mage.Sets/src/mage/cards/b/BlightedShaman.java +++ b/Mage.Sets/src/mage/cards/b/BlightedShaman.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledPermanent; @@ -47,7 +47,7 @@ public final class BlightedShaman extends CardImpl { // {tap}, Sacrifice a creature: Target creature gets +2/+2 until end of turn. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BlindingFog.java b/Mage.Sets/src/mage/cards/b/BlindingFog.java index 5a2c5290734..3149e68fc18 100644 --- a/Mage.Sets/src/mage/cards/b/BlindingFog.java +++ b/Mage.Sets/src/mage/cards/b/BlindingFog.java @@ -11,8 +11,6 @@ import mage.filter.StaticFilters; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURE; - /** * @author LevelX2 */ @@ -25,7 +23,7 @@ public final class BlindingFog extends CardImpl { this.getSpellAbility().addEffect(new PreventAllDamageToAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES)); // Creatures you control gain hexproof until end of turn. - this.getSpellAbility().addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURE, false)); + this.getSpellAbility().addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false)); } private BlindingFog(final BlindingFog card) { diff --git a/Mage.Sets/src/mage/cards/b/BloodDivination.java b/Mage.Sets/src/mage/cards/b/BloodDivination.java index d53de3049a7..28bd23d1d18 100644 --- a/Mage.Sets/src/mage/cards/b/BloodDivination.java +++ b/Mage.Sets/src/mage/cards/b/BloodDivination.java @@ -6,7 +6,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -19,9 +19,7 @@ public final class BloodDivination extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}"); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - )); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Draw three cards. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); diff --git a/Mage.Sets/src/mage/cards/b/BloodForBones.java b/Mage.Sets/src/mage/cards/b/BloodForBones.java index 20532cf4c5f..3207e51c1b2 100644 --- a/Mage.Sets/src/mage/cards/b/BloodForBones.java +++ b/Mage.Sets/src/mage/cards/b/BloodForBones.java @@ -10,6 +10,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; @@ -18,8 +19,6 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author TheElk801 */ @@ -29,9 +28,7 @@ public final class BloodForBones extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}"); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - )); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Return a creature card from your graveyard to the battlefield, then return another creature card from your graveyard to your hand. this.getSpellAbility().addEffect(new BloodForBonesEffect()); @@ -88,4 +85,4 @@ class BloodForBonesEffect extends OneShotEffect { } return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/b/BloodFunnel.java b/Mage.Sets/src/mage/cards/b/BloodFunnel.java index c008eac6f5b..37b45e7845a 100644 --- a/Mage.Sets/src/mage/cards/b/BloodFunnel.java +++ b/Mage.Sets/src/mage/cards/b/BloodFunnel.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.FilterSpell; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.target.common.TargetControlledCreaturePermanent; @@ -39,7 +39,7 @@ public final class BloodFunnel extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 2))); // Whenever you cast a noncreature spell, counter that spell unless you sacrifice a creature. - Effect effect = new CounterUnlessPaysEffect(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + Effect effect = new CounterUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); effect.setText("counter that spell unless you sacrifice a creature"); this.addAbility(new SpellCastControllerTriggeredAbility(Zone.BATTLEFIELD, effect, diff --git a/Mage.Sets/src/mage/cards/b/BloodRites.java b/Mage.Sets/src/mage/cards/b/BloodRites.java index 7350518d30d..64a84beb038 100644 --- a/Mage.Sets/src/mage/cards/b/BloodRites.java +++ b/Mage.Sets/src/mage/cards/b/BloodRites.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -24,7 +24,7 @@ public final class BloodRites extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}{R}"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{1}{R}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BloodflowConnoisseur.java b/Mage.Sets/src/mage/cards/b/BloodflowConnoisseur.java index def660f4333..a7af6d3bff2 100644 --- a/Mage.Sets/src/mage/cards/b/BloodflowConnoisseur.java +++ b/Mage.Sets/src/mage/cards/b/BloodflowConnoisseur.java @@ -12,12 +12,11 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author noxx */ @@ -31,9 +30,7 @@ public final class BloodflowConnoisseur extends CardImpl { this.toughness = new MageInt(1); // Sacrifice a creature: Put a +1/+1 counter on Bloodflow Connoisseur. - Cost abilityCost = new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - ); + Cost abilityCost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); Ability ability = new SimpleActivatedAbility( Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), diff --git a/Mage.Sets/src/mage/cards/b/BloodshotCyclops.java b/Mage.Sets/src/mage/cards/b/BloodshotCyclops.java index 64783b451de..c1ab150a888 100644 --- a/Mage.Sets/src/mage/cards/b/BloodshotCyclops.java +++ b/Mage.Sets/src/mage/cards/b/BloodshotCyclops.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -35,7 +35,7 @@ public final class BloodshotCyclops extends CardImpl { SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(SacrificeCostCreaturesPower.instance).setText("{this} deals damage equal to the sacrificed creature's power to any target"), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BloodthroneVampire.java b/Mage.Sets/src/mage/cards/b/BloodthroneVampire.java index 6ab900dc126..8c0a6c19b11 100644 --- a/Mage.Sets/src/mage/cards/b/BloodthroneVampire.java +++ b/Mage.Sets/src/mage/cards/b/BloodthroneVampire.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -28,7 +28,7 @@ public final class BloodthroneVampire extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private BloodthroneVampire(final BloodthroneVampire card) { diff --git a/Mage.Sets/src/mage/cards/b/BoneSplinters.java b/Mage.Sets/src/mage/cards/b/BoneSplinters.java index 040ee7b1b05..e00997608fe 100644 --- a/Mage.Sets/src/mage/cards/b/BoneSplinters.java +++ b/Mage.Sets/src/mage/cards/b/BoneSplinters.java @@ -6,7 +6,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -21,7 +21,7 @@ public final class BoneSplinters extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}"); // As an additional cost to cast Bone Splinters, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Destroy target creature. this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("to destroy")); this.getSpellAbility().addEffect(new DestroyTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/b/BontusMonument.java b/Mage.Sets/src/mage/cards/b/BontusMonument.java index fafe54ecb9b..bcf823b7e54 100644 --- a/Mage.Sets/src/mage/cards/b/BontusMonument.java +++ b/Mage.Sets/src/mage/cards/b/BontusMonument.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_SPELL_A_CREATURE; +import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -41,7 +41,7 @@ public final class BontusMonument extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1))); // Whenever you cast a creature spell, each opponent loses 1 life and you gain 1 life. - Ability ability = new SpellCastControllerTriggeredAbility(new LoseLifeOpponentsEffect(1), FILTER_SPELL_A_CREATURE, false); + Ability ability = new SpellCastControllerTriggeredAbility(new LoseLifeOpponentsEffect(1), StaticFilters.FILTER_SPELL_A_CREATURE, false); Effect effect = new GainLifeEffect(1); effect.setText("and you gain 1 life"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/b/BrainGorgers.java b/Mage.Sets/src/mage/cards/b/BrainGorgers.java index 0f9842996af..5338c43803e 100644 --- a/Mage.Sets/src/mage/cards/b/BrainGorgers.java +++ b/Mage.Sets/src/mage/cards/b/BrainGorgers.java @@ -15,7 +15,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.stack.Spell; import mage.players.Player; @@ -70,7 +70,7 @@ class BrainGorgersCounterSourceEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { MageObject sourceObject = source.getSourceObject(game); if (sourceObject != null) { - SacrificeTargetCost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); + SacrificeTargetCost cost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); for (UUID playerId : game.getState().getPlayerList(source.getControllerId())) { cost.clearPaid(); Player player = game.getPlayer(playerId); diff --git a/Mage.Sets/src/mage/cards/b/BreakingPoint.java b/Mage.Sets/src/mage/cards/b/BreakingPoint.java index 29efe1f3e33..a5d60c98849 100644 --- a/Mage.Sets/src/mage/cards/b/BreakingPoint.java +++ b/Mage.Sets/src/mage/cards/b/BreakingPoint.java @@ -6,6 +6,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.stack.Spell; @@ -14,8 +15,6 @@ import mage.players.Player; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * @author ilcartographer */ @@ -78,7 +77,7 @@ class BreakingPointDestroyEffect extends OneShotEffect { } } if (destroyCreatures) { - for (Permanent permanent : game.getBattlefield().getActivePermanents(FILTER_PERMANENT_CREATURES, source.getControllerId(), source, game)) { + for (Permanent permanent : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURES, source.getControllerId(), source, game)) { permanent.destroy(source, game, true); } } diff --git a/Mage.Sets/src/mage/cards/b/BrineShaman.java b/Mage.Sets/src/mage/cards/b/BrineShaman.java index c67730edb5e..22fa0e86aea 100644 --- a/Mage.Sets/src/mage/cards/b/BrineShaman.java +++ b/Mage.Sets/src/mage/cards/b/BrineShaman.java @@ -20,8 +20,6 @@ import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author TheElk801 */ @@ -36,13 +34,13 @@ public final class BrineShaman extends CardImpl { // {tap}, Sacrifice a creature: Target creature gets +2/+2 until end of turn. Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(2, 2), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // {1}{U}{U}, Sacrifice a creature: Counter target creature spell. ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{1}{U}{U}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_CREATURE)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BroodButcher.java b/Mage.Sets/src/mage/cards/b/BroodButcher.java index c6f032ccaca..830fc44a07d 100644 --- a/Mage.Sets/src/mage/cards/b/BroodButcher.java +++ b/Mage.Sets/src/mage/cards/b/BroodButcher.java @@ -17,7 +17,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.permanent.token.EldraziScionToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -42,7 +42,7 @@ public final class BroodButcher extends CardImpl { // {B}{G}, Sacrifice a creature: Target creature gets -2/-2 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{G}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BroodOfCockroaches.java b/Mage.Sets/src/mage/cards/b/BroodOfCockroaches.java index 0f0ba127706..d479b354989 100644 --- a/Mage.Sets/src/mage/cards/b/BroodOfCockroaches.java +++ b/Mage.Sets/src/mage/cards/b/BroodOfCockroaches.java @@ -12,14 +12,13 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.Outcome; import mage.constants.SubType; import mage.game.Game; import mage.target.targetpointer.FixedTarget; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author mpouedras */ @@ -53,7 +52,7 @@ class BroodOfCockroachesEffect extends OneShotEffect { private static final String effectText = "at the beginning of the next end step, you lose 1 life and return {this} to your hand."; BroodOfCockroachesEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = effectText; } @@ -80,4 +79,4 @@ class BroodOfCockroachesEffect extends OneShotEffect { public Effect copy() { return new BroodOfCockroachesEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/b/BubblingCauldron.java b/Mage.Sets/src/mage/cards/b/BubblingCauldron.java index 560340722e7..21575283e5e 100644 --- a/Mage.Sets/src/mage/cards/b/BubblingCauldron.java +++ b/Mage.Sets/src/mage/cards/b/BubblingCauldron.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; import mage.game.Game; @@ -38,7 +38,7 @@ public final class BubblingCauldron extends CardImpl { // {1}, {T}, Sacrifice a creature: You gain 4 life. Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(4), new ManaCostsImpl<>("{1}")); ability1.addCost(new TapSourceCost()); - ability1.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability1.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability1); // {1}, {T}, Sacrifice a creature named Festering Newt: Each opponent loses 4 life. You gain life equal to the life lost this way. Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BubblingCauldronEffect(), new ManaCostsImpl<>("{1}")); diff --git a/Mage.Sets/src/mage/cards/b/BurntOffering.java b/Mage.Sets/src/mage/cards/b/BurntOffering.java index d1b4389bbe8..2695188be5f 100644 --- a/Mage.Sets/src/mage/cards/b/BurntOffering.java +++ b/Mage.Sets/src/mage/cards/b/BurntOffering.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ColoredManaSymbol; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -22,7 +22,7 @@ public final class BurntOffering extends CardImpl { super(ownerID, setInfo, new CardType[]{CardType.INSTANT}, "{B}"); //As an additional cost to cast Burnt Offering, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); //Add an amount of {B} and/or {R} equal to the sacrificed creature's converted mana cost. SacrificeCostConvertedMana xValue = new SacrificeCostConvertedMana("creature"); this.getSpellAbility().addEffect(new AddManaInAnyCombinationEffect( diff --git a/Mage.Sets/src/mage/cards/c/CabalPatriarch.java b/Mage.Sets/src/mage/cards/c/CabalPatriarch.java index 2084fd0274a..6665a7a24ae 100644 --- a/Mage.Sets/src/mage/cards/c/CabalPatriarch.java +++ b/Mage.Sets/src/mage/cards/c/CabalPatriarch.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; import mage.target.common.TargetControlledPermanent; @@ -35,7 +35,7 @@ public final class CabalPatriarch extends CardImpl { // {2}{B}, Sacrifice a creature: Target creature gets -2/-2 until end of turn. Ability ability1 = new SimpleActivatedAbility(new BoostTargetEffect(-2, -2), new ManaCostsImpl<>("{2}{B}")); - ability1.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability1.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability1.addTarget(new TargetCreaturePermanent().withChooseHint("gets -2/-2")); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/cards/c/CalixDestinysHand.java b/Mage.Sets/src/mage/cards/c/CalixDestinysHand.java index 6f4eced6acb..648f0134504 100644 --- a/Mage.Sets/src/mage/cards/c/CalixDestinysHand.java +++ b/Mage.Sets/src/mage/cards/c/CalixDestinysHand.java @@ -27,7 +27,6 @@ import mage.target.targetpointer.FixedTarget; import java.util.UUID; import java.util.stream.Collectors; -import static mage.constants.Outcome.Benefit; import mage.util.CardUtil; /** @@ -88,7 +87,7 @@ public final class CalixDestinysHand extends CardImpl { class CalixDestinysHandExileEffect extends OneShotEffect { CalixDestinysHandExileEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Exile target creature or enchantment you don't control " + "until target enchantment you control leaves the battlefield."; } @@ -172,7 +171,7 @@ class CalixDestinysHandDelayedTriggeredAbility extends DelayedTriggeredAbility { class CalixDestinysHandReturnEffect extends OneShotEffect { CalixDestinysHandReturnEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "return all enchantment cards from your graveyard to the battlefield"; } diff --git a/Mage.Sets/src/mage/cards/c/CallForBlood.java b/Mage.Sets/src/mage/cards/c/CallForBlood.java index e3a414c7d95..09fec405bde 100644 --- a/Mage.Sets/src/mage/cards/c/CallForBlood.java +++ b/Mage.Sets/src/mage/cards/c/CallForBlood.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +28,7 @@ public final class CallForBlood extends CardImpl { this.subtype.add(SubType.ARCANE); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Target creature gets -X/-X until end of turn, where X is the sacrificed creature's power. this.getSpellAbility().addEffect(new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/c/Caregiver.java b/Mage.Sets/src/mage/cards/c/Caregiver.java index 53114640a40..fad906a0c0c 100644 --- a/Mage.Sets/src/mage/cards/c/Caregiver.java +++ b/Mage.Sets/src/mage/cards/c/Caregiver.java @@ -15,7 +15,7 @@ import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -35,7 +35,7 @@ public final class Caregiver extends CardImpl { // {W}, Sacrifice a creature: Prevent the next 1 damage that would be dealt to any target this turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new ColoredManaCost(ColoredManaSymbol.W)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CarnageAltar.java b/Mage.Sets/src/mage/cards/c/CarnageAltar.java index 438780add09..acdc897bb32 100644 --- a/Mage.Sets/src/mage/cards/c/CarnageAltar.java +++ b/Mage.Sets/src/mage/cards/c/CarnageAltar.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -23,7 +23,7 @@ public final class CarnageAltar extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(3)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/Carrion.java b/Mage.Sets/src/mage/cards/c/Carrion.java index 3451dc0ffcd..8e6b8e54fa1 100644 --- a/Mage.Sets/src/mage/cards/c/Carrion.java +++ b/Mage.Sets/src/mage/cards/c/Carrion.java @@ -8,7 +8,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.permanent.token.CarrionBlackInsectToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -22,7 +22,7 @@ public final class Carrion extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{B}"); // As an additional cost to cast Carrion, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Put X 0/1 black Insect creature tokens onto the battlefield, where X is the sacrificed creature's power. this.getSpellAbility().addEffect(new CreateTokenEffect(new CarrionBlackInsectToken(), SacrificeCostCreaturesPower.instance)); diff --git a/Mage.Sets/src/mage/cards/c/CarrionFeeder.java b/Mage.Sets/src/mage/cards/c/CarrionFeeder.java index 328cd7545b0..9580cba818b 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionFeeder.java +++ b/Mage.Sets/src/mage/cards/c/CarrionFeeder.java @@ -13,7 +13,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -34,7 +34,7 @@ public final class CarrionFeeder extends CardImpl { // Sacrifice a creature: Put a +1/+1 counter on Carrion Feeder. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private CarrionFeeder(final CarrionFeeder card) { diff --git a/Mage.Sets/src/mage/cards/c/CateranOverlord.java b/Mage.Sets/src/mage/cards/c/CateranOverlord.java index 267e6b26648..7f3d1df4f75 100644 --- a/Mage.Sets/src/mage/cards/c/CateranOverlord.java +++ b/Mage.Sets/src/mage/cards/c/CateranOverlord.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ManaValuePredicate; import mage.target.common.TargetCardInLibrary; @@ -45,7 +45,7 @@ public final class CateranOverlord extends CardImpl { // Sacrifice a creature: Regenerate Cateran Overlord. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); // {6}, {T}: Search your library for a Mercenary permanent card with converted mana cost 6 or less and put it onto the battlefield. Then shuffle your library. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java index 385c92440c3..8f8533aef66 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java +++ b/Mage.Sets/src/mage/cards/c/ChandraAcolyteOfFlame.java @@ -32,8 +32,6 @@ import mage.target.targetpointer.FixedTarget; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -81,7 +79,7 @@ public final class ChandraAcolyteOfFlame extends CardImpl { class ChandraAcolyteOfFlameEffect extends OneShotEffect { ChandraAcolyteOfFlameEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Create two 1/1 red Elemental creature tokens. They gain haste. " + "Sacrifice them at the beginning of the next end step."; } @@ -125,7 +123,7 @@ class ChandraAcolyteOfFlameEffect extends OneShotEffect { class ChandraAcolyteOfFlameGraveyardEffect extends OneShotEffect { ChandraAcolyteOfFlameGraveyardEffect() { - super(Benefit); + super(Outcome.Benefit); this.staticText = "You may cast target instant or sorcery card " + "with mana value 3 or less from your graveyard this turn. " + "If that card would be put into your graveyard this turn, exile it instead"; @@ -158,7 +156,7 @@ class ChandraAcolyteOfFlameGraveyardEffect extends OneShotEffect { class ChandraAcolyteOfFlameCastFromGraveyardEffect extends AsThoughEffectImpl { ChandraAcolyteOfFlameCastFromGraveyardEffect() { - super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Benefit); + super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); } private ChandraAcolyteOfFlameCastFromGraveyardEffect(final ChandraAcolyteOfFlameCastFromGraveyardEffect effect) { diff --git a/Mage.Sets/src/mage/cards/c/ChasmGuide.java b/Mage.Sets/src/mage/cards/c/ChasmGuide.java index a1c508eb4b0..9220e9df078 100644 --- a/Mage.Sets/src/mage/cards/c/ChasmGuide.java +++ b/Mage.Sets/src/mage/cards/c/ChasmGuide.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -29,7 +29,7 @@ public final class ChasmGuide extends CardImpl { // Rally — Whenever Chasm Guide or another Ally enters the battlefield under your control, creatures you control gain haste until end of turn. this.addAbility(new AllyEntersBattlefieldTriggeredAbility( - new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false)); + new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), false)); } private ChasmGuide(final ChasmGuide card) { diff --git a/Mage.Sets/src/mage/cards/c/ChitteringWitch.java b/Mage.Sets/src/mage/cards/c/ChitteringWitch.java index b81bce12520..dc17fd5dce9 100644 --- a/Mage.Sets/src/mage/cards/c/ChitteringWitch.java +++ b/Mage.Sets/src/mage/cards/c/ChitteringWitch.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.permanent.token.RatToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -44,7 +44,7 @@ public final class ChitteringWitch extends CardImpl { // {1}{B}, Sacrifice a creature: Target creature gets -2/-2 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/ChokingVines.java b/Mage.Sets/src/mage/cards/c/ChokingVines.java index 14c313e65b2..f4eb738e9ca 100644 --- a/Mage.Sets/src/mage/cards/c/ChokingVines.java +++ b/Mage.Sets/src/mage/cards/c/ChokingVines.java @@ -8,14 +8,13 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.PhaseStep; +import mage.filter.StaticFilters; import mage.game.Game; import mage.target.common.TargetCreaturePermanent; import mage.target.targetadjustment.TargetAdjuster; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_ATTACKING_CREATURES; - /** * @author arcox */ @@ -53,6 +52,6 @@ enum ChokingVinesAdjuster implements TargetAdjuster { public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); int x = ability.getManaCostsToPay().getX(); - ability.addTarget(new TargetCreaturePermanent(x, x, FILTER_ATTACKING_CREATURES, false)); + ability.addTarget(new TargetCreaturePermanent(x, x, StaticFilters.FILTER_ATTACKING_CREATURES, false)); } } diff --git a/Mage.Sets/src/mage/cards/c/CollateralDamage.java b/Mage.Sets/src/mage/cards/c/CollateralDamage.java index 12d16424491..cdae36b13f4 100644 --- a/Mage.Sets/src/mage/cards/c/CollateralDamage.java +++ b/Mage.Sets/src/mage/cards/c/CollateralDamage.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -21,7 +21,7 @@ public final class CollateralDamage extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}"); // As an additional cost to cast Collateral Damge, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Collateral Damage deals 3 damage to any target. this.getSpellAbility().addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/c/Contamination.java b/Mage.Sets/src/mage/cards/c/Contamination.java index 154fcb2d82a..cc96c3eaa06 100644 --- a/Mage.Sets/src/mage/cards/c/Contamination.java +++ b/Mage.Sets/src/mage/cards/c/Contamination.java @@ -10,6 +10,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ManaEvent; @@ -19,8 +20,6 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author emerald000 */ @@ -31,9 +30,7 @@ public final class Contamination extends CardImpl { // At the beginning of your upkeep, sacrifice Contamination unless you sacrifice a creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - )), TargetController.YOU, false) + new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), TargetController.YOU, false) ); // If a land is tapped for mana, it produces {B} instead of any other type and amount. diff --git a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java index 414d5560230..f16d137cb50 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java +++ b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java @@ -12,6 +12,7 @@ import mage.cards.*; import mage.constants.CardType; import mage.constants.SubType; import mage.filter.FilterCard; +import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.game.Game; import mage.target.common.TargetCardInLibrary; @@ -19,8 +20,6 @@ import mage.target.common.TargetControlledPermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author jeffwadsworth */ @@ -40,7 +39,7 @@ public final class CorpseHarvester extends CardImpl { new CorpseHarvesterTarget(), true ).setText(ruleText), new ManaCostsImpl<>("{1}{B}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CorpseTraders.java b/Mage.Sets/src/mage/cards/c/CorpseTraders.java index f6d66debc8e..adb4cf5a3ca 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseTraders.java +++ b/Mage.Sets/src/mage/cards/c/CorpseTraders.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; @@ -33,7 +33,7 @@ public final class CorpseTraders extends CardImpl { // {2}{B}, Sacrifice a creature: Target opponent reveals their hand. You choose a card from it. That player discards that card. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl<>("{2}{B}")); ability.addTarget(new TargetOpponent()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java b/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java index 3b190689edc..9b702150a05 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java +++ b/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -30,7 +30,7 @@ public final class CorruptedHarvester extends CardImpl { this.power = new MageInt(6); this.toughness = new MageInt(3); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CullingDais.java b/Mage.Sets/src/mage/cards/c/CullingDais.java index 83d1bc04a62..db0c24ba315 100644 --- a/Mage.Sets/src/mage/cards/c/CullingDais.java +++ b/Mage.Sets/src/mage/cards/c/CullingDais.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -31,7 +31,7 @@ public final class CullingDais extends CardImpl { public CullingDais(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CullingDaisEffect(), new GenericManaCost(1)); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/CullingTheWeak.java b/Mage.Sets/src/mage/cards/c/CullingTheWeak.java index 2b75d11044e..61e1dbbeb66 100644 --- a/Mage.Sets/src/mage/cards/c/CullingTheWeak.java +++ b/Mage.Sets/src/mage/cards/c/CullingTheWeak.java @@ -8,7 +8,7 @@ import mage.abilities.effects.mana.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -21,7 +21,7 @@ public final class CullingTheWeak extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}"); // As an additional cost to cast Culling the Weak, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Add {B}{B}{B}{B}. this.getSpellAbility().addEffect(new BasicManaEffect(Mana.BlackMana(4))); diff --git a/Mage.Sets/src/mage/cards/c/CurtainsCall.java b/Mage.Sets/src/mage/cards/c/CurtainsCall.java index 389964ef2b0..8b9c310c7b4 100644 --- a/Mage.Sets/src/mage/cards/c/CurtainsCall.java +++ b/Mage.Sets/src/mage/cards/c/CurtainsCall.java @@ -7,7 +7,6 @@ import mage.abilities.keyword.UndauntedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.target.common.TargetCreaturePermanent; /** @@ -23,7 +22,7 @@ public final class CurtainsCall extends CardImpl { this.addAbility(new UndauntedAbility()); // Destroy two target creatures. this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(2, 2, FILTER_PERMANENT_CREATURES, false)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2)); } private CurtainsCall(final CurtainsCall card) { diff --git a/Mage.Sets/src/mage/cards/d/Damn.java b/Mage.Sets/src/mage/cards/d/Damn.java index 896049062cb..3f556e82b5e 100644 --- a/Mage.Sets/src/mage/cards/d/Damn.java +++ b/Mage.Sets/src/mage/cards/d/Damn.java @@ -7,12 +7,11 @@ import mage.abilities.keyword.OverloadAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * @author jmharmon */ @@ -30,7 +29,7 @@ public final class Damn extends CardImpl { // Overload {2}{W}{W} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of “target” with “each.”) this.addAbility(new OverloadAbility( this, - new DestroyAllEffect(FILTER_PERMANENT_CREATURES, true), + new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, true), new ManaCostsImpl<>("{2}{W}{W}") )); } diff --git a/Mage.Sets/src/mage/cards/d/Damnation.java b/Mage.Sets/src/mage/cards/d/Damnation.java index 4cb387ac160..b3fdc21718b 100644 --- a/Mage.Sets/src/mage/cards/d/Damnation.java +++ b/Mage.Sets/src/mage/cards/d/Damnation.java @@ -6,7 +6,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -18,7 +18,7 @@ public final class Damnation extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); // Destroy all creatures. They can't be regenerated. - this.getSpellAbility().addEffect(new DestroyAllEffect(FILTER_PERMANENT_CREATURES, true)); + this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, true)); } private Damnation(final Damnation card) { diff --git a/Mage.Sets/src/mage/cards/d/DarkPrivilege.java b/Mage.Sets/src/mage/cards/d/DarkPrivilege.java index 25cf81aac62..3364b9edb8e 100644 --- a/Mage.Sets/src/mage/cards/d/DarkPrivilege.java +++ b/Mage.Sets/src/mage/cards/d/DarkPrivilege.java @@ -20,7 +20,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -46,7 +46,7 @@ public final class DarkPrivilege extends CardImpl { // Sacrifice a creature: Regenerate enchanted creature. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } diff --git a/Mage.Sets/src/mage/cards/d/DarkTriumph.java b/Mage.Sets/src/mage/cards/d/DarkTriumph.java index e56bed8f9c1..7d927411ce6 100644 --- a/Mage.Sets/src/mage/cards/d/DarkTriumph.java +++ b/Mage.Sets/src/mage/cards/d/DarkTriumph.java @@ -12,12 +12,11 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.filter.FilterPermanent; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author TheElk801 */ @@ -32,9 +31,7 @@ public final class DarkTriumph extends CardImpl { // If you control a Swamp, you may sacrifice a creature rather than pay Dark Triumph's mana cost. this.addAbility(new AlternativeCostSourceAbility( - new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - ), condition + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), condition )); // Creatures you control get +2/+0 until end of turn. diff --git a/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java b/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java index bf0df0e9c07..69308dc999a 100644 --- a/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java +++ b/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.TargetPlayer; /** @@ -31,7 +31,7 @@ public final class DawnglareInvoker extends CardImpl { this.addAbility(FlyingAbility.getInstance()); SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES), + new TapAllTargetPlayerControlsEffect(StaticFilters.FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{8}")); ability.addTarget(new TargetPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DemonOfCatastrophes.java b/Mage.Sets/src/mage/cards/d/DemonOfCatastrophes.java index a3689db58b7..928e32f6a24 100644 --- a/Mage.Sets/src/mage/cards/d/DemonOfCatastrophes.java +++ b/Mage.Sets/src/mage/cards/d/DemonOfCatastrophes.java @@ -9,7 +9,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -26,7 +26,7 @@ public final class DemonOfCatastrophes extends CardImpl { this.toughness = new MageInt(6); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Flying this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java b/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java index 4bc19d2f04a..b099c80ef19 100644 --- a/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java +++ b/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -31,7 +31,7 @@ public final class DemonmailHauberk extends CardImpl { // Equip - Sacrifice a creature. this.addAbility(new EquipAbility( Outcome.AddAbility, - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), false)); } diff --git a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java index b43ed0486ec..f08b8caec45 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java +++ b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java @@ -17,7 +17,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -44,7 +44,7 @@ public final class DevouringStrossus extends CardImpl { this.addAbility(ability); // Sacrifice a creature: Regenerate Devouring Strossus. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private DevouringStrossus(final DevouringStrossus card) { diff --git a/Mage.Sets/src/mage/cards/d/DevouringSwarm.java b/Mage.Sets/src/mage/cards/d/DevouringSwarm.java index a7122ed05c5..b3fe66628cd 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringSwarm.java +++ b/Mage.Sets/src/mage/cards/d/DevouringSwarm.java @@ -13,7 +13,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +29,7 @@ public final class DevouringSwarm extends CardImpl { this.toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private DevouringSwarm(final DevouringSwarm card) { diff --git a/Mage.Sets/src/mage/cards/d/DiabolicIntent.java b/Mage.Sets/src/mage/cards/d/DiabolicIntent.java index b76965f727b..a9b2910df56 100644 --- a/Mage.Sets/src/mage/cards/d/DiabolicIntent.java +++ b/Mage.Sets/src/mage/cards/d/DiabolicIntent.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetControlledCreaturePermanent; @@ -21,7 +21,7 @@ public final class DiabolicIntent extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}"); // As an additional cost to cast Diabolic Intent, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Search your library for a card and put that card into your hand. Then shuffle your library. this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true)); diff --git a/Mage.Sets/src/mage/cards/d/DiamondValley.java b/Mage.Sets/src/mage/cards/d/DiamondValley.java index 08b5919c856..b280048c6ea 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondValley.java +++ b/Mage.Sets/src/mage/cards/d/DiamondValley.java @@ -13,7 +13,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -28,7 +28,7 @@ public final class DiamondValley extends CardImpl { Effect effect = new GainLifeEffect(SacrificeCostCreaturesToughness.instance); effect.setText("You gain life equal to the sacrificed creature's toughness"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java b/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java index 743f4244993..bce301e67b9 100644 --- a/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java +++ b/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -32,7 +32,7 @@ public final class DimirHouseGuard extends CardImpl { this.addAbility(FearAbility.getInstance()); // Sacrifice a creature: Regenerate Dimir House Guard. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); // Transmute {1}{B}{B} this.addAbility(new TransmuteAbility("{1}{B}{B}")); } diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java b/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java index c6625df4c06..7c85f8b0b1f 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -36,7 +36,7 @@ public final class DiscipleOfGriselbrand extends CardImpl { // {1}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscipleOfGriselbrandEffect(), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DivergentTransformations.java b/Mage.Sets/src/mage/cards/d/DivergentTransformations.java index a9dcaae9237..d092653d8b2 100644 --- a/Mage.Sets/src/mage/cards/d/DivergentTransformations.java +++ b/Mage.Sets/src/mage/cards/d/DivergentTransformations.java @@ -10,7 +10,6 @@ import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -29,7 +28,7 @@ public final class DivergentTransformations extends CardImpl { this.addAbility(new UndauntedAbility()); // Exile two target creatures. For each of those creatures, its controller reveals cards from the top of their library until they reveal a creature card, puts that card onto the battlefield, then shuffles the rest into their library. this.getSpellAbility().addEffect(new DivergentTransformationsEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(2, 2, FILTER_PERMANENT_CREATURES, false)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2)); } diff --git a/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java b/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java index fd0c1e4a1f7..9246eba3768 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -31,7 +31,7 @@ public final class DrogskolShieldmate extends CardImpl { // When Drogskol Shieldmate enters the battlefield, other creatures you control get +0/+1 until end of turn. this.addAbility(new EntersBattlefieldTriggeredAbility( - new BoostControlledEffect(0, 1, Duration.EndOfTurn, FILTER_PERMANENT_CREATURES, true), false)); + new BoostControlledEffect(0, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, true), false)); } private DrogskolShieldmate(final DrogskolShieldmate card) { diff --git a/Mage.Sets/src/mage/cards/d/DrossHopper.java b/Mage.Sets/src/mage/cards/d/DrossHopper.java index e6e7436661f..7c0b33439ac 100644 --- a/Mage.Sets/src/mage/cards/d/DrossHopper.java +++ b/Mage.Sets/src/mage/cards/d/DrossHopper.java @@ -13,7 +13,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -32,7 +32,7 @@ public final class DrossHopper extends CardImpl { this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private DrossHopper(final DrossHopper card) { diff --git a/Mage.Sets/src/mage/cards/d/DrownedRusalka.java b/Mage.Sets/src/mage/cards/d/DrownedRusalka.java index 29e753afce7..8f39f37789e 100644 --- a/Mage.Sets/src/mage/cards/d/DrownedRusalka.java +++ b/Mage.Sets/src/mage/cards/d/DrownedRusalka.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -32,7 +32,7 @@ public final class DrownedRusalka extends CardImpl { // {U}, Sacrifice a creature: Discard a card, then draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DiscardControllerEffect(1), new ManaCostsImpl<>("{U}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/EbonPraetor.java b/Mage.Sets/src/mage/cards/e/EbonPraetor.java index 36c71a96a76..abb2d3b0bbd 100644 --- a/Mage.Sets/src/mage/cards/e/EbonPraetor.java +++ b/Mage.Sets/src/mage/cards/e/EbonPraetor.java @@ -18,7 +18,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +47,7 @@ public final class EbonPraetor extends CardImpl { // Sacrifice a creature: Remove a -2/-2 counter from Ebon Praetor. If the sacrificed creature was a Thrull, put a +1/+0 counter on Ebon Praetor. Activate this ability only during your upkeep and only once each turn. Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.M2M2.createInstance()), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), 1, new IsStepCondition(PhaseStep.UPKEEP)); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), 1, new IsStepCondition(PhaseStep.UPKEEP)); ability.addEffect(new EbonPraetorEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java b/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java index 172b14731a6..5d06355e1dd 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java +++ b/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetControlledCreaturePermanent; @@ -42,7 +42,7 @@ public final class ElvishSkysweeper extends CardImpl { // {4}{G}, Sacrifice a creature: Destroy target creature with flying. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{4}{G}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java b/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java index e579e4134fc..31512115262 100644 --- a/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java +++ b/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java @@ -15,7 +15,7 @@ import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.TargetPermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -38,7 +38,7 @@ public final class EmblemOfTheWarmind extends CardImpl { // Creatures you control have haste. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES))); + new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES))); } private EmblemOfTheWarmind(final EmblemOfTheWarmind card) { diff --git a/Mage.Sets/src/mage/cards/e/EndemicPlague.java b/Mage.Sets/src/mage/cards/e/EndemicPlague.java index 417fdb27acc..9ad5c076d45 100644 --- a/Mage.Sets/src/mage/cards/e/EndemicPlague.java +++ b/Mage.Sets/src/mage/cards/e/EndemicPlague.java @@ -18,7 +18,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author TheElk801 @@ -29,7 +29,7 @@ public final class EndemicPlague extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}"); // As an additional cost to cast Endemic Plague, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Destroy all creatures that share a creature type with the sacrificed creature. They can't be regenerated. this.getSpellAbility().addEffect(new EndemicPlagueEffect()); diff --git a/Mage.Sets/src/mage/cards/e/Ensnare.java b/Mage.Sets/src/mage/cards/e/Ensnare.java index 4cc56c84066..9d7941661f8 100644 --- a/Mage.Sets/src/mage/cards/e/Ensnare.java +++ b/Mage.Sets/src/mage/cards/e/Ensnare.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -34,7 +34,7 @@ public final class Ensnare extends CardImpl { this.addAbility(ability); // Tap all creatures. - this.getSpellAbility().addEffect(new TapAllEffect(FILTER_PERMANENT_CREATURES)); + this.getSpellAbility().addEffect(new TapAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); } private Ensnare(final Ensnare card) { diff --git a/Mage.Sets/src/mage/cards/e/EtherealHaze.java b/Mage.Sets/src/mage/cards/e/EtherealHaze.java index 2278c41d9b7..0437f73c35b 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealHaze.java +++ b/Mage.Sets/src/mage/cards/e/EtherealHaze.java @@ -7,11 +7,10 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; +import mage.filter.StaticFilters; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * * @author LevelX @@ -23,7 +22,7 @@ public final class EtherealHaze extends CardImpl { this.subtype.add(SubType.ARCANE); // Prevent all damage that would be dealt by creatures this turn. - this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(FILTER_PERMANENT_CREATURES, Duration.EndOfTurn, false)); + this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn, false)); } diff --git a/Mage.Sets/src/mage/cards/e/Evacuation.java b/Mage.Sets/src/mage/cards/e/Evacuation.java index 54b05f6dd4a..9c8c786fbec 100644 --- a/Mage.Sets/src/mage/cards/e/Evacuation.java +++ b/Mage.Sets/src/mage/cards/e/Evacuation.java @@ -6,7 +6,7 @@ import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -18,7 +18,7 @@ public final class Evacuation extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{U}"); // Return all creatures to their owners' hands. - this.getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(FILTER_PERMANENT_CREATURES)); + this.getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); } private Evacuation(final Evacuation card) { diff --git a/Mage.Sets/src/mage/cards/e/EvolutionaryLeap.java b/Mage.Sets/src/mage/cards/e/EvolutionaryLeap.java index f7990030e27..c0ff7cd952d 100644 --- a/Mage.Sets/src/mage/cards/e/EvolutionaryLeap.java +++ b/Mage.Sets/src/mage/cards/e/EvolutionaryLeap.java @@ -14,8 +14,6 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author fireshoes */ @@ -28,7 +26,7 @@ public final class EvolutionaryLeap extends CardImpl { Ability ability = new SimpleActivatedAbility(new RevealCardsFromLibraryUntilEffect( StaticFilters.FILTER_CARD_CREATURE, PutCards.HAND, PutCards.BOTTOM_RANDOM ), new ManaCostsImpl<>("{G}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/EyeOfYawgmoth.java b/Mage.Sets/src/mage/cards/e/EyeOfYawgmoth.java index 85c47275aab..d8af4db2083 100644 --- a/Mage.Sets/src/mage/cards/e/EyeOfYawgmoth.java +++ b/Mage.Sets/src/mage/cards/e/EyeOfYawgmoth.java @@ -18,7 +18,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -36,7 +36,7 @@ public final class EyeOfYawgmoth extends CardImpl { // {3}, {T}, Sacrifice a creature: Reveal a number of cards from the top of your library equal to the sacrificed creature's power. Put one into your hand and exile the rest. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new EyeOfYawgmothEffect(), new GenericManaCost(3)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java b/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java index 6404d047dce..7d0d7fc0a8f 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java @@ -20,7 +20,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author North @@ -40,7 +40,7 @@ public final class FalkenrathAristocrat extends CardImpl { // If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Aristocrat. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addEffect(new FalkenrathAristocratEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java b/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java index 8ac7ef9a085..5bba56d4557 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java @@ -14,7 +14,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -36,7 +36,7 @@ public final class FalkenrathTorturer extends CardImpl { // If the sacrificed creature was a Human, put a +1/+1 counter on Falkenrath Torturer. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addEffect(new FalkenrathAristocratEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FallenAngel.java b/Mage.Sets/src/mage/cards/f/FallenAngel.java index 7a27b0ad000..0117a6ade04 100644 --- a/Mage.Sets/src/mage/cards/f/FallenAngel.java +++ b/Mage.Sets/src/mage/cards/f/FallenAngel.java @@ -13,7 +13,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -33,7 +33,7 @@ public final class FallenAngel extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Sacrifice a creature: Fallen Angel gets +2/+1 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private FallenAngel(final FallenAngel card) { diff --git a/Mage.Sets/src/mage/cards/f/FallenIdeal.java b/Mage.Sets/src/mage/cards/f/FallenIdeal.java index 3dd1e9d51d0..4011de1b78f 100644 --- a/Mage.Sets/src/mage/cards/f/FallenIdeal.java +++ b/Mage.Sets/src/mage/cards/f/FallenIdeal.java @@ -14,14 +14,13 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.target.TargetPermanent; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author fireshoes */ @@ -44,7 +43,7 @@ public final class FallenIdeal extends CardImpl { ability.addEffect(new GainAbilityAttachedEffect( new SimpleActivatedAbility( new BoostSourceEffect(2, 1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)) + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT) ), AttachmentType.AURA, Duration.WhileOnBattlefield ).setText("and \"Sacrifice a creature: This creature gets +2/+1 until end of turn.\"")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FanaticalDevotion.java b/Mage.Sets/src/mage/cards/f/FanaticalDevotion.java index bf735b27901..acce83e6df3 100644 --- a/Mage.Sets/src/mage/cards/f/FanaticalDevotion.java +++ b/Mage.Sets/src/mage/cards/f/FanaticalDevotion.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -26,7 +26,7 @@ public final class FanaticalDevotion extends CardImpl { // Sacrifice a creature: Regenerate target creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/Festival.java b/Mage.Sets/src/mage/cards/f/Festival.java index c67d6faf184..af1b49fd4e0 100644 --- a/Mage.Sets/src/mage/cards/f/Festival.java +++ b/Mage.Sets/src/mage/cards/f/Festival.java @@ -10,7 +10,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.PhaseStep; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -26,7 +26,7 @@ public final class Festival extends CardImpl { "Cast this spell only during an opponent's upkeep")); // Creatures can't attack this turn. - this.getSpellAbility().addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, FILTER_PERMANENT_CREATURES)); + this.getSpellAbility().addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES)); } diff --git a/Mage.Sets/src/mage/cards/f/FieryBombardment.java b/Mage.Sets/src/mage/cards/f/FieryBombardment.java index 42264514afd..c7abc4366c0 100644 --- a/Mage.Sets/src/mage/cards/f/FieryBombardment.java +++ b/Mage.Sets/src/mage/cards/f/FieryBombardment.java @@ -21,7 +21,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author jeffwadsworth @@ -34,7 +34,7 @@ public final class FieryBombardment extends CardImpl { // Chroma - {2}, Sacrifice a creature: Fiery Bombardment deals damage to any target equal to the number of red mana symbols in the sacrificed creature's mana cost. Effect effect = new FieryBombardmentEffect(); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); ability.setAbilityWord(AbilityWord.CHROMA); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FieryConclusion.java b/Mage.Sets/src/mage/cards/f/FieryConclusion.java index 528f3c2b475..a96106f3cbd 100644 --- a/Mage.Sets/src/mage/cards/f/FieryConclusion.java +++ b/Mage.Sets/src/mage/cards/f/FieryConclusion.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -21,7 +21,7 @@ public final class FieryConclusion extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); // As an additional cost to cast Fiery Conclusion, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Fiery Conclusion deals 5 damage to target creature. this.getSpellAbility().addEffect(new DamageTargetEffect(5)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/f/FinalStrike.java b/Mage.Sets/src/mage/cards/f/FinalStrike.java index 99c41cc9e1a..2a88e8e3607 100644 --- a/Mage.Sets/src/mage/cards/f/FinalStrike.java +++ b/Mage.Sets/src/mage/cards/f/FinalStrike.java @@ -9,7 +9,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponentOrPlaneswalker; @@ -23,7 +23,7 @@ public final class FinalStrike extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); // As an additional cost to cast Final Strike, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Final Strike deals damage to target opponent equal to the sacrificed creature's power. Effect effect = new DamageTargetEffect(SacrificeCostCreaturesPower.instance); diff --git a/Mage.Sets/src/mage/cards/f/FiremantleMage.java b/Mage.Sets/src/mage/cards/f/FiremantleMage.java index 6baef78378c..54d04e2afdd 100644 --- a/Mage.Sets/src/mage/cards/f/FiremantleMage.java +++ b/Mage.Sets/src/mage/cards/f/FiremantleMage.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -29,7 +29,7 @@ public final class FiremantleMage extends CardImpl { // Rally — Whenver Firemantle Mage or another Ally enters the battlefield under your control, creatures you control gain menace until end of turn. this.addAbility(new AllyEntersBattlefieldTriggeredAbility( - new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false)); + new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), false)); } private FiremantleMage(final FiremantleMage card) { diff --git a/Mage.Sets/src/mage/cards/f/FleshAllergy.java b/Mage.Sets/src/mage/cards/f/FleshAllergy.java index 88135b15c95..98a3e65984c 100644 --- a/Mage.Sets/src/mage/cards/f/FleshAllergy.java +++ b/Mage.Sets/src/mage/cards/f/FleshAllergy.java @@ -13,7 +13,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.WatcherScope; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; @@ -34,7 +34,7 @@ public final class FleshAllergy extends CardImpl { // As an additional cost to cast Flesh Allergy, sacrifice a creature. // Destroy target creature. Its controller loses life equal to the number of creatures that died this turn. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new FleshAllergyEffect()); diff --git a/Mage.Sets/src/mage/cards/f/FleshEaterImp.java b/Mage.Sets/src/mage/cards/f/FleshEaterImp.java index 2471dcd75b2..a0a0a435985 100644 --- a/Mage.Sets/src/mage/cards/f/FleshEaterImp.java +++ b/Mage.Sets/src/mage/cards/f/FleshEaterImp.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -33,7 +33,7 @@ public final class FleshEaterImp extends CardImpl { this.addAbility(FlyingAbility.getInstance()); this.addAbility(InfectAbility.getInstance()); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private FleshEaterImp(final FleshEaterImp card) { diff --git a/Mage.Sets/src/mage/cards/f/Fling.java b/Mage.Sets/src/mage/cards/f/Fling.java index 92fb843f8ba..cd4114a5c51 100644 --- a/Mage.Sets/src/mage/cards/f/Fling.java +++ b/Mage.Sets/src/mage/cards/f/Fling.java @@ -9,7 +9,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -24,7 +24,7 @@ public final class Fling extends CardImpl { Effect effect = new DamageTargetEffect(SacrificeCostCreaturesPower.instance); effect.setText("{this} deals damage equal to the sacrificed creature's power to any target"); - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.getSpellAbility().addTarget(new TargetAnyTarget()); this.getSpellAbility().addEffect(effect); } diff --git a/Mage.Sets/src/mage/cards/f/FlyingCraneTechnique.java b/Mage.Sets/src/mage/cards/f/FlyingCraneTechnique.java index 675ec8168f0..038fdd98c59 100644 --- a/Mage.Sets/src/mage/cards/f/FlyingCraneTechnique.java +++ b/Mage.Sets/src/mage/cards/f/FlyingCraneTechnique.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -23,11 +23,11 @@ public final class FlyingCraneTechnique extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{R}{W}"); // Untap all creatures you control. They gain flying and double strike until end of turn. - this.getSpellAbility().addEffect(new UntapAllControllerEffect(FILTER_PERMANENT_CREATURES)); - Effect effect = new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES); + this.getSpellAbility().addEffect(new UntapAllControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); + Effect effect = new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES); effect.setText("They gain flying"); this.getSpellAbility().addEffect(effect); - effect = new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES); + effect = new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES); effect.setText("and double strike until end of turn"); this.getSpellAbility().addEffect(effect); } diff --git a/Mage.Sets/src/mage/cards/f/FodderCannon.java b/Mage.Sets/src/mage/cards/f/FodderCannon.java index 5e6d7c3c860..3bae8fb9f05 100644 --- a/Mage.Sets/src/mage/cards/f/FodderCannon.java +++ b/Mage.Sets/src/mage/cards/f/FodderCannon.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -29,7 +29,7 @@ public final class FodderCannon extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(4), new ManaCostsImpl<>("{4}")); ability.addTarget(new TargetCreaturePermanent()); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/Forfend.java b/Mage.Sets/src/mage/cards/f/Forfend.java index b1c8d6cac1f..05021163b2c 100644 --- a/Mage.Sets/src/mage/cards/f/Forfend.java +++ b/Mage.Sets/src/mage/cards/f/Forfend.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -19,7 +19,7 @@ public final class Forfend extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}"); // Prevent all damage that would be dealt to creatures this turn. - this.getSpellAbility().addEffect(new PreventAllDamageToAllEffect(Duration.EndOfTurn, FILTER_PERMANENT_CREATURES)); + this.getSpellAbility().addEffect(new PreventAllDamageToAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES)); } private Forfend(final Forfend card) { diff --git a/Mage.Sets/src/mage/cards/g/GateToPhyrexia.java b/Mage.Sets/src/mage/cards/g/GateToPhyrexia.java index 8cbf4901bf1..bc05a702f47 100644 --- a/Mage.Sets/src/mage/cards/g/GateToPhyrexia.java +++ b/Mage.Sets/src/mage/cards/g/GateToPhyrexia.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -27,7 +27,7 @@ public final class GateToPhyrexia extends CardImpl { // Sacrifice a creature: Destroy target artifact. Activate this ability only during your upkeep and only once each turn. Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), 1, new IsStepCondition(PhaseStep.UPKEEP)); ability.addTarget(new TargetArtifactPermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java b/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java index 925427c904a..5ee4e8f6ce2 100644 --- a/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java +++ b/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java @@ -19,7 +19,7 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.permanent.token.SaprolingToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,7 +51,7 @@ public final class GhaveGuruOfSpores extends CardImpl { // {1}, Sacrifice a creature: Put a +1/+1 counter on target creature. Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new GenericManaCost(1)); - ability2.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability2.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability2.addTarget(new TargetCreaturePermanent()); this.addAbility(ability2); } diff --git a/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java b/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java index b530737d408..5f2520c1a37 100644 --- a/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java +++ b/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java @@ -15,13 +15,12 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author Loki */ @@ -46,9 +45,7 @@ public final class GhostCouncilOfOrzhova extends CardImpl { Zone.BATTLEFIELD, new ExileReturnBattlefieldOwnerNextEndStepSourceEffect(), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost( - new TargetControlledCreaturePermanent( - FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GiftOfDoom.java b/Mage.Sets/src/mage/cards/g/GiftOfDoom.java index 58e8e7e208d..9ecc9968e06 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfDoom.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfDoom.java @@ -28,8 +28,6 @@ import mage.target.targetadjustment.TargetAdjuster; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -100,7 +98,7 @@ class GiftOfDoomEffect extends OneShotEffect { } GiftOfDoomEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "attach it to a creature"; } diff --git a/Mage.Sets/src/mage/cards/g/GlimpseTheSunGod.java b/Mage.Sets/src/mage/cards/g/GlimpseTheSunGod.java index b8caf32fe75..6357e6e5788 100644 --- a/Mage.Sets/src/mage/cards/g/GlimpseTheSunGod.java +++ b/Mage.Sets/src/mage/cards/g/GlimpseTheSunGod.java @@ -7,14 +7,13 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.filter.StaticFilters; import mage.game.Game; import mage.target.common.TargetCreaturePermanent; import mage.target.targetadjustment.TargetAdjuster; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - /** * @author LevelX2 */ @@ -46,6 +45,6 @@ enum GlimpseTheSunGodAdjuster implements TargetAdjuster { public void adjustTargets(Ability ability, Game game) { ability.getTargets().clear(); int numberToTap = ability.getManaCostsToPay().getX(); - ability.addTarget(new TargetCreaturePermanent(numberToTap, numberToTap, FILTER_PERMANENT_CREATURES, false)); + ability.addTarget(new TargetCreaturePermanent(numberToTap, numberToTap, StaticFilters.FILTER_PERMANENT_CREATURES, false)); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/g/GnawingZombie.java b/Mage.Sets/src/mage/cards/g/GnawingZombie.java index 84bfcd43a3f..f45a68a5a1f 100644 --- a/Mage.Sets/src/mage/cards/g/GnawingZombie.java +++ b/Mage.Sets/src/mage/cards/g/GnawingZombie.java @@ -17,7 +17,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author LevelX2 @@ -35,7 +35,7 @@ public final class GnawingZombie extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}{B}")); ability.addEffect(new GainLifeEffect(1).concatBy("and")); ability.addTarget(new TargetPlayer()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java b/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java index c765a85134e..9f59f53d69d 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java +++ b/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java @@ -19,8 +19,6 @@ import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author Loki */ @@ -34,7 +32,7 @@ public final class GolgariGuildmage extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{4}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); ability = new SimpleActivatedAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{4}{G}")); diff --git a/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java b/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java index f59df7a5450..2965e384ad2 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java +++ b/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.TargetPlayer; import mage.target.common.TargetControlledCreaturePermanent; @@ -34,7 +34,7 @@ public final class GolgariRotwurm extends CardImpl { // {B}, Sacrifice a creature: Target player loses 1 life. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.B)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GrandMelee.java b/Mage.Sets/src/mage/cards/g/GrandMelee.java index 074046131ee..82550b1a17b 100644 --- a/Mage.Sets/src/mage/cards/g/GrandMelee.java +++ b/Mage.Sets/src/mage/cards/g/GrandMelee.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.watchers.common.AttackedThisTurnWatcher; /** @@ -23,11 +23,11 @@ public final class GrandMelee extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); // All creatures attack each turn if able. - Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new AttacksIfAbleAllEffect(FILTER_PERMANENT_CREATURES)); + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new AttacksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); this.addAbility(ability, new AttackedThisTurnWatcher()); // All creatures block each turn if able. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleAllEffect(FILTER_PERMANENT_CREATURES))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES))); } private GrandMelee(final GrandMelee card) { diff --git a/Mage.Sets/src/mage/cards/g/GreaterGood.java b/Mage.Sets/src/mage/cards/g/GreaterGood.java index 607ce80adea..e33d19d9af2 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterGood.java +++ b/Mage.Sets/src/mage/cards/g/GreaterGood.java @@ -13,7 +13,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +29,7 @@ public final class GreaterGood extends CardImpl { Effect effect = new DrawCardSourceControllerEffect(SacrificeCostCreaturesPower.instance); effect.setText("Draw cards equal to the sacrificed creature's power"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); effect = new DiscardControllerEffect(3); effect.setText(", then discard three cards"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/g/GrimBackwoods.java b/Mage.Sets/src/mage/cards/g/GrimBackwoods.java index 9bda3322c37..fb4c71e6b8d 100644 --- a/Mage.Sets/src/mage/cards/g/GrimBackwoods.java +++ b/Mage.Sets/src/mage/cards/g/GrimBackwoods.java @@ -13,7 +13,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -30,7 +30,7 @@ public final class GrimBackwoods extends CardImpl { // {2}{B}{G}, {tap}, Sacrifice a creature: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{B}{G}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GutlessGhoul.java b/Mage.Sets/src/mage/cards/g/GutlessGhoul.java index 2a3f402c4ae..40f1cde8cc7 100644 --- a/Mage.Sets/src/mage/cards/g/GutlessGhoul.java +++ b/Mage.Sets/src/mage/cards/g/GutlessGhoul.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -32,7 +32,7 @@ public final class GutlessGhoul extends CardImpl { // {1}, Sacrifice a creature: You gain 2 life. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new ManaCostsImpl<>("{1}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java index 7de49f99068..af297231681 100644 --- a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java +++ b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java @@ -16,7 +16,6 @@ import mage.constants.PhaseStep; import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.target.common.TargetCardInYourGraveyard; import mage.target.common.TargetControlledCreaturePermanent; @@ -37,7 +36,7 @@ public final class HellsCaretaker extends CardImpl { new ReturnFromGraveyardToBattlefieldTargetEffect(), new TapSourceCost(), new IsStepCondition(PhaseStep.UPKEEP), null); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HelmOfPossession.java b/Mage.Sets/src/mage/cards/h/HelmOfPossession.java index 5161c317965..b764dc62e3f 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfPossession.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfPossession.java @@ -14,13 +14,12 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author fireshoes */ @@ -38,7 +37,7 @@ public final class HelmOfPossession extends CardImpl { "gain control of target creature for as long as you control {this} and {this} remains tapped" ), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HiddenStockpile.java b/Mage.Sets/src/mage/cards/h/HiddenStockpile.java index 5708f76fab6..f5f8e147a96 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenStockpile.java +++ b/Mage.Sets/src/mage/cards/h/HiddenStockpile.java @@ -19,7 +19,7 @@ import mage.watchers.common.RevoltWatcher; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author LevelX2 @@ -38,7 +38,7 @@ public final class HiddenStockpile extends CardImpl { // {1}, Sacrifice a creature: Scry 1. Ability ability = new SimpleActivatedAbility(new ScryEffect(1, false), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HighMarket.java b/Mage.Sets/src/mage/cards/h/HighMarket.java index b9e34ec31bb..868ce1b2927 100644 --- a/Mage.Sets/src/mage/cards/h/HighMarket.java +++ b/Mage.Sets/src/mage/cards/h/HighMarket.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -28,7 +28,7 @@ public final class HighMarket extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {tap}, Sacrifice a creature: You gain 1 life. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HolyMantle.java b/Mage.Sets/src/mage/cards/h/HolyMantle.java index 1d2b3f47d17..13a805e3c80 100644 --- a/Mage.Sets/src/mage/cards/h/HolyMantle.java +++ b/Mage.Sets/src/mage/cards/h/HolyMantle.java @@ -17,7 +17,7 @@ import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -41,7 +41,7 @@ public final class HolyMantle extends CardImpl { // Enchanted creature gets +2/+2 and has protection from creatures. ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)); - ability.addEffect(new GainAbilityAttachedEffect(new ProtectionAbility(FILTER_PERMANENT_CREATURES), AttachmentType.AURA, Duration.WhileOnBattlefield)); + ability.addEffect(new GainAbilityAttachedEffect(new ProtectionAbility(StaticFilters.FILTER_PERMANENT_CREATURES), AttachmentType.AURA, Duration.WhileOnBattlefield)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HostileHostel.java b/Mage.Sets/src/mage/cards/h/HostileHostel.java index b0ceff1be5a..773128632dc 100644 --- a/Mage.Sets/src/mage/cards/h/HostileHostel.java +++ b/Mage.Sets/src/mage/cards/h/HostileHostel.java @@ -21,7 +21,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author LePwnerer @@ -39,7 +39,7 @@ public final class HostileHostel extends CardImpl { this.addAbility(new TransformAbility()); Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new HostileHostelEffect(), new ManaCostsImpl<>("{1}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java index 1c5c409990d..510a85f7caf 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java @@ -18,7 +18,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author fireshoes @@ -42,7 +42,7 @@ public final class IndulgentAristocrat extends CardImpl { // {2}, Sacrifice a creature: Put a +1/+1 counter on each Vampire you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), new GenericManaCost(2)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java index 889f199b8b5..f134f9e610f 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.TargetController; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -74,7 +74,7 @@ class IndulgentTormentorEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player opponent = game.getPlayer(source.getFirstTarget()); if (opponent != null) { - Cost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); + Cost cost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); if (cost.canPay(source, source, opponent.getId(), game) && opponent.chooseUse(outcome, "Sacrifice a creature to prevent the card draw?", source, game)) { if (cost.pay(source, game, source, opponent.getId(), false, null)) { diff --git a/Mage.Sets/src/mage/cards/i/InfernalPlunge.java b/Mage.Sets/src/mage/cards/i/InfernalPlunge.java index 845c5d59fbd..0902112087a 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalPlunge.java +++ b/Mage.Sets/src/mage/cards/i/InfernalPlunge.java @@ -8,7 +8,7 @@ import mage.abilities.effects.mana.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -21,7 +21,7 @@ public final class InfernalPlunge extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // As an additional cost to cast Infernal Plunge, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Add {R}{R}{R}. this.getSpellAbility().addEffect(new BasicManaEffect(Mana.RedMana(3))); } diff --git a/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java b/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java index bb69c8b6612..13ce0b879c1 100644 --- a/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java +++ b/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; -import static mage.Mana.BlackMana; +import mage.Mana; import mage.abilities.Ability; import mage.abilities.ActivationInfo; import mage.abilities.DelayedTriggeredAbility; @@ -33,7 +33,7 @@ public final class InitiatesOfTheEbonHand extends CardImpl { this.toughness = new MageInt(1); // {1}: Add {B}. If this ability has been activated four or more times this turn, sacrifice Initiates of the Ebon Hand at the beginning of the next end step. - SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, BlackMana(1), new ManaCostsImpl<>("{1}")); + SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new ManaCostsImpl<>("{1}")); ability.addEffect(new InitiatesOfTheEbonHandEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/IntruderAlarm.java b/Mage.Sets/src/mage/cards/i/IntruderAlarm.java index c2243e5d4b6..95d1a556102 100644 --- a/Mage.Sets/src/mage/cards/i/IntruderAlarm.java +++ b/Mage.Sets/src/mage/cards/i/IntruderAlarm.java @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.filter.StaticFilters; /** @@ -25,9 +24,9 @@ public final class IntruderAlarm extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); // Creatures don't untap during their controllers' untap steps. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, FILTER_PERMANENT_CREATURES))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_PERMANENT_CREATURES))); // Whenever a creature enters the battlefield, untap all creatures. - this.addAbility(new EntersBattlefieldAllTriggeredAbility(new UntapAllEffect(FILTER_PERMANENT_CREATURES), StaticFilters.FILTER_PERMANENT_A_CREATURE)); + this.addAbility(new EntersBattlefieldAllTriggeredAbility(new UntapAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES), StaticFilters.FILTER_PERMANENT_A_CREATURE)); } private IntruderAlarm(final IntruderAlarm card) { diff --git a/Mage.Sets/src/mage/cards/i/InvasionPlans.java b/Mage.Sets/src/mage/cards/i/InvasionPlans.java index d08a9c659eb..ce07be51df9 100644 --- a/Mage.Sets/src/mage/cards/i/InvasionPlans.java +++ b/Mage.Sets/src/mage/cards/i/InvasionPlans.java @@ -9,10 +9,10 @@ import mage.abilities.effects.common.combat.BlocksIfAbleAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.players.Player; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; /** * @@ -24,7 +24,7 @@ public final class InvasionPlans extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); // All creatures block each turn if able. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleAllEffect(FILTER_PERMANENT_CREATURES))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BlocksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES))); // The attacking player chooses how each creature blocks each turn. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InvasionPlansEffect())); } diff --git a/Mage.Sets/src/mage/cards/j/JaceWielderOfMysteries.java b/Mage.Sets/src/mage/cards/j/JaceWielderOfMysteries.java index 52ef5a9baa5..f0abbff5c4a 100644 --- a/Mage.Sets/src/mage/cards/j/JaceWielderOfMysteries.java +++ b/Mage.Sets/src/mage/cards/j/JaceWielderOfMysteries.java @@ -9,10 +9,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.SuperType; +import mage.constants.*; import mage.game.Game; import mage.game.events.GameEvent; import mage.players.Player; @@ -20,8 +17,6 @@ import mage.target.TargetPlayer; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -60,7 +55,7 @@ public final class JaceWielderOfMysteries extends CardImpl { class JaceWielderOfMysteriesContinuousEffect extends ReplacementEffectImpl { JaceWielderOfMysteriesContinuousEffect() { - super(Duration.WhileOnBattlefield, Benefit); + super(Duration.WhileOnBattlefield, Outcome.Benefit); staticText = "If you would draw a card while your library has no cards in it, you win the game instead"; } @@ -107,7 +102,7 @@ class JaceWielderOfMysteriesContinuousEffect extends ReplacementEffectImpl { class JaceWielderOfMysteriesEffect extends OneShotEffect { JaceWielderOfMysteriesEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Draw seven cards. Then if your library has no cards in it, you win the game."; } @@ -132,4 +127,4 @@ class JaceWielderOfMysteriesEffect extends OneShotEffect { } return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/j/JinxedIdol.java b/Mage.Sets/src/mage/cards/j/JinxedIdol.java index 4d1f5534b59..6802c97f959 100644 --- a/Mage.Sets/src/mage/cards/j/JinxedIdol.java +++ b/Mage.Sets/src/mage/cards/j/JinxedIdol.java @@ -11,7 +11,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; @@ -32,7 +32,7 @@ public final class JinxedIdol extends CardImpl { // Sacrifice a creature: Target opponent gains control of Jinxed Idol. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new JinxedIdolEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/j/JinxedRing.java b/Mage.Sets/src/mage/cards/j/JinxedRing.java index d8c54682b69..f79d0fcfd76 100644 --- a/Mage.Sets/src/mage/cards/j/JinxedRing.java +++ b/Mage.Sets/src/mage/cards/j/JinxedRing.java @@ -17,7 +17,7 @@ import mage.constants.Outcome; import mage.constants.SubLayer; import mage.constants.Zone; import mage.filter.FilterPermanent; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; @@ -45,7 +45,7 @@ public final class JinxedRing extends CardImpl { // Sacrifice a creature: Target opponent gains control of Jinxed Ring. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new JinxedRingEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/k/KaronasZealot.java b/Mage.Sets/src/mage/cards/k/KaronasZealot.java index 3bcea86f579..ab7fac0f35e 100644 --- a/Mage.Sets/src/mage/cards/k/KaronasZealot.java +++ b/Mage.Sets/src/mage/cards/k/KaronasZealot.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.TurnedFaceUpSourceTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import static mage.abilities.effects.RedirectionEffect.UsageType.ACCORDING_DURATION; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class KaronasZealot extends CardImpl { this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}{W}"))); // When Karona's Zealot is turned face up, all damage that would be dealt to it this turn is dealt to target creature instead. - Ability ability = new TurnedFaceUpSourceTriggeredAbility(new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, Integer.MAX_VALUE, ACCORDING_DURATION) + Ability ability = new TurnedFaceUpSourceTriggeredAbility(new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, Integer.MAX_VALUE, RedirectionEffect.UsageType.ACCORDING_DURATION) .setText("all damage that would be dealt to it this turn is dealt to target creature instead")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KazuulsFury.java b/Mage.Sets/src/mage/cards/k/KazuulsFury.java index 9e8913407cc..a60feef3118 100644 --- a/Mage.Sets/src/mage/cards/k/KazuulsFury.java +++ b/Mage.Sets/src/mage/cards/k/KazuulsFury.java @@ -14,7 +14,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author JayDi85 @@ -32,7 +32,7 @@ public final class KazuulsFury extends ModalDoubleFacedCard { // Instant // As an additional cost to cast this spell, sacrifice a creature. - this.getLeftHalfCard().getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getLeftHalfCard().getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Kazuul's Fury deals damage equal to the sacrificed creatures power to any target. this.getLeftHalfCard().getSpellAbility().addEffect(new DamageTargetEffect(SacrificeCostCreaturesPower.instance) diff --git a/Mage.Sets/src/mage/cards/k/KeldonNecropolis.java b/Mage.Sets/src/mage/cards/k/KeldonNecropolis.java index caeda37c263..cf46f501f5e 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonNecropolis.java +++ b/Mage.Sets/src/mage/cards/k/KeldonNecropolis.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -33,7 +33,7 @@ public final class KeldonNecropolis extends CardImpl { // {4}{R}, {T}, Sacrifice a creature: Keldon Necropolis deals 2 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{R}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java b/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java index 6d243cb217f..efff6a53cce 100644 --- a/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java +++ b/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java @@ -11,7 +11,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -40,7 +40,7 @@ public final class KiraGreatGlassSpinner extends CardImpl { effect.setText("counter that spell or ability"); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(new KiraGreatGlassSpinnerAbility(effect), Duration.WhileOnBattlefield, - FILTER_PERMANENT_CREATURES)), + StaticFilters.FILTER_PERMANENT_CREATURES)), new NumberOfTimesPermanentTargetedATurnWatcher()); } diff --git a/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java b/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java index cd9bc8d8278..3c23cee6d9a 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java @@ -10,7 +10,6 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.filter.common.FilterCreaturePermanent; /** @@ -38,7 +37,7 @@ public final class KolaghanTheStormsFury extends CardImpl { // Whenever a Dragon you control attacks, creatures you control get +1/+0 until end of turn. this.addAbility(new AttacksAllTriggeredAbility( - new BoostControlledEffect(1, 0, Duration.EndOfTurn, FILTER_PERMANENT_CREATURES, false), + new BoostControlledEffect(1, 0, Duration.EndOfTurn), false, filter, SetTargetPointer.NONE, false)); // Dash {3}{B}{R} diff --git a/Mage.Sets/src/mage/cards/k/KorBladewhirl.java b/Mage.Sets/src/mage/cards/k/KorBladewhirl.java index 574fe535fc1..784b0f4d79b 100644 --- a/Mage.Sets/src/mage/cards/k/KorBladewhirl.java +++ b/Mage.Sets/src/mage/cards/k/KorBladewhirl.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -29,7 +29,7 @@ public final class KorBladewhirl extends CardImpl { // Rally — Whenever Kor Bladewhirl or another Ally enters the battlefield under your control, creatures you control gain first strike until end of turn. this.addAbility(new AllyEntersBattlefieldTriggeredAbility( - new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false)); + new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), false)); } private KorBladewhirl(final KorBladewhirl card) { diff --git a/Mage.Sets/src/mage/cards/k/KrovikanHorror.java b/Mage.Sets/src/mage/cards/k/KrovikanHorror.java index f0795abacd1..1f7e96699a0 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanHorror.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanHorror.java @@ -18,7 +18,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -46,7 +46,7 @@ public final class KrovikanHorror extends CardImpl { // {1}, Sacrifice a creature: Krovikan Horror deals 1 damage to any target. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LancersEnKor.java b/Mage.Sets/src/mage/cards/l/LancersEnKor.java index df52da3c18f..0daf62a6299 100644 --- a/Mage.Sets/src/mage/cards/l/LancersEnKor.java +++ b/Mage.Sets/src/mage/cards/l/LancersEnKor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; @@ -34,7 +34,7 @@ public final class LancersEnKor extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // {0}: The next 1 damage that would be dealt to Lancers en-Kor this turn is dealt to target creature you control instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LaunchParty.java b/Mage.Sets/src/mage/cards/l/LaunchParty.java index 4143993e1cb..9ed12c97fd9 100644 --- a/Mage.Sets/src/mage/cards/l/LaunchParty.java +++ b/Mage.Sets/src/mage/cards/l/LaunchParty.java @@ -8,7 +8,7 @@ import mage.abilities.effects.common.LoseLifeTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -22,7 +22,7 @@ public final class LaunchParty extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B}"); // As an additional cost to cast Launch Party, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Destroy target creature. Its controller loses 2 life. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/l/LegacyOfTheBeloved.java b/Mage.Sets/src/mage/cards/l/LegacyOfTheBeloved.java index 74046ce6721..e0d7b47658a 100644 --- a/Mage.Sets/src/mage/cards/l/LegacyOfTheBeloved.java +++ b/Mage.Sets/src/mage/cards/l/LegacyOfTheBeloved.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ManaValuePredicate; import mage.game.Game; @@ -33,7 +33,7 @@ public final class LegacyOfTheBeloved extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{G}"); // As an additional cost to cast Legacy of the Beloved, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Search you library for up to two creatures cards that each have a lower converted mana cost that sacrificied creature's converted mana cost, reveal them and put them onto the battlefield, then shuffle you library. this.getSpellAbility().addEffect(new LegacyOfTheBelovedEffect()); diff --git a/Mage.Sets/src/mage/cards/l/LifeChisel.java b/Mage.Sets/src/mage/cards/l/LifeChisel.java index 6f5bb51248a..d73ceaa5b4b 100644 --- a/Mage.Sets/src/mage/cards/l/LifeChisel.java +++ b/Mage.Sets/src/mage/cards/l/LifeChisel.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.PhaseStep; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -32,9 +32,7 @@ public final class LifeChisel extends CardImpl { Ability ability = new ConditionalActivatedAbility( Zone.BATTLEFIELD, new LifeChiselEffect(), - new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - ), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new IsStepCondition(PhaseStep.UPKEEP), null ); diff --git a/Mage.Sets/src/mage/cards/l/LifesLegacy.java b/Mage.Sets/src/mage/cards/l/LifesLegacy.java index a10277da4ec..3cc6146c379 100644 --- a/Mage.Sets/src/mage/cards/l/LifesLegacy.java +++ b/Mage.Sets/src/mage/cards/l/LifesLegacy.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -25,7 +25,7 @@ public final class LifesLegacy extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}"); // As an additional cost to cast Life's Legacy, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Draw cards equal to the sacrificed creature's power. this.getSpellAbility().addEffect(new LifesLegacyEffect()); diff --git a/Mage.Sets/src/mage/cards/l/LumberingBattlement.java b/Mage.Sets/src/mage/cards/l/LumberingBattlement.java index 5f370aa09ed..05320c9c291 100644 --- a/Mage.Sets/src/mage/cards/l/LumberingBattlement.java +++ b/Mage.Sets/src/mage/cards/l/LumberingBattlement.java @@ -33,8 +33,6 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -82,7 +80,7 @@ class LumberingBattlementEffect extends OneShotEffect { } LumberingBattlementEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "exile any number of other nontoken creatures you control until it leaves the battlefield"; } diff --git a/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java b/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java index cc7216a81c9..3a5d4e69a53 100644 --- a/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java +++ b/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java @@ -21,7 +21,7 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; @@ -62,7 +62,7 @@ public final class LyzoldaTheBloodWitch extends CardImpl { new SacrificedWasCondition(blackFilter), "Draw a card if the sacrificed creature was black"); ability.addEffect(effect); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java index 222e7cdf944..febddfae388 100644 --- a/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java +++ b/Mage.Sets/src/mage/cards/m/MalevolentAwakening.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; import mage.target.common.TargetControlledCreaturePermanent; @@ -35,7 +35,7 @@ public final class MalevolentAwakening extends CardImpl { // {1}{B}{B}, Sacrifice a creature: Return target creature card from your graveyard to your hand. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{B}{B}")); ability.addTarget(new TargetCardInYourGraveyard(filter)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/Marjhan.java b/Mage.Sets/src/mage/cards/m/Marjhan.java index ae853b9e34a..81c532bf0b1 100644 --- a/Mage.Sets/src/mage/cards/m/Marjhan.java +++ b/Mage.Sets/src/mage/cards/m/Marjhan.java @@ -22,7 +22,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterAttackingCreature; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; @@ -54,7 +54,7 @@ public final class Marjhan extends CardImpl { // {U}{U}, Sacrifice a creature: Untap Marjhan. Activate this ability only during your upkeep. Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}"), new IsStepCondition(PhaseStep.UPKEEP), null); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); // Marjhan can't attack unless defending player controls an Island. diff --git a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java index 6be023f56b9..d76d6f200f5 100644 --- a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java +++ b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -32,7 +32,7 @@ public final class MartyredRusalka extends CardImpl { // {W}, Sacrifice a creature: Target creature can't attack this turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MartyrsCause.java b/Mage.Sets/src/mage/cards/m/MartyrsCause.java index e7c609fc675..ca811a8e76c 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrsCause.java +++ b/Mage.Sets/src/mage/cards/m/MartyrsCause.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -26,7 +26,7 @@ public final class MartyrsCause extends CardImpl { // Sacrifice a creature: The next time a source of your choice would deal damage to any target this turn, prevent that damage. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToTargetEffect(Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java b/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java index 736a43f46b3..a9d50591ad2 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfTheMimic.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; import mage.filter.predicate.permanent.TokenPredicate; @@ -37,7 +37,7 @@ public final class MaskOfTheMimic extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}"); // As an additional cost to cast Mask of the Mimic, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Search your library for a card with the same name as target nontoken creature and put that card onto the battlefield. Then shuffle your library. this.getSpellAbility().addEffect(new MaskOfTheMimicEffect()); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java index 113b096b3a6..56cb3da50e8 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; /** * @@ -31,7 +30,7 @@ public final class MasterOfPearls extends CardImpl { // Morph {3}{W}{W} this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}{W}"))); // When Master of Pearls is turned face up, creatures you control get +2/+2 until end of turn. - this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new BoostControlledEffect(2, 2, Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); + this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new BoostControlledEffect(2, 2, Duration.EndOfTurn))); } private MasterOfPearls(final MasterOfPearls card) { diff --git a/Mage.Sets/src/mage/cards/m/MedomaisProphecy.java b/Mage.Sets/src/mage/cards/m/MedomaisProphecy.java index 4424a709475..1b68bfba3fa 100644 --- a/Mage.Sets/src/mage/cards/m/MedomaisProphecy.java +++ b/Mage.Sets/src/mage/cards/m/MedomaisProphecy.java @@ -18,8 +18,6 @@ import mage.players.Player; import java.util.UUID; -import static mage.abilities.effects.common.ChooseACardNameEffect.TypeOfName.ALL; - /** * @author TheElk801 */ @@ -37,7 +35,7 @@ public final class MedomaisProphecy extends CardImpl { sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I, new ScryEffect(2)); // II — Choose a card name. - sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II, new ChooseACardNameEffect(ALL)); + sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II, new ChooseACardNameEffect(ChooseACardNameEffect.TypeOfName.ALL)); // III — When you cast a spell with the chosen card name for the first time this turn, draw two cards. sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, new MedomaisProphecyTriggerEffect()); @@ -151,4 +149,4 @@ class MedomaisProphecyLookEffect extends OneShotEffect { )); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/m/Metamorphosis.java b/Mage.Sets/src/mage/cards/m/Metamorphosis.java index b834fde58b3..d8a3300b79e 100644 --- a/Mage.Sets/src/mage/cards/m/Metamorphosis.java +++ b/Mage.Sets/src/mage/cards/m/Metamorphosis.java @@ -14,7 +14,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.target.common.TargetControlledCreaturePermanent; @@ -28,7 +28,7 @@ public final class Metamorphosis extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}"); // As an additional cost to cast Metamorphosis, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.getSpellAbility().addEffect(new MetamorphosisEffect()); // Add X mana of any one color, where X is one plus the sacrificed creature's converted mana cost. Spend this mana only to cast creature spells. } diff --git a/Mage.Sets/src/mage/cards/m/MilaCraftyCompanion.java b/Mage.Sets/src/mage/cards/m/MilaCraftyCompanion.java index d61185b90c8..a5283caa4ce 100644 --- a/Mage.Sets/src/mage/cards/m/MilaCraftyCompanion.java +++ b/Mage.Sets/src/mage/cards/m/MilaCraftyCompanion.java @@ -30,8 +30,6 @@ import mage.target.targetpointer.FixedTarget; import java.util.Objects; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -133,7 +131,7 @@ class MilaCraftyCompanionTriggeredAbility extends TriggeredAbilityImpl { class LukkaWaywardBonderDiscardEffect extends OneShotEffect { LukkaWaywardBonderDiscardEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "you may discard a card. If you do, draw a card. " + "If a creature card was discarded this way, draw two cards instead"; } diff --git a/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java b/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java index 5bf05095e43..902bcd4703a 100644 --- a/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java +++ b/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -36,7 +36,7 @@ public final class MillenniumFalcon extends CardImpl { this.addAbility(SpaceflightAbility.getInstance()); // When Millennium Falcon enters the battlefield, creatures you control gain hexproof until end of turn. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES))); } private MillenniumFalcon(final MillenniumFalcon card) { diff --git a/Mage.Sets/src/mage/cards/m/MindSlash.java b/Mage.Sets/src/mage/cards/m/MindSlash.java index 59f7de3963e..230bd3e6a7f 100644 --- a/Mage.Sets/src/mage/cards/m/MindSlash.java +++ b/Mage.Sets/src/mage/cards/m/MindSlash.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; @@ -27,7 +27,7 @@ public final class MindSlash extends CardImpl { // {B}, Sacrifice a creature: Target opponent reveals their hand. You choose a card from it. // That player discards that card. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardCardYouChooseTargetEffect(), new ManaCostsImpl<>("{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MindSwords.java b/Mage.Sets/src/mage/cards/m/MindSwords.java index 3c1983797f6..f9565ac6666 100644 --- a/Mage.Sets/src/mage/cards/m/MindSwords.java +++ b/Mage.Sets/src/mage/cards/m/MindSwords.java @@ -18,7 +18,7 @@ import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterLandPermanent; import mage.game.Game; import mage.players.Player; @@ -43,7 +43,7 @@ public final class MindSwords extends CardImpl { // If you control a Swamp, you may sacrifice a creature rather than pay Mind Swords's mana cost. this.addAbility(new AlternativeCostSourceAbility( - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new PermanentsOnTheBattlefieldCondition(filterSwamp), null )); diff --git a/Mage.Sets/src/mage/cards/m/MirenTheMoaningWell.java b/Mage.Sets/src/mage/cards/m/MirenTheMoaningWell.java index e53432f2b02..d1bb2ab8470 100644 --- a/Mage.Sets/src/mage/cards/m/MirenTheMoaningWell.java +++ b/Mage.Sets/src/mage/cards/m/MirenTheMoaningWell.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -37,7 +37,7 @@ public final class MirenTheMoaningWell extends CardImpl { // {3}, {tap}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MirenTheMoaningWellEffect(), new GenericManaCost(3)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MomentousFall.java b/Mage.Sets/src/mage/cards/m/MomentousFall.java index 0970013ca17..65169e59fda 100644 --- a/Mage.Sets/src/mage/cards/m/MomentousFall.java +++ b/Mage.Sets/src/mage/cards/m/MomentousFall.java @@ -10,7 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -25,7 +25,7 @@ public final class MomentousFall extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}{G}"); // As an additional cost to cast Momentous Fall, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // You draw cards equal to the sacrificed creature's power, then you gain life equal to its toughness. this.getSpellAbility().addEffect(new MomentousFallEffect()); diff --git a/Mage.Sets/src/mage/cards/m/MutualDestruction.java b/Mage.Sets/src/mage/cards/m/MutualDestruction.java index 8d8aef30951..5b091f830da 100644 --- a/Mage.Sets/src/mage/cards/m/MutualDestruction.java +++ b/Mage.Sets/src/mage/cards/m/MutualDestruction.java @@ -14,6 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -22,8 +23,6 @@ import mage.target.common.TargetControlledPermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author TheElk801 */ @@ -48,9 +47,7 @@ public final class MutualDestruction extends CardImpl { )).setRuleAtTheTop(true)); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost( - new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - )); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Destroy target creature. this.getSpellAbility().addEffect(new DestroyTargetEffect("Destroy target creature")); diff --git a/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java b/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java index fdd3371ca83..44a48565bbf 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java @@ -20,8 +20,6 @@ import mage.target.common.TargetCreatureOrPlaneswalkerAmount; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -58,7 +56,7 @@ public final class MythosOfVadrok extends CardImpl { class MythosOfVadrokEffect extends OneShotEffect { MythosOfVadrokEffect() { - super(Benefit); + super(Outcome.Benefit); } private MythosOfVadrokEffect(final MythosOfVadrokEffect effect) { diff --git a/Mage.Sets/src/mage/cards/n/NantukoHusk.java b/Mage.Sets/src/mage/cards/n/NantukoHusk.java index aec0d96655d..627ceefe5d4 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoHusk.java +++ b/Mage.Sets/src/mage/cards/n/NantukoHusk.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -31,7 +31,7 @@ public final class NantukoHusk extends CardImpl { // Sacrifice a creature: Nantuko Husk gets +2/+2 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private NantukoHusk(final NantukoHusk card) { diff --git a/Mage.Sets/src/mage/cards/n/NayaCharm.java b/Mage.Sets/src/mage/cards/n/NayaCharm.java index 70731cd31c9..6d1528b8ba4 100644 --- a/Mage.Sets/src/mage/cards/n/NayaCharm.java +++ b/Mage.Sets/src/mage/cards/n/NayaCharm.java @@ -9,7 +9,7 @@ import mage.abilities.effects.common.TapAllTargetPlayerControlsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.TargetPlayer; import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCreaturePermanent; @@ -31,7 +31,7 @@ public final class NayaCharm extends CardImpl { mode.addTarget(new TargetCardInGraveyard()); this.getSpellAbility().addMode(mode); // or tap all creatures target player controls. - mode = new Mode(new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES)); + mode = new Mode(new TapAllTargetPlayerControlsEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/n/Necrosavant.java b/Mage.Sets/src/mage/cards/n/Necrosavant.java index 41395137e29..caa100a0873 100644 --- a/Mage.Sets/src/mage/cards/n/Necrosavant.java +++ b/Mage.Sets/src/mage/cards/n/Necrosavant.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.PhaseStep; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -39,7 +39,7 @@ public final class Necrosavant extends CardImpl { new IsStepCondition(PhaseStep.UPKEEP), null ); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java b/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java index 2be42984e5e..88741cbcdd7 100644 --- a/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java +++ b/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java @@ -17,7 +17,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; /** @@ -41,7 +41,7 @@ public final class NephaliaMoondrakes extends CardImpl { this.addAbility(ability); // {4}{U}{U}, Exile Nephalia Moondrakes from your graveyard: Creatures you control gain flying until end of turn. - ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{4}{U}{U}")); + ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), new ManaCostsImpl<>("{4}{U}{U}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java b/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java index a19463b067c..46be63d28f0 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java +++ b/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.TargetPlayer; import mage.target.common.TargetControlledCreaturePermanent; @@ -32,7 +32,7 @@ public final class NezumiBoneReader extends CardImpl { this.toughness = new MageInt(1); // {B}, Sacrifice a creature: Target player discards a card. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addCost(new ManaCostsImpl<>("{B}")); ability.addTarget(new TargetPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NimShambler.java b/Mage.Sets/src/mage/cards/n/NimShambler.java index 9744c8fb071..675c6d905db 100644 --- a/Mage.Sets/src/mage/cards/n/NimShambler.java +++ b/Mage.Sets/src/mage/cards/n/NimShambler.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -39,7 +39,7 @@ public final class NimShambler extends CardImpl { this.toughness = new MageInt(1); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), StaticValue.get(0), Duration.WhileOnBattlefield))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private NimShambler(final NimShambler card) { diff --git a/Mage.Sets/src/mage/cards/n/NissaOfShadowedBoughs.java b/Mage.Sets/src/mage/cards/n/NissaOfShadowedBoughs.java index 2f40cf78cbb..69685415036 100644 --- a/Mage.Sets/src/mage/cards/n/NissaOfShadowedBoughs.java +++ b/Mage.Sets/src/mage/cards/n/NissaOfShadowedBoughs.java @@ -26,8 +26,6 @@ import mage.target.TargetPermanent; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -76,7 +74,7 @@ public final class NissaOfShadowedBoughs extends CardImpl { class NissaOfShadowedBoughsLandEffect extends OneShotEffect { NissaOfShadowedBoughsLandEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "You may have it become a 3/3 Elemental creature with haste and menace until end of turn. It's still a land."; } diff --git a/Mage.Sets/src/mage/cards/n/NomadsEnKor.java b/Mage.Sets/src/mage/cards/n/NomadsEnKor.java index c89f243533c..43b3cd57d3b 100644 --- a/Mage.Sets/src/mage/cards/n/NomadsEnKor.java +++ b/Mage.Sets/src/mage/cards/n/NomadsEnKor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class NomadsEnKor extends CardImpl { this.toughness = new MageInt(1); // {0}: The next 1 damage that would be dealt to Nomads en-Kor this turn is dealt to target creature you control instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OgreMarauder.java b/Mage.Sets/src/mage/cards/o/OgreMarauder.java index b81f2792598..c5e47044df9 100644 --- a/Mage.Sets/src/mage/cards/o/OgreMarauder.java +++ b/Mage.Sets/src/mage/cards/o/OgreMarauder.java @@ -18,7 +18,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -73,7 +73,7 @@ class OgreMarauderEffect extends OneShotEffect { MageObject sourceObject = game.getObject(source); Player defender = game.getPlayer(defendingPlayerId); if (defender != null && sourceObject != null) { - Cost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); + Cost cost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); boolean paid = false; if (cost.canPay(source, source, defendingPlayerId, game) && defender.chooseUse(Outcome.LoseAbility, "Sacrifice a creature to prevent " diff --git a/Mage.Sets/src/mage/cards/o/OnduChampion.java b/Mage.Sets/src/mage/cards/o/OnduChampion.java index 01c8dc1344b..69cb3cbd333 100644 --- a/Mage.Sets/src/mage/cards/o/OnduChampion.java +++ b/Mage.Sets/src/mage/cards/o/OnduChampion.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -29,7 +29,7 @@ public final class OnduChampion extends CardImpl { // Rally — Whenever Ondu Champion or another Ally enters the battlefield under your control, creatures you control gain trample until end of turn. this.addAbility(new AllyEntersBattlefieldTriggeredAbility( - new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), false)); + new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), false)); } private OnduChampion(final OnduChampion card) { diff --git a/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java b/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java index 51bff1b4e32..ee8ee7e0441 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java +++ b/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -32,7 +32,7 @@ public final class OrcishBloodpainter extends CardImpl { // {tap}, Sacrifice a creature: Orcish Bloodpainter deals 1 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OrimsChant.java b/Mage.Sets/src/mage/cards/o/OrimsChant.java index 9ae53357f7f..03c85a7ce34 100644 --- a/Mage.Sets/src/mage/cards/o/OrimsChant.java +++ b/Mage.Sets/src/mage/cards/o/OrimsChant.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.players.Player; @@ -97,7 +97,7 @@ class OrimsChantEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null && KickedCondition.ONCE.apply(game, source)) { - game.addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), source); + game.addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES), source); return true; } return false; diff --git a/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java b/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java index 31acd5b828f..4fc0926c8db 100644 --- a/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java +++ b/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java @@ -49,7 +49,7 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.permanent.token.SnakeToken; import mage.game.permanent.token.TokenImpl; @@ -107,7 +107,7 @@ class ShidakoBroodmistress extends TokenImpl { Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OutriderEnKor.java b/Mage.Sets/src/mage/cards/o/OutriderEnKor.java index acea472aa15..c066614c484 100644 --- a/Mage.Sets/src/mage/cards/o/OutriderEnKor.java +++ b/Mage.Sets/src/mage/cards/o/OutriderEnKor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; @@ -35,7 +35,7 @@ public final class OutriderEnKor extends CardImpl { this.addAbility(new FlankingAbility()); // {0}: The next 1 damage that would be dealt to Outrider en-Kor this turn is dealt to target creature you control instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PendantOfProsperity.java b/Mage.Sets/src/mage/cards/p/PendantOfProsperity.java index d090bb47d27..094c0d59b54 100644 --- a/Mage.Sets/src/mage/cards/p/PendantOfProsperity.java +++ b/Mage.Sets/src/mage/cards/p/PendantOfProsperity.java @@ -13,6 +13,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -22,8 +23,6 @@ import mage.target.common.TargetCardInHand; import java.util.UUID; import mage.abilities.effects.common.EntersBattlefieldUnderControlOfOpponentOfChoiceEffect; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -57,7 +56,7 @@ class PendantOfProsperityEffect extends OneShotEffect { private static final Effect effect2 = new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A); PendantOfProsperityEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Draw a card, then you may put a land card from your hand onto the battlefield. " + "{this}'s owner draws a card, then that player may put a land card from their hand onto the battlefield."; } diff --git a/Mage.Sets/src/mage/cards/p/PendrellMists.java b/Mage.Sets/src/mage/cards/p/PendrellMists.java index 786a5a0183e..b2900e0378c 100644 --- a/Mage.Sets/src/mage/cards/p/PendrellMists.java +++ b/Mage.Sets/src/mage/cards/p/PendrellMists.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -27,7 +27,7 @@ public final class PendrellMists extends CardImpl { // All creatures have "At the beginning of your upkeep, sacrifice this creature unless you pay {1}." Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)), TargetController.YOU, false); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES, + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, "All creatures have \"At the beginning of your upkeep, sacrifice this creature unless you pay {1}"))); } diff --git a/Mage.Sets/src/mage/cards/p/PerilousForays.java b/Mage.Sets/src/mage/cards/p/PerilousForays.java index f87106b80bd..b4744553a48 100644 --- a/Mage.Sets/src/mage/cards/p/PerilousForays.java +++ b/Mage.Sets/src/mage/cards/p/PerilousForays.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterLandCard; import mage.filter.predicate.Predicates; import mage.target.common.TargetCardInLibrary; @@ -42,7 +42,7 @@ public final class PerilousForays extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true), new ManaCostsImpl<>("{1}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java b/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java index f7cfd84feb2..fabb427ce50 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -33,7 +33,7 @@ public final class PhyrexianBroodlings extends CardImpl { // {1}, Sacrifice a creature: Put a +1/+1 counter on Phyrexian Broodlings. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java b/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java index b8334fd6cb4..9b565ce12b4 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java @@ -12,7 +12,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +29,7 @@ public final class PhyrexianGhoul extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private PhyrexianGhoul(final PhyrexianGhoul card) { diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java b/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java index 6c4d05ec56a..db3d5263a72 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -43,7 +43,7 @@ public final class PhyrexianPlaguelord extends CardImpl { // Sacrifice a creature: Target creature gets -1/-1 until end of turn. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java b/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java index ead87ffa50b..054794266b5 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java @@ -10,7 +10,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +29,7 @@ public final class PhyrexianSoulgorger extends CardImpl { // Cumulative upkeep-Sacrifice a creature. this.addAbility(new CumulativeUpkeepAbility( - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private PhyrexianSoulgorger(final PhyrexianSoulgorger card) { diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianTower.java b/Mage.Sets/src/mage/cards/p/PhyrexianTower.java index 9945638f5a5..8a45ab8952c 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianTower.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianTower.java @@ -13,7 +13,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -31,7 +31,7 @@ public final class PhyrexianTower extends CardImpl { // {T}, Sacrifice a creature: Add {B}{B}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianVault.java b/Mage.Sets/src/mage/cards/p/PhyrexianVault.java index ffaaefd7e38..2eb032fe240 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianVault.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianVault.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -25,7 +25,7 @@ public final class PhyrexianVault extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java b/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java index d87c4fef861..b8db0e51a40 100644 --- a/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java +++ b/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java @@ -11,7 +11,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +28,7 @@ public final class PlaguedRusalka extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.B)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java index 0e8605cf1b5..9f981ef4094 100644 --- a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java +++ b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java @@ -15,7 +15,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author Loki @@ -32,7 +32,7 @@ public final class PlaguemawBeast extends CardImpl { // {T}, Sacrifice a creature: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.) Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/Plaxmanta.java b/Mage.Sets/src/mage/cards/p/Plaxmanta.java index 9080dc9550c..019d36f79ba 100644 --- a/Mage.Sets/src/mage/cards/p/Plaxmanta.java +++ b/Mage.Sets/src/mage/cards/p/Plaxmanta.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -34,7 +34,7 @@ public final class Plaxmanta extends CardImpl { // When Plaxmanta enters the battlefield, creatures you control gain shroud until end of turn. this.addAbility(new EntersBattlefieldTriggeredAbility( - new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); + new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES))); // When Plaxmanta enters the battlefield, sacrifice it unless {G} was spent to cast it. this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(ManaWasSpentCondition.GREEN), false)); diff --git a/Mage.Sets/src/mage/cards/p/PrimalGrowth.java b/Mage.Sets/src/mage/cards/p/PrimalGrowth.java index 4bcee892a62..f47755c5afa 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalGrowth.java +++ b/Mage.Sets/src/mage/cards/p/PrimalGrowth.java @@ -14,8 +14,6 @@ import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author fireshoes */ @@ -25,7 +23,7 @@ public final class PrimalGrowth extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}"); // Kicker-Sacrifice a creature. - this.addAbility(new KickerAbility(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + this.addAbility(new KickerAbility(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); // Search your library for a basic land card, put that card onto the battlefield, then shuffle your library. // If Primal Growth was kicked, instead search your library for up to two basic land cards, put them onto the battlefield, then shuffle your library. diff --git a/Mage.Sets/src/mage/cards/q/QuagmireDruid.java b/Mage.Sets/src/mage/cards/q/QuagmireDruid.java index e5d9335b7a9..e22f44bd777 100644 --- a/Mage.Sets/src/mage/cards/q/QuagmireDruid.java +++ b/Mage.Sets/src/mage/cards/q/QuagmireDruid.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetEnchantmentPermanent; @@ -36,7 +36,7 @@ public final class QuagmireDruid extends CardImpl { // {G}, {T}, Sacrifice a creature: Destroy target enchantment. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(false), new ColoredManaCost(ColoredManaSymbol.G)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetEnchantmentPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RadiantDestiny.java b/Mage.Sets/src/mage/cards/r/RadiantDestiny.java index 7b90a359c10..61d9eaace4e 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantDestiny.java +++ b/Mage.Sets/src/mage/cards/r/RadiantDestiny.java @@ -15,12 +15,11 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES_CONTROLLED; - /** * @author LevelX2 */ @@ -44,7 +43,7 @@ public final class RadiantDestiny extends CardImpl { // Creatures you control of the chosen type get +1/+1. As long as you have the city's blessing, they also have vigilance. Ability ability = new SimpleStaticAbility(new BoostAllOfChosenSubtypeEffect(1, 1, Duration.WhileOnBattlefield, filter, false)); ContinuousEffect effect = new ConditionalContinuousEffect( - new GainAbilityAllOfChosenSubtypeEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES_CONTROLLED), + new GainAbilityAllOfChosenSubtypeEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES_CONTROLLED), CitysBlessingCondition.instance, "As long as you have the city's blessing, they also have vigilance."); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java index 54efc9323d5..b176603f714 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java +++ b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java @@ -27,7 +27,7 @@ import mage.target.targetpointer.FixedTarget; import java.util.UUID; import mage.abilities.costs.mana.GenericManaCost; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author TheElk801 @@ -130,7 +130,7 @@ class RakdosRiteknifeEffect extends ContinuousEffectImpl { .setTargetPointer(new FixedTarget(permanent, game)), new TapSourceCost() ); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); return ability; } } diff --git a/Mage.Sets/src/mage/cards/r/ReapWhatIsSown.java b/Mage.Sets/src/mage/cards/r/ReapWhatIsSown.java index d9c843d60fe..4a615e2dcdd 100644 --- a/Mage.Sets/src/mage/cards/r/ReapWhatIsSown.java +++ b/Mage.Sets/src/mage/cards/r/ReapWhatIsSown.java @@ -8,7 +8,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.target.common.TargetCreaturePermanent; /** @@ -24,7 +23,7 @@ public final class ReapWhatIsSown extends CardImpl { Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); effect.setText("Put a +1/+1 counter on each of up to three target creatures"); this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 3, FILTER_PERMANENT_CREATURES, false)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 3)); } private ReapWhatIsSown(final ReapWhatIsSown card) { diff --git a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java index edec93a247e..cd9c97039b9 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java +++ b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java @@ -16,7 +16,7 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; @@ -38,7 +38,7 @@ public final class ReaperOfFlightMoonsilver extends CardImpl { // Activate this ability only if there are four or more card types among cards in your graveyard. this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 1, Duration.EndOfTurn), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), DeliriumCondition.instance, "Delirium — Sacrifice another creature: Reaper of Flight Moonsilver gets +2/+1 until end of turn. " + "Activate only if there are four or more card types among cards in your graveyard.") diff --git a/Mage.Sets/src/mage/cards/r/RecklessAbandon.java b/Mage.Sets/src/mage/cards/r/RecklessAbandon.java index bce44828c8c..252636dc1a3 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessAbandon.java +++ b/Mage.Sets/src/mage/cards/r/RecklessAbandon.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -21,7 +21,7 @@ public final class RecklessAbandon extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // As an additional cost to cast Reckless Abandon, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Reckless Abandon deals 4 damage to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(4)); diff --git a/Mage.Sets/src/mage/cards/r/RickSteadfastLeader.java b/Mage.Sets/src/mage/cards/r/RickSteadfastLeader.java index f644037f4e2..e3a040ccc3f 100644 --- a/Mage.Sets/src/mage/cards/r/RickSteadfastLeader.java +++ b/Mage.Sets/src/mage/cards/r/RickSteadfastLeader.java @@ -30,8 +30,6 @@ import java.util.LinkedHashSet; import java.util.Set; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -87,7 +85,7 @@ class RickSteadfastLeaderChooseEffect extends OneShotEffect { } RickSteadfastLeaderChooseEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "choose two abilities from among first strike, vigilance, and lifelink"; } diff --git a/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java b/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java index a33d06ea041..9d7925357c5 100644 --- a/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java +++ b/Mage.Sets/src/mage/cards/r/RitualOfTheMachine.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -33,7 +33,7 @@ public final class RitualOfTheMachine extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}{B}"); // As an additional cost to cast Ritual of the Machine, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Gain control of target nonartifact, nonblack creature. this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfGame)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/r/Rout.java b/Mage.Sets/src/mage/cards/r/Rout.java index 5b85d76656d..f4f3075f1c7 100644 --- a/Mage.Sets/src/mage/cards/r/Rout.java +++ b/Mage.Sets/src/mage/cards/r/Rout.java @@ -10,7 +10,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -22,7 +22,7 @@ public final class Rout extends CardImpl { public Rout(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}{W}"); - Effect effect = new DestroyAllEffect(FILTER_PERMANENT_CREATURES, true); + Effect effect = new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, true); // You may cast Rout as though it had flash if you pay {2} more to cast it. Ability ability = new PayMoreToCastAsThoughtItHadFlashAbility(this, new ManaCostsImpl<>("{2}")); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessKnave.java b/Mage.Sets/src/mage/cards/r/RuthlessKnave.java index 009aeb23c9b..71a46746d89 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessKnave.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessKnave.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.TreasureToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -42,7 +42,7 @@ public final class RuthlessKnave extends CardImpl { // {2}{B}, Sacrifice a creature: Create two colorless Treasure artifact tokens with "{T}, Sacrifice this artifact: Add one mana of any color." Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new TreasureToken(), 2), new ManaCostsImpl<>("{2}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); // Sacrifice three Treasures: Draw a card. diff --git a/Mage.Sets/src/mage/cards/s/Sacrifice.java b/Mage.Sets/src/mage/cards/s/Sacrifice.java index 9824e920dff..8ce45589ca7 100644 --- a/Mage.Sets/src/mage/cards/s/Sacrifice.java +++ b/Mage.Sets/src/mage/cards/s/Sacrifice.java @@ -9,7 +9,7 @@ import mage.abilities.effects.mana.DynamicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -22,7 +22,7 @@ public final class Sacrifice extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}"); // As an additional cost to cast Sacrifice, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Add an amount of {B} equal to the sacrificed creature's converted mana cost. this.getSpellAbility().addEffect(new DynamicManaEffect(Mana.BlackMana(1), new SacrificeCostConvertedMana("creature"), "add an amount of {B} equal to the sacrificed creature's mana value")); diff --git a/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java b/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java index 6efa981d315..9033ce26da0 100644 --- a/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java +++ b/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java @@ -12,7 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.TargetPlayer; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledPermanent; @@ -32,8 +32,7 @@ public final class SadisticHypnotist extends CardImpl { this.toughness = new MageInt(2); // Sacrifice a creature: Target player discards two cards. Activate this ability only any time you could cast a sorcery. - TargetControlledPermanent target = new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT); - Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(2), new SacrificeTargetCost(target)); + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(2), new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java index 2af8fef6a05..721afc0dce1 100644 --- a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java +++ b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetControlledPermanent; @@ -37,7 +36,7 @@ public final class SanguinePraetor extends CardImpl { // {B}, Sacrifice a creature: Destroy each creature with the same converted mana cost as the sacrificed creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SanguinePraetorEffect(), new ManaCostsImpl<>("{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/Scapegoat.java b/Mage.Sets/src/mage/cards/s/Scapegoat.java index 4b0b93c53aa..08dc3bf1ccf 100644 --- a/Mage.Sets/src/mage/cards/s/Scapegoat.java +++ b/Mage.Sets/src/mage/cards/s/Scapegoat.java @@ -8,7 +8,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -22,7 +22,7 @@ public final class Scapegoat extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); // As an additional cost to cast Scapegoat, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Return any number of target creatures you control to their owner's hand. Effect effect = new ReturnToHandTargetEffect(); diff --git a/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java b/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java index b2216fe7271..8bb1e18c9de 100644 --- a/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java +++ b/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -34,7 +34,7 @@ public final class ScarlandThrinax extends CardImpl { Ability ability = new SimpleActivatedAbility( Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java b/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java index b4ad7d8af82..ef5a66508f2 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java +++ b/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetPlayerOrPlaneswalker; @@ -31,7 +31,7 @@ public final class ScorchedRusalka extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ColoredManaCost(ColoredManaSymbol.R)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java index 35318bdad7f..2a1e4d8d916 100644 --- a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java +++ b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java @@ -16,7 +16,7 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledArtifactPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; @@ -41,8 +41,8 @@ public final class ShattergangBrothers extends CardImpl { this.toughness = new MageInt(3); // {2}{B}, Sacrifice a creature: Each other player sacrifices a creature. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new ManaCostsImpl<>("{2}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new ManaCostsImpl<>("{2}{B}")); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); // {2}{R}, Sacrifice an artifact: Each other player sacrifices an artifact. FilterControlledPermanent filter = new FilterControlledArtifactPermanent("an artifact"); diff --git a/Mage.Sets/src/mage/cards/s/ShivanHarvest.java b/Mage.Sets/src/mage/cards/s/ShivanHarvest.java index 19c050d4b49..b348e47d30d 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanHarvest.java +++ b/Mage.Sets/src/mage/cards/s/ShivanHarvest.java @@ -11,7 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetNonBasicLandPermanent; @@ -26,7 +26,7 @@ public final class ShivanHarvest extends CardImpl { // {1}{R}, Sacrifice a creature: Destroy target nonbasic land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{1}{R}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetNonBasicLandPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SithEvoker.java b/Mage.Sets/src/mage/cards/s/SithEvoker.java index 32f2fd29eb5..28d8646b231 100644 --- a/Mage.Sets/src/mage/cards/s/SithEvoker.java +++ b/Mage.Sets/src/mage/cards/s/SithEvoker.java @@ -22,7 +22,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -44,7 +44,7 @@ public final class SithEvoker extends CardImpl { // {T}, {B}, Sacrifice a creature: You gain life equal to that creature's power or toughness. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SithEvokerEffect(), new ManaCostsImpl<>("{B}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java index f6e44979d3a..2c55d2005b4 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -33,7 +33,7 @@ public final class SkeletalKathari extends CardImpl { this.addAbility(FlyingAbility.getInstance()); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java index fc807c6e3d4..5e46c3d7f52 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -34,7 +34,7 @@ public final class SkirsdagCultist extends CardImpl { // {R}, {T}, Sacrifice a creature: Skirsdag Cultist deals 2 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SkullCatapult.java b/Mage.Sets/src/mage/cards/s/SkullCatapult.java index 71bb15f78cc..ef6c9f1356c 100644 --- a/Mage.Sets/src/mage/cards/s/SkullCatapult.java +++ b/Mage.Sets/src/mage/cards/s/SkullCatapult.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -28,7 +28,7 @@ public final class SkullCatapult extends CardImpl { // {1}, {tap}, Sacrifice a creature: Skull Catapult deals 2 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new GenericManaCost(1)); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SongOfFreyalise.java b/Mage.Sets/src/mage/cards/s/SongOfFreyalise.java index 5d84aaa97fe..bd96ba9d8e8 100644 --- a/Mage.Sets/src/mage/cards/s/SongOfFreyalise.java +++ b/Mage.Sets/src/mage/cards/s/SongOfFreyalise.java @@ -17,7 +17,7 @@ import mage.constants.Duration; import mage.constants.SagaChapter; import mage.constants.SubType; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURES; +import mage.filter.StaticFilters; /** * @@ -35,18 +35,18 @@ public final class SongOfFreyalise extends CardImpl { // I, II — Until your next turn, creatures you control gain "T: Add one mana of any color." sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II, - new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.UntilYourNextTurn, FILTER_CONTROLLED_CREATURES) + new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.UntilYourNextTurn, StaticFilters.FILTER_CONTROLLED_CREATURES) .setText("Until your next turn, creatures you control gain \"{T}: Add one mana of any color.\"") ); // III — Put a +1/+1 counter on each creature you control. Those creatures gain vigilance, trample, and indestructible until end of turn. Effects effects = new Effects(); - effects.add(new AddCountersAllEffect(CounterType.P1P1.createInstance(), FILTER_CONTROLLED_CREATURES)); - effects.add(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, FILTER_CONTROLLED_CREATURES) + effects.add(new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURES)); + effects.add(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES) .setText("Those creatures gain vigilance")); - effects.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, FILTER_CONTROLLED_CREATURES) + effects.add(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES) .setText(", trample")); - effects.add(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, FILTER_CONTROLLED_CREATURES) + effects.add(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES) .setText("and indestructible until end of turn")); sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III, SagaChapter.CHAPTER_III, effects); this.addAbility(sagaAbility); diff --git a/Mage.Sets/src/mage/cards/s/SorinImperiousBloodlord.java b/Mage.Sets/src/mage/cards/s/SorinImperiousBloodlord.java index ada847304be..476f5ef2235 100644 --- a/Mage.Sets/src/mage/cards/s/SorinImperiousBloodlord.java +++ b/Mage.Sets/src/mage/cards/s/SorinImperiousBloodlord.java @@ -14,10 +14,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.SuperType; +import mage.constants.*; import mage.counters.CounterType; import mage.filter.FilterCard; import mage.filter.common.FilterControlledPermanent; @@ -30,8 +27,6 @@ import mage.target.common.TargetControlledPermanent; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -88,7 +83,7 @@ public final class SorinImperiousBloodlord extends CardImpl { class SorinImperiousBloodlordEffect extends OneShotEffect { SorinImperiousBloodlordEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Target creature you control gains deathtouch and lifelink until end of turn. " + "If it's a Vampire, put a +1/+1 counter on it."; } diff --git a/Mage.Sets/src/mage/cards/s/SpawningPit.java b/Mage.Sets/src/mage/cards/s/SpawningPit.java index bcd4d41c469..797e89b46ee 100644 --- a/Mage.Sets/src/mage/cards/s/SpawningPit.java +++ b/Mage.Sets/src/mage/cards/s/SpawningPit.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.counters.CounterType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.permanent.token.SpawningPitToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -27,7 +27,7 @@ public final class SpawningPit extends CardImpl { public SpawningPit(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SpawningPitToken()), new GenericManaCost(1)); ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2))); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SpiritEnKor.java b/Mage.Sets/src/mage/cards/s/SpiritEnKor.java index 0f536988423..ab525deabd9 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritEnKor.java +++ b/Mage.Sets/src/mage/cards/s/SpiritEnKor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -35,7 +35,7 @@ public final class SpiritEnKor extends CardImpl { // {0}: The next 1 damage that would be dealt to Spirit en-Kor this turn is dealt to target creature you control instead. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); + new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SpontaneousCombustion.java b/Mage.Sets/src/mage/cards/s/SpontaneousCombustion.java index c548f43f97d..0c25ce1d348 100644 --- a/Mage.Sets/src/mage/cards/s/SpontaneousCombustion.java +++ b/Mage.Sets/src/mage/cards/s/SpontaneousCombustion.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -20,7 +20,7 @@ public final class SpontaneousCombustion extends CardImpl { public SpontaneousCombustion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}{R}"); - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.getSpellAbility().addEffect(new DamageAllEffect(3, new FilterCreaturePermanent())); } diff --git a/Mage.Sets/src/mage/cards/s/SpringbloomDruid.java b/Mage.Sets/src/mage/cards/s/SpringbloomDruid.java index a12201c0bba..5f83be72a35 100644 --- a/Mage.Sets/src/mage/cards/s/SpringbloomDruid.java +++ b/Mage.Sets/src/mage/cards/s/SpringbloomDruid.java @@ -15,8 +15,6 @@ import mage.target.common.TargetControlledPermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT; - /** * @author TheElk801 */ @@ -37,7 +35,7 @@ public final class SpringbloomDruid extends CardImpl { ), true ).setText("search your library for up to two basic land cards, " + "put them onto the battlefield tapped, then shuffle" - ), new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_LAND_SHORT_TEXT)) + ), new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT) ))); } diff --git a/Mage.Sets/src/mage/cards/s/StartFinish.java b/Mage.Sets/src/mage/cards/s/StartFinish.java index 1915b03fb0d..184b6b38ef6 100644 --- a/Mage.Sets/src/mage/cards/s/StartFinish.java +++ b/Mage.Sets/src/mage/cards/s/StartFinish.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; import mage.constants.SpellAbilityType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.game.permanent.token.WarriorVigilantToken; import mage.target.common.TargetControlledCreaturePermanent; @@ -36,7 +36,7 @@ public final class StartFinish extends SplitCard { // Aftermath // As an additional cost to cast Finish, sacrifice a creature. Destroy target creature. getRightHalfCard().addAbility(new AftermathAbility().setRuleAtTheTop(true)); - getRightHalfCard().getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + getRightHalfCard().getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (to destoy)"))); getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect("Destroy target creature")); } diff --git a/Mage.Sets/src/mage/cards/s/StarvedRusalka.java b/Mage.Sets/src/mage/cards/s/StarvedRusalka.java index 79be031f4cf..ab399067606 100644 --- a/Mage.Sets/src/mage/cards/s/StarvedRusalka.java +++ b/Mage.Sets/src/mage/cards/s/StarvedRusalka.java @@ -14,7 +14,7 @@ import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -30,7 +30,7 @@ public final class StarvedRusalka extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ColoredManaCost(ColoredManaSymbol.G)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SublimeExhalation.java b/Mage.Sets/src/mage/cards/s/SublimeExhalation.java index d68a5e78250..397cd52c4a0 100644 --- a/Mage.Sets/src/mage/cards/s/SublimeExhalation.java +++ b/Mage.Sets/src/mage/cards/s/SublimeExhalation.java @@ -7,7 +7,7 @@ import mage.abilities.keyword.UndauntedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -22,7 +22,7 @@ public final class SublimeExhalation extends CardImpl { this.addAbility(new UndauntedAbility()); // Destroy all creatures. - getSpellAbility().addEffect(new DestroyAllEffect(FILTER_PERMANENT_CREATURES)); + getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); } private SublimeExhalation(final SublimeExhalation card) { diff --git a/Mage.Sets/src/mage/cards/s/SuddenSubstitution.java b/Mage.Sets/src/mage/cards/s/SuddenSubstitution.java index a6deb99443f..8f55f6f15a5 100644 --- a/Mage.Sets/src/mage/cards/s/SuddenSubstitution.java +++ b/Mage.Sets/src/mage/cards/s/SuddenSubstitution.java @@ -9,6 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; @@ -19,8 +20,6 @@ import mage.target.targetpointer.FixedTarget; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -51,7 +50,7 @@ public final class SuddenSubstitution extends CardImpl { class SuddenSubstitutionEffect extends OneShotEffect { SuddenSubstitutionEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Exchange control of target noncreature spell and target creature. " + "Then the spell's controller may choose new targets for it."; } diff --git a/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java b/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java index 1d90ee54f9e..52b6a2c6852 100644 --- a/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java +++ b/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java @@ -13,7 +13,7 @@ import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -32,7 +32,7 @@ public final class SunQuanLordOfWu extends CardImpl { // Creatures you control have horsemanship. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HorsemanshipAbility.getInstance(), - Duration.WhileOnBattlefield, FILTER_PERMANENT_CREATURES))); + Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES))); } private SunQuanLordOfWu(final SunQuanLordOfWu card) { diff --git a/Mage.Sets/src/mage/cards/t/TamiyoCollectorOfTales.java b/Mage.Sets/src/mage/cards/t/TamiyoCollectorOfTales.java index e734258102b..b96638abe9a 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyoCollectorOfTales.java +++ b/Mage.Sets/src/mage/cards/t/TamiyoCollectorOfTales.java @@ -18,8 +18,6 @@ import mage.util.CardUtil; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -57,7 +55,7 @@ public final class TamiyoCollectorOfTales extends CardImpl { class TamiyoCollectorOfTalesRuleEffect extends ContinuousRuleModifyingEffectImpl { TamiyoCollectorOfTalesRuleEffect() { - super(Duration.WhileOnBattlefield, Benefit); + super(Duration.WhileOnBattlefield, Outcome.Benefit); staticText = "Spells and abilities your opponents control can't " + "cause you to discard cards or sacrifice permanents"; } diff --git a/Mage.Sets/src/mage/cards/t/TectonicGiant.java b/Mage.Sets/src/mage/cards/t/TectonicGiant.java index e4b5cd33049..f468bc1d025 100644 --- a/Mage.Sets/src/mage/cards/t/TectonicGiant.java +++ b/Mage.Sets/src/mage/cards/t/TectonicGiant.java @@ -12,7 +12,6 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.*; import mage.constants.*; -import static mage.constants.Outcome.Benefit; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; @@ -96,7 +95,7 @@ class TectonicGiantTriggeredAbility extends TriggeredAbilityImpl { class TectonicGiantEffect extends OneShotEffect { TectonicGiantEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "exile the top two cards of your library. Choose one of them. " + "Until the end of your next turn, you may play that card"; } diff --git a/Mage.Sets/src/mage/cards/t/TempestCaller.java b/Mage.Sets/src/mage/cards/t/TempestCaller.java index e800deb03d4..4a60db34501 100644 --- a/Mage.Sets/src/mage/cards/t/TempestCaller.java +++ b/Mage.Sets/src/mage/cards/t/TempestCaller.java @@ -9,7 +9,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; /** @@ -27,7 +27,7 @@ public final class TempestCaller extends CardImpl { this.toughness = new MageInt(3); // When Tempest Caller enters the battlefield, tap all creatures target opponent controls. - Ability ability = new EntersBattlefieldTriggeredAbility(new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES)); + Ability ability = new EntersBattlefieldTriggeredAbility(new TapAllTargetPlayerControlsEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TempleOfAclazotz.java b/Mage.Sets/src/mage/cards/t/TempleOfAclazotz.java index 7d62621075d..0a862745f90 100644 --- a/Mage.Sets/src/mage/cards/t/TempleOfAclazotz.java +++ b/Mage.Sets/src/mage/cards/t/TempleOfAclazotz.java @@ -15,7 +15,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetControlledCreaturePermanent; @@ -37,7 +37,7 @@ public final class TempleOfAclazotz extends CardImpl { // {T}, Sacrifice a creature: You gain life equal to the sacrificed creature's toughness. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TempleOfAclazotzEffect(), new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TendrilsOfDespair.java b/Mage.Sets/src/mage/cards/t/TendrilsOfDespair.java index 0beaa659c2e..c82f28709ea 100644 --- a/Mage.Sets/src/mage/cards/t/TendrilsOfDespair.java +++ b/Mage.Sets/src/mage/cards/t/TendrilsOfDespair.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; @@ -21,7 +21,7 @@ public final class TendrilsOfDespair extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}"); // As an additional cost to cast Tendrils of Despair, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Target opponent discards two cards. this.getSpellAbility().addTarget(new TargetOpponent()); diff --git a/Mage.Sets/src/mage/cards/t/TerashisCry.java b/Mage.Sets/src/mage/cards/t/TerashisCry.java index 3ce52c4ffb9..43a2b7dbed9 100644 --- a/Mage.Sets/src/mage/cards/t/TerashisCry.java +++ b/Mage.Sets/src/mage/cards/t/TerashisCry.java @@ -36,7 +36,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetCreaturePermanent; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import java.util.UUID; @@ -50,9 +49,8 @@ public final class TerashisCry extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}"); this.subtype.add(SubType.ARCANE); - // Tap up to three target creatures. - Target target = new TargetCreaturePermanent(0, 3, FILTER_PERMANENT_CREATURES, false); + Target target = new TargetCreaturePermanent(0, 3); this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addTarget(target); } @@ -66,4 +64,4 @@ public final class TerashisCry extends CardImpl { return new TerashisCry(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/TeveshSzatDoomOfFools.java b/Mage.Sets/src/mage/cards/t/TeveshSzatDoomOfFools.java index fb246421137..4c6f393a382 100644 --- a/Mage.Sets/src/mage/cards/t/TeveshSzatDoomOfFools.java +++ b/Mage.Sets/src/mage/cards/t/TeveshSzatDoomOfFools.java @@ -28,8 +28,6 @@ import java.util.Objects; import java.util.Set; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -79,7 +77,7 @@ class TeveshSzatDoomOfFoolsSacrificeEffect extends OneShotEffect { } TeveshSzatDoomOfFoolsSacrificeEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "you may sacrifice another creature or planeswalker. If you do, draw two cards, " + "then draw another card if the sacrificed permanent was a commander"; } diff --git a/Mage.Sets/src/mage/cards/t/ThallidSoothsayer.java b/Mage.Sets/src/mage/cards/t/ThallidSoothsayer.java index 71f925fc4c8..3abc6d49d79 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidSoothsayer.java +++ b/Mage.Sets/src/mage/cards/t/ThallidSoothsayer.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -30,7 +30,7 @@ public final class ThallidSoothsayer extends CardImpl { // {2}, Sacrifice a creature: Draw a card. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java index 29e15754ac2..946a4463306 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java @@ -13,7 +13,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledLandPermanent; import mage.game.permanent.token.TokenImpl; import mage.game.permanent.token.custom.CreatureToken; @@ -48,7 +48,7 @@ public final class TheloniteDruid extends CardImpl { effect, new ManaCostsImpl<>("{1}{G}")); ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/Thermopod.java b/Mage.Sets/src/mage/cards/t/Thermopod.java index 26b5a767abb..8a222d67342 100644 --- a/Mage.Sets/src/mage/cards/t/Thermopod.java +++ b/Mage.Sets/src/mage/cards/t/Thermopod.java @@ -19,7 +19,7 @@ import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -40,7 +40,7 @@ public final class Thermopod extends CardImpl { HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{S}"))); // Sacrifice a creature: Add {R}. this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.RedMana(1), CreaturesYouControlCount.instance), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private Thermopod(final Thermopod card) { diff --git a/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java b/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java index 4f6a03ddb18..6a4b91c9deb 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java @@ -18,7 +18,7 @@ import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.TargetCard; @@ -42,7 +42,7 @@ public final class ThoughtpickerWitch extends CardImpl { // {1}, Sacrifice a creature: Look at the top two cards of target opponent's library, then exile one of them. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ThoughtpickerWitchEffect(), new GenericManaCost(1)); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/Thud.java b/Mage.Sets/src/mage/cards/t/Thud.java index 88581cf7cc4..c6500614069 100644 --- a/Mage.Sets/src/mage/cards/t/Thud.java +++ b/Mage.Sets/src/mage/cards/t/Thud.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetAnyTarget; import mage.target.common.TargetControlledCreaturePermanent; @@ -21,9 +21,7 @@ public final class Thud extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // As an additional cost to cast this spell, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost( - new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT) - )); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // Thud deals damage equal to the sacrificed creature's power to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(SacrificeCostCreaturesPower.instance) diff --git a/Mage.Sets/src/mage/cards/t/TolsimirFriendToWolves.java b/Mage.Sets/src/mage/cards/t/TolsimirFriendToWolves.java index 4665c0138b3..8db9989bb4e 100644 --- a/Mage.Sets/src/mage/cards/t/TolsimirFriendToWolves.java +++ b/Mage.Sets/src/mage/cards/t/TolsimirFriendToWolves.java @@ -10,10 +10,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.Zone; +import mage.constants.*; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; @@ -22,8 +19,6 @@ import mage.target.common.TargetOpponentsCreaturePermanent; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -102,7 +97,7 @@ class TolsimirFriendToWolvesEffect extends OneShotEffect { private final MageObjectReference wolfMor; TolsimirFriendToWolvesEffect(MageObjectReference wolfMor) { - super(Benefit); + super(Outcome.Benefit); this.wolfMor = wolfMor; } @@ -129,4 +124,4 @@ class TolsimirFriendToWolvesEffect extends OneShotEffect { } return wolf.fight(permanent, source, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/TorrentElemental.java b/Mage.Sets/src/mage/cards/t/TorrentElemental.java index f6347ccca7f..9822eb89086 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentElemental.java +++ b/Mage.Sets/src/mage/cards/t/TorrentElemental.java @@ -18,7 +18,7 @@ import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; @@ -37,7 +37,7 @@ public final class TorrentElemental extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // Whenever Torrent Elemental attacks, tap all creatures defending player controls. - Effect effect = new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES); + Effect effect = new TapAllTargetPlayerControlsEffect(StaticFilters.FILTER_PERMANENT_CREATURES); effect.setText("tap all creatures defending player controls."); this.addAbility(new AttacksTriggeredAbility(effect, false, null, SetTargetPointer.PLAYER)); // {3}{B/G}{B/G}: Put Torrent Elemental from exile onto the battlefield tapped. Activate this ability only any time you could cast a sorcery. diff --git a/Mage.Sets/src/mage/cards/t/TorrentSculptor.java b/Mage.Sets/src/mage/cards/t/TorrentSculptor.java index 9ea8e75163d..14fddc2e096 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentSculptor.java +++ b/Mage.Sets/src/mage/cards/t/TorrentSculptor.java @@ -24,8 +24,6 @@ import mage.target.common.TargetCardInYourGraveyard; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -67,7 +65,7 @@ public final class TorrentSculptor extends ModalDoubleFacedCard { class TorrentSculptorEffect extends OneShotEffect { TorrentSculptorEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "exile an instant or sorcery card from your graveyard. " + "Put a number of +1/+1 counters on {this} equal to half that card's mana value, rounded up."; } diff --git a/Mage.Sets/src/mage/cards/t/TradingPost.java b/Mage.Sets/src/mage/cards/t/TradingPost.java index 10658359f65..61e395b49ac 100644 --- a/Mage.Sets/src/mage/cards/t/TradingPost.java +++ b/Mage.Sets/src/mage/cards/t/TradingPost.java @@ -24,8 +24,6 @@ import mage.target.common.TargetControlledPermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author jeffwadsworth */ @@ -50,7 +48,7 @@ public final class TradingPost extends CardImpl { Ability ability3 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new GenericManaCost(1)); ability3.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD)); ability3.addCost(new TapSourceCost()); - ability3.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability3.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability3); // {1}, {T}, Sacrifice an artifact: Draw a card. diff --git a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java index 27df4c43a8c..a54089c2810 100644 --- a/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java +++ b/Mage.Sets/src/mage/cards/t/TymaretCallsTheDead.java @@ -20,8 +20,6 @@ import mage.target.common.TargetCardInYourGraveyard; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -70,7 +68,7 @@ class TymaretCallsTheDeadFirstEffect extends OneShotEffect { } TymaretCallsTheDeadFirstEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "mill three cards. Then you may exile a creature or enchantment card from your graveyard. " + "If you do, create a 2/2 black Zombie creature token"; } @@ -110,7 +108,7 @@ class TymaretCallsTheDeadLastEffect extends OneShotEffect { private static final FilterPermanent filter = new FilterPermanent(SubType.ZOMBIE, ""); TymaretCallsTheDeadLastEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "You gain X life and scry X, where X is the number of Zombies you control."; } diff --git a/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java b/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java index 0b0b75facc0..80fb22538f8 100644 --- a/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java +++ b/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java @@ -16,7 +16,7 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetPlayerOrPlaneswalker; @@ -42,7 +42,7 @@ public final class TymaretTheMurderKing extends CardImpl { this.addAbility(ability); // {1}{B}, Sacrifice a creature: Return Tymaret from your graveyard to your hand. ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TyvarJubilantBrawler.java b/Mage.Sets/src/mage/cards/t/TyvarJubilantBrawler.java index ea7e133012c..5b115c5479d 100644 --- a/Mage.Sets/src/mage/cards/t/TyvarJubilantBrawler.java +++ b/Mage.Sets/src/mage/cards/t/TyvarJubilantBrawler.java @@ -24,7 +24,6 @@ import mage.target.TargetCard; import mage.target.common.TargetCardInYourGraveyard; import mage.target.common.TargetCreaturePermanent; -import static mage.constants.Outcome.Benefit; /** * @author TheElk801 diff --git a/Mage.Sets/src/mage/cards/u/UginTheIneffable.java b/Mage.Sets/src/mage/cards/u/UginTheIneffable.java index 1a1944d2499..8e74e9d19cf 100644 --- a/Mage.Sets/src/mage/cards/u/UginTheIneffable.java +++ b/Mage.Sets/src/mage/cards/u/UginTheIneffable.java @@ -36,8 +36,6 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import static mage.constants.Outcome.Benefit; - /** * @author TheElk801 */ @@ -85,7 +83,7 @@ public final class UginTheIneffable extends CardImpl { class UginTheIneffableEffect extends OneShotEffect { UginTheIneffableEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "Exile the top card of your library face down and look at it. " + "Create a 2/2 colorless Spirit creature token. When that token leaves the battlefield, " + "put the exiled card into your hand."; diff --git a/Mage.Sets/src/mage/cards/u/UndercityInformer.java b/Mage.Sets/src/mage/cards/u/UndercityInformer.java index ba42e5dc817..b974277ac36 100644 --- a/Mage.Sets/src/mage/cards/u/UndercityInformer.java +++ b/Mage.Sets/src/mage/cards/u/UndercityInformer.java @@ -16,7 +16,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; import mage.target.TargetPlayer; @@ -39,7 +39,7 @@ public final class UndercityInformer extends CardImpl { //{1}, Sacrifice a creature: Target player reveals the top card of their library until they reveal a land card, then puts those cards into their graveyard. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UndercityInformerEffect(), new ManaCostsImpl<>("{1}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java b/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java index 1153e80ee97..6ed6ff79295 100644 --- a/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java +++ b/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java @@ -17,7 +17,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -42,7 +42,7 @@ public final class UnquestionedAuthority extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); // Enchanted creature has protection from creatures. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityAttachedEffect(new ProtectionAbility(FILTER_PERMANENT_CREATURES), AttachmentType.AURA))); + new GainAbilityAttachedEffect(new ProtectionAbility(StaticFilters.FILTER_PERMANENT_CREATURES), AttachmentType.AURA))); } private UnquestionedAuthority(final UnquestionedAuthority card) { diff --git a/Mage.Sets/src/mage/cards/v/VampiricRites.java b/Mage.Sets/src/mage/cards/v/VampiricRites.java index 635ed530dca..57c03fff978 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricRites.java +++ b/Mage.Sets/src/mage/cards/v/VampiricRites.java @@ -13,7 +13,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -27,7 +27,7 @@ public final class VampiricRites extends CardImpl { // {1}{B}, Sacrifice a creature: You gain 1 life and draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); Effect effect = new DrawCardSourceControllerEffect(1); effect.setText("and draw a card"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/v/ViciousOffering.java b/Mage.Sets/src/mage/cards/v/ViciousOffering.java index 59caba345c5..c7caa73e54f 100644 --- a/Mage.Sets/src/mage/cards/v/ViciousOffering.java +++ b/Mage.Sets/src/mage/cards/v/ViciousOffering.java @@ -12,7 +12,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -26,7 +26,7 @@ public final class ViciousOffering extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); // Kicker—Sacrifice a creature. - this.addAbility(new KickerAbility(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + this.addAbility(new KickerAbility(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); // Target creature gets -2/-2 until end of turn. If this spell was kicked, that creature gets -5/-5 until end of turn instead. this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(-5, -5, Duration.EndOfTurn), diff --git a/Mage.Sets/src/mage/cards/v/Victimize.java b/Mage.Sets/src/mage/cards/v/Victimize.java index 8e5ca1e3523..d485e886c6a 100644 --- a/Mage.Sets/src/mage/cards/v/Victimize.java +++ b/Mage.Sets/src/mage/cards/v/Victimize.java @@ -11,7 +11,7 @@ import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; @@ -62,7 +62,7 @@ class VictimizeEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { - SacrificeTargetCost cost = new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); + SacrificeTargetCost cost = new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT); if (cost.pay(source, game, source, source.getControllerId(), false, null)) { game.getState().processAction(game); // To end effects of the sacrificed creature controller.moveCards(new CardsImpl(getTargetPointer().getTargets(game, source)).getCards(game), diff --git a/Mage.Sets/src/mage/cards/v/VisceraSeer.java b/Mage.Sets/src/mage/cards/v/VisceraSeer.java index 9579239a24e..19b6d90d79a 100644 --- a/Mage.Sets/src/mage/cards/v/VisceraSeer.java +++ b/Mage.Sets/src/mage/cards/v/VisceraSeer.java @@ -11,7 +11,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +29,7 @@ public final class VisceraSeer extends CardImpl { this.toughness = new MageInt(1); // Sacrifice a creature: Scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)))); + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); } private VisceraSeer(final VisceraSeer card) { diff --git a/Mage.Sets/src/mage/cards/v/VisceridDrone.java b/Mage.Sets/src/mage/cards/v/VisceridDrone.java index 0996ddddece..2ac1e69c0d6 100644 --- a/Mage.Sets/src/mage/cards/v/VisceridDrone.java +++ b/Mage.Sets/src/mage/cards/v/VisceridDrone.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -50,7 +50,7 @@ public final class VisceridDrone extends CardImpl { // {tap}, Sacrifice a creature and a Swamp: Destroy target nonartifact creature. It can't be regenerated. Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(true), new TapSourceCost()); ability.addCost(new CompositeCost( - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new SacrificeTargetCost(new TargetControlledPermanent(filter2)), "Sacrifice a creature and a Swamp" )); @@ -60,7 +60,7 @@ public final class VisceridDrone extends CardImpl { // {tap}, Sacrifice a creature and a snow Swamp: Destroy target creature. It can't be regenerated. ability = new SimpleActivatedAbility(new DestroyTargetEffect(true), new TapSourceCost()); ability.addCost(new CompositeCost( - new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)), + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new SacrificeTargetCost(new TargetControlledPermanent(filter3)), "Sacrifice a creature and a snow Swamp" )); diff --git a/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java b/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java index b7ed955cda7..ded8f3e5ab3 100644 --- a/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java +++ b/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java @@ -20,14 +20,13 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; +import mage.filter.StaticFilters; import mage.game.Game; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; - /** * @author LevelX2 */ @@ -52,7 +51,7 @@ public final class VishKalBloodArbiter extends CardImpl { new AddCountersSourceEffect( CounterType.P1P1.createInstance(), SacrificeCostCreaturesPower.instance, true ).setText("put X +1/+1 counters on {this}, where X is the sacrificed creature's power"), - new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)) + new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT) )); // Remove all +1/+1 counters from Vish Kal: Target creature gets -1/-1 until end of turn for each +1/+1 counter removed this way. diff --git a/Mage.Sets/src/mage/cards/v/Vivisection.java b/Mage.Sets/src/mage/cards/v/Vivisection.java index 88e65e72177..9b601b7e561 100644 --- a/Mage.Sets/src/mage/cards/v/Vivisection.java +++ b/Mage.Sets/src/mage/cards/v/Vivisection.java @@ -7,7 +7,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -20,7 +20,7 @@ public final class Vivisection extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}"); this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); } private Vivisection(final Vivisection card) { diff --git a/Mage.Sets/src/mage/cards/w/WakeOfVultures.java b/Mage.Sets/src/mage/cards/w/WakeOfVultures.java index 8302e5ed7b0..6a7c0674397 100644 --- a/Mage.Sets/src/mage/cards/w/WakeOfVultures.java +++ b/Mage.Sets/src/mage/cards/w/WakeOfVultures.java @@ -14,7 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -33,7 +33,7 @@ public final class WakeOfVultures extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {1}{B}, Sacrifice a creature: Regenerate Wake of Vultures. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WarriorEnKor.java b/Mage.Sets/src/mage/cards/w/WarriorEnKor.java index 00de847db29..36946cc7a29 100644 --- a/Mage.Sets/src/mage/cards/w/WarriorEnKor.java +++ b/Mage.Sets/src/mage/cards/w/WarriorEnKor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class WarriorEnKor extends CardImpl { // {0}: The next 1 damage that would be dealt to Warrior en-Kor this turn is dealt to target creature you control instead. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, - new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); + new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new GenericManaCost(0)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WickedReward.java b/Mage.Sets/src/mage/cards/w/WickedReward.java index e9c80941164..90fee8428d8 100644 --- a/Mage.Sets/src/mage/cards/w/WickedReward.java +++ b/Mage.Sets/src/mage/cards/w/WickedReward.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -17,7 +17,7 @@ public final class WickedReward extends CardImpl { super(cardId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); //As an additional cost to cast Wicked Reward, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); //Target creature gets +4/+2 until end of turn. this.getSpellAbility().addEffect(new BoostTargetEffect(4, 2, Duration.EndOfTurn)); diff --git a/Mage.Sets/src/mage/cards/w/WorthyCause.java b/Mage.Sets/src/mage/cards/w/WorthyCause.java index cf87398971d..62fdc09adf7 100644 --- a/Mage.Sets/src/mage/cards/w/WorthyCause.java +++ b/Mage.Sets/src/mage/cards/w/WorthyCause.java @@ -10,7 +10,7 @@ import mage.abilities.keyword.BuybackAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -26,7 +26,7 @@ public final class WorthyCause extends CardImpl { this.addAbility(new BuybackAbility("{2}")); // As an additional cost to cast Worthy Cause, sacrifice a creature. - this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + this.getSpellAbility().addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); // You gain life equal to the sacrificed creature's toughness. Effect effect = new GainLifeEffect(SacrificeCostCreaturesToughness.instance); diff --git a/Mage.Sets/src/mage/cards/w/WrathOfGod.java b/Mage.Sets/src/mage/cards/w/WrathOfGod.java index 21e2aaec071..adbf5597473 100644 --- a/Mage.Sets/src/mage/cards/w/WrathOfGod.java +++ b/Mage.Sets/src/mage/cards/w/WrathOfGod.java @@ -6,7 +6,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; /** * @@ -18,7 +18,7 @@ public final class WrathOfGod extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}{W}"); // Destroy all creatures. They can't be regenerated. - this.getSpellAbility().addEffect(new DestroyAllEffect(FILTER_PERMANENT_CREATURES, true)); + this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, true)); } private WrathOfGod(final WrathOfGod card) { diff --git a/Mage.Sets/src/mage/cards/z/ZealousInquisitor.java b/Mage.Sets/src/mage/cards/z/ZealousInquisitor.java index 9eb01ac7688..4c82bbfa951 100644 --- a/Mage.Sets/src/mage/cards/z/ZealousInquisitor.java +++ b/Mage.Sets/src/mage/cards/z/ZealousInquisitor.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class ZealousInquisitor extends CardImpl { this.toughness = new MageInt(2); // {1}{W}: The next 1 damage that would be dealt to Zealous Inquisitor this turn is dealt to target creature instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZhalfirinCrusader.java b/Mage.Sets/src/mage/cards/z/ZhalfirinCrusader.java index faeb58b9548..cc3078123a5 100644 --- a/Mage.Sets/src/mage/cards/z/ZhalfirinCrusader.java +++ b/Mage.Sets/src/mage/cards/z/ZhalfirinCrusader.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; -import static mage.abilities.effects.RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE; +import mage.abilities.effects.RedirectionEffect; import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class ZhalfirinCrusader extends CardImpl { this.addAbility(new FlankingAbility()); // {1}{W}: The next 1 damage that would be dealt to Zhalfirin Crusader this turn is dealt to any target instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}")); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RedirectDamageFromSourceToTargetEffect(Duration.EndOfTurn, 1, RedirectionEffect.UsageType.ONE_USAGE_ABSOLUTE), new ManaCostsImpl<>("{1}{W}")); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/EntersBattlefieldUnderControlOfOpponentOfChoiceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/EntersBattlefieldUnderControlOfOpponentOfChoiceEffect.java index 149732da4f3..f48e2df03d8 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/EntersBattlefieldUnderControlOfOpponentOfChoiceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/EntersBattlefieldUnderControlOfOpponentOfChoiceEffect.java @@ -6,7 +6,6 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.constants.Duration; import mage.constants.Outcome; -import static mage.constants.Outcome.Benefit; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -22,7 +21,7 @@ import mage.target.targetpointer.FixedTarget; public class EntersBattlefieldUnderControlOfOpponentOfChoiceEffect extends OneShotEffect { public EntersBattlefieldUnderControlOfOpponentOfChoiceEffect() { - super(Benefit); + super(Outcome.Benefit); staticText = "under the control of an opponent of your choice"; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java index 5fa7cba4ce0..42aba576626 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageToSourceEffect.java @@ -5,7 +5,6 @@ import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.PreventionEffectImpl; import mage.constants.Duration; -import static mage.constants.Duration.EndOfTurn; import mage.game.Game; import mage.game.events.GameEvent; @@ -61,7 +60,7 @@ public class PreventDamageToSourceEffect extends PreventionEffectImpl { sb.append("Prevent the next ").append(amountToPrevent).append(" damage that would be dealt to "); } sb.append("{this} "); - if (duration == EndOfTurn) { + if (duration == Duration.EndOfTurn) { sb.append("this turn"); } else { sb.append(duration.toString()); diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedByAllTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedByAllTargetEffect.java index 0d65d986daa..4d05b8a6156 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedByAllTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedByAllTargetEffect.java @@ -8,8 +8,6 @@ import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; -import static mage.constants.Duration.EndOfTurn; - /** * @author LevelX2 */ @@ -50,7 +48,7 @@ public class CantBeBlockedByAllTargetEffect extends RestrictionEffect { return "target " + mode.getTargets().get(0).getTargetName() + " can't be blocked " - + (duration == EndOfTurn ? "this turn " : "") + + (duration == Duration.EndOfTurn ? "this turn " : "") + (filterBlockedBy.getMessage().startsWith("except by") ? "" : "by ") + filterBlockedBy.getMessage(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java index dc1ebe1a73b..a61c3275c1c 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBlockAttachedEffect.java @@ -9,8 +9,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.targetpointer.FixedTarget; -import static mage.constants.Duration.EndOfTurn; - /** * @author North */ @@ -35,7 +33,7 @@ public class CantBlockAttachedEffect extends RestrictionEffect { if (!filter.getMessage().equals("creature")) { sb.append(' ').append(filter.getMessage()); } - if (duration == EndOfTurn) { + if (duration == Duration.EndOfTurn) { sb.append(" this turn"); } else if (!duration.toString().isEmpty()) { sb.append(' ').append(duration.toString()); diff --git a/Mage/src/main/java/mage/abilities/keyword/AscendAbility.java b/Mage/src/main/java/mage/abilities/keyword/AscendAbility.java index 2292030e096..c4cfbb494eb 100644 --- a/Mage/src/main/java/mage/abilities/keyword/AscendAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/AscendAbility.java @@ -4,7 +4,6 @@ package mage.abilities.keyword; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; -import static mage.abilities.keyword.AscendAbility.ASCEND_RULE; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -70,7 +69,7 @@ class AscendContinuousEffect extends ContinuousEffectImpl { public AscendContinuousEffect() { super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); - staticText = ASCEND_RULE; + staticText = AscendAbility.ASCEND_RULE; } public AscendContinuousEffect(final AscendContinuousEffect effect) { diff --git a/Mage/src/main/java/mage/game/command/emblems/ObNixilisOfTheBlackOathEmblem.java b/Mage/src/main/java/mage/game/command/emblems/ObNixilisOfTheBlackOathEmblem.java index 3eabd0637ff..b2a48c7c599 100644 --- a/Mage/src/main/java/mage/game/command/emblems/ObNixilisOfTheBlackOathEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/ObNixilisOfTheBlackOathEmblem.java @@ -13,7 +13,7 @@ import mage.constants.Zone; import mage.game.command.Emblem; import mage.target.common.TargetControlledCreaturePermanent; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; +import mage.filter.StaticFilters; /** * @author spjspj @@ -27,7 +27,7 @@ public final class ObNixilisOfTheBlackOathEmblem extends Emblem { Effect effect = new GainLifeEffect(xValue); effect.setText("You gain X life"); Ability ability = new SimpleActivatedAbility(Zone.COMMAND, effect, new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); + ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)); effect = new DrawCardSourceControllerEffect(xValue); effect.setText("and draw X cards, where X is the sacrificed creature's power"); ability.addEffect(effect); diff --git a/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java b/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java index 333c9253a94..184bdbd97be 100644 --- a/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java @@ -9,11 +9,10 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; +import mage.filter.StaticFilters; import mage.game.command.Emblem; import mage.target.TargetPermanent; -import static mage.filter.StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT; - /** * @author spjspj */ @@ -28,7 +27,7 @@ public final class TezzeretTheSchemerEmblem extends Emblem { effect = new SetBasePowerToughnessTargetEffect(5, 5, Duration.EndOfGame); effect.setText("with base power and toughness 5/5"); ability.addEffect(effect); - ability.addTarget(new TargetPermanent(FILTER_CONTROLLED_PERMANENT_ARTIFACT)); + ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT)); this.getAbilities().add(ability); } diff --git a/Mage/src/main/java/mage/target/common/TargetCreaturePermanent.java b/Mage/src/main/java/mage/target/common/TargetCreaturePermanent.java index ab04063f604..8e5e5d01ea0 100644 --- a/Mage/src/main/java/mage/target/common/TargetCreaturePermanent.java +++ b/Mage/src/main/java/mage/target/common/TargetCreaturePermanent.java @@ -2,7 +2,6 @@ package mage.target.common; import mage.filter.StaticFilters; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURE; import mage.filter.common.FilterCreaturePermanent; import mage.target.TargetPermanent;