From 9f06046f2245deb089a68296239ccc36942fd255 Mon Sep 17 00:00:00 2001 From: igoudt Date: Wed, 4 Jul 2018 14:24:11 +0200 Subject: [PATCH] add isOwned and isControlled methods. remove some null-checks, remove some unnecessary casts --- .../src/main/java/mage/view/CardsView.java | 2 +- .../src/mage/player/ai/ComputerPlayer6.java | 2 +- .../mage/cards/a/AbandonedSarcophagus.java | 4 ++-- .../src/mage/cards/a/AbbotOfKeralKeep.java | 2 +- Mage.Sets/src/mage/cards/a/AcidicSoil.java | 2 +- Mage.Sets/src/mage/cards/a/AerialCaravan.java | 2 +- Mage.Sets/src/mage/cards/a/AetherCharge.java | 2 +- Mage.Sets/src/mage/cards/a/Aetherspouts.java | 2 +- .../src/mage/cards/a/AjanisLastStand.java | 2 +- Mage.Sets/src/mage/cards/a/AkoumFirebird.java | 2 +- Mage.Sets/src/mage/cards/a/AkoumHellkite.java | 2 +- Mage.Sets/src/mage/cards/a/AladdinsLamp.java | 2 +- .../src/mage/cards/a/AmbuscadeShaman.java | 2 +- Mage.Sets/src/mage/cards/a/AmuletOfVigor.java | 2 +- Mage.Sets/src/mage/cards/a/AngelicChorus.java | 2 +- .../mage/cards/a/AnimarSoulOfElements.java | 2 +- .../src/mage/cards/a/AnimationModule.java | 2 +- Mage.Sets/src/mage/cards/a/ApexOfPower.java | 2 +- .../src/mage/cards/a/ArcaneAdaptation.java | 4 ++-- .../src/mage/cards/a/ArchonOfRedemption.java | 2 +- .../src/mage/cards/a/AsLuckWouldHaveIt.java | 2 +- .../src/mage/cards/a/AsmiraHolyAvenger.java | 2 +- .../mage/cards/b/BattlefieldThaumaturge.java | 2 +- .../src/mage/cards/b/BidentOfThassa.java | 2 +- Mage.Sets/src/mage/cards/b/Bioshift.java | 4 ++-- Mage.Sets/src/mage/cards/b/BlazeCommando.java | 2 +- Mage.Sets/src/mage/cards/b/BlindingBeam.java | 4 ++-- .../src/mage/cards/b/BloodsporeThrinax.java | 2 +- .../src/mage/cards/b/BloodstoneGoblin.java | 2 +- Mage.Sets/src/mage/cards/b/Bossk.java | 2 +- .../src/mage/cards/b/BottledCloister.java | 2 +- .../src/mage/cards/b/BoundDetermined.java | 2 +- Mage.Sets/src/mage/cards/b/BowerPassage.java | 2 +- .../src/mage/cards/b/BramblewoodParagon.java | 2 +- .../src/mage/cards/b/BredForTheHunt.java | 2 +- .../src/mage/cards/b/BroodingSaurian.java | 2 +- .../src/mage/cards/b/BrutalHordechief.java | 2 +- .../src/mage/cards/c/CallerOfTheClaw.java | 2 +- .../src/mage/cards/c/CampaignOfVengeance.java | 2 +- .../src/mage/cards/c/CastThroughTime.java | 2 +- Mage.Sets/src/mage/cards/c/CatalystStone.java | 2 +- Mage.Sets/src/mage/cards/c/CelestialDawn.java | 4 ++-- .../src/mage/cards/c/ChampionOfLambholt.java | 2 +- .../src/mage/cards/c/ChanceEncounter.java | 2 +- .../src/mage/cards/c/ChandraPyromaster.java | 4 ++-- Mage.Sets/src/mage/cards/c/ChannelHarm.java | 6 +++--- .../src/mage/cards/c/ChickenALaKing.java | 2 +- .../src/mage/cards/c/ChitteringDoom.java | 2 +- Mage.Sets/src/mage/cards/c/CircleOfFlame.java | 2 +- .../src/mage/cards/c/CityOfTraitors.java | 2 +- .../src/mage/cards/c/CleansingMeditation.java | 2 +- Mage.Sets/src/mage/cards/c/CloudCover.java | 2 +- Mage.Sets/src/mage/cards/c/CloudKey.java | 2 +- Mage.Sets/src/mage/cards/c/CoastalPiracy.java | 2 +- Mage.Sets/src/mage/cards/c/Comeuppance.java | 10 +++++----- .../src/mage/cards/c/CommuneWithLava.java | 2 +- .../src/mage/cards/c/ConcussiveBolt.java | 2 +- Mage.Sets/src/mage/cards/c/Conspiracy.java | 6 +++--- .../src/mage/cards/c/CorpsejackMenace.java | 2 +- .../mage/cards/c/CouncilOfTheAbsolute.java | 2 +- Mage.Sets/src/mage/cards/c/Counterflux.java | 2 +- .../src/mage/cards/c/CrawlingSensation.java | 2 +- Mage.Sets/src/mage/cards/c/CurseOfEchoes.java | 2 +- .../mage/cards/c/CurseOfTheNightlyHunt.java | 2 +- Mage.Sets/src/mage/cards/c/CustodiLich.java | 2 +- .../mage/cards/d/DarigaazReincarnated.java | 2 +- .../src/mage/cards/d/DarkDwellerOracle.java | 2 +- .../src/mage/cards/d/DauntingDefender.java | 2 +- .../src/mage/cards/d/DaxosOfMeletis.java | 4 ++-- .../src/mage/cards/d/DearlyDeparted.java | 2 +- .../src/mage/cards/d/DeathsPresence.java | 2 +- .../src/mage/cards/d/DeepfathomSkulker.java | 2 +- Mage.Sets/src/mage/cards/d/DefenseGrid.java | 2 +- .../src/mage/cards/d/DefiantGreatmaw.java | 2 +- .../mage/cards/d/DereviEmpyrialTactician.java | 2 +- .../src/mage/cards/d/DesecratedTomb.java | 2 +- .../src/mage/cards/d/DireFleetDaredevil.java | 6 +++--- .../src/mage/cards/d/DiregrafCaptain.java | 2 +- .../src/mage/cards/d/DisplayOfDominance.java | 2 +- .../src/mage/cards/d/DivineDeflection.java | 4 ++-- .../src/mage/cards/d/DjeruWithEyesOpen.java | 2 +- .../src/mage/cards/d/DjinnIlluminatus.java | 4 ++-- .../src/mage/cards/d/DoorOfDestinies.java | 2 +- .../src/mage/cards/d/DoublingSeason.java | 2 +- .../src/mage/cards/d/DrafnasRestoration.java | 2 +- .../mage/cards/d/DragonlordsPrerogative.java | 2 +- Mage.Sets/src/mage/cards/d/DreamPillager.java | 2 +- Mage.Sets/src/mage/cards/d/DungeonGeists.java | 4 ++-- .../src/mage/cards/e/ElderwoodScion.java | 2 +- .../src/mage/cards/e/Electropotence.java | 2 +- Mage.Sets/src/mage/cards/e/ElkinBottle.java | 2 +- .../src/mage/cards/e/EmbermawHellion.java | 2 +- .../src/mage/cards/e/EncirclingFissure.java | 2 +- .../src/mage/cards/e/EnduringScalelord.java | 2 +- Mage.Sets/src/mage/cards/e/EnigmaSphinx.java | 2 +- .../src/mage/cards/e/EssenceOfTheWild.java | 2 +- .../src/mage/cards/e/EternalScourge.java | 2 +- .../src/mage/cards/e/EunuchsIntrigues.java | 2 +- Mage.Sets/src/mage/cards/f/FaithsReward.java | 2 +- .../src/mage/cards/f/FalkenrathGorger.java | 2 +- .../src/mage/cards/f/FavorableDestiny.java | 2 +- Mage.Sets/src/mage/cards/f/FellShepherd.java | 2 +- .../src/mage/cards/f/FiendslayerPaladin.java | 2 +- Mage.Sets/src/mage/cards/f/FireServant.java | 2 +- .../src/mage/cards/f/FlamebladeAngel.java | 2 +- .../src/mage/cards/f/FlamesOfRemembrance.java | 2 +- .../mage/cards/f/FlayerOfTheHatebound.java | 2 +- Mage.Sets/src/mage/cards/f/Fluctuator.java | 2 +- .../src/mage/cards/f/FoeRazerRegent.java | 2 +- .../src/mage/cards/f/ForbiddenCrypt.java | 2 +- .../src/mage/cards/f/FracturedLoyalty.java | 2 +- .../src/mage/cards/g/GarnaTheBloodflame.java | 2 +- .../src/mage/cards/g/GenerousPatron.java | 4 ++-- Mage.Sets/src/mage/cards/g/GideonJura.java | 2 +- .../src/mage/cards/g/GideonsIntervention.java | 2 +- .../mage/cards/g/GiselaBladeOfGoldnight.java | 2 +- .../src/mage/cards/g/GladehartCavalry.java | 2 +- Mage.Sets/src/mage/cards/g/Gleancrawler.java | 2 +- .../src/mage/cards/g/GoblinRockSled.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinWarCry.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinWelder.java | 2 +- .../src/mage/cards/g/GrandWarlordRadha.java | 4 ++-- .../src/mage/cards/g/GratuitousViolence.java | 2 +- Mage.Sets/src/mage/cards/g/GraveBetrayal.java | 2 +- Mage.Sets/src/mage/cards/g/GravePact.java | 2 +- Mage.Sets/src/mage/cards/g/Gravecrawler.java | 2 +- Mage.Sets/src/mage/cards/g/GreatbowDoyen.java | 2 +- .../src/mage/cards/g/GrenzoHavocRaiser.java | 6 +++--- Mage.Sets/src/mage/cards/g/GrinningTotem.java | 2 +- Mage.Sets/src/mage/cards/g/GroundPounder.java | 2 +- .../src/mage/cards/g/GruulRagebeast.java | 2 +- .../src/mage/cards/g/GuardianOfTazeem.java | 2 +- Mage.Sets/src/mage/cards/g/Guile.java | 2 +- Mage.Sets/src/mage/cards/g/GutterGrime.java | 2 +- .../mage/cards/h/HaakonStromgaldScourge.java | 2 +- .../mage/cards/h/HallarTheFirefletcher.java | 2 +- .../src/mage/cards/h/HardenedBerserker.java | 2 +- .../src/mage/cards/h/HardenedScales.java | 2 +- Mage.Sets/src/mage/cards/h/HarmsWay.java | 2 +- Mage.Sets/src/mage/cards/h/HavengulLich.java | 2 +- .../src/mage/cards/h/HedronFieldPurists.java | 2 +- Mage.Sets/src/mage/cards/h/Hellrider.java | 2 +- Mage.Sets/src/mage/cards/h/HeraldOfWar.java | 2 +- Mage.Sets/src/mage/cards/h/HomewardPath.java | 2 +- Mage.Sets/src/mage/cards/h/Hostility.java | 2 +- Mage.Sets/src/mage/cards/i/IcefallRegent.java | 2 +- .../mage/cards/i/IkraShidiqiTheUsurper.java | 2 +- .../src/mage/cards/i/IllusionistsGambit.java | 2 +- Mage.Sets/src/mage/cards/i/Immerwolf.java | 2 +- .../src/mage/cards/i/IncreasingVengeance.java | 4 ++-- .../src/mage/cards/i/InfectiousCurse.java | 2 +- .../src/mage/cards/i/InfiniteReflection.java | 2 +- Mage.Sets/src/mage/cards/i/IreShaman.java | 2 +- .../src/mage/cards/i/IslandSanctuary.java | 2 +- .../mage/cards/j/JaceArchitectOfThought.java | 2 +- .../src/mage/cards/j/JaceCunningCastaway.java | 2 +- Mage.Sets/src/mage/cards/j/JarOfEyeballs.java | 2 +- Mage.Sets/src/mage/cards/j/Jokulmorder.java | 2 +- Mage.Sets/src/mage/cards/j/Juxtapose.java | 2 +- Mage.Sets/src/mage/cards/k/KarnLiberated.java | 2 +- .../src/mage/cards/k/KarnScionOfUrza.java | 2 +- .../src/mage/cards/k/KaronaFalseGod.java | 4 ++-- .../src/mage/cards/k/KarplusanMinotaur.java | 4 ++-- .../mage/cards/k/KazarovSengirPureblood.java | 2 +- .../src/mage/cards/k/KeeperOfTheDead.java | 4 ++-- .../src/mage/cards/k/KnacksawClique.java | 2 +- .../mage/cards/k/KnightsOfTheBlackRose.java | 2 +- .../src/mage/cards/k/KopalaWardenOfWaves.java | 4 ++-- .../src/mage/cards/k/KrarksOtherThumb.java | 2 +- Mage.Sets/src/mage/cards/k/KrarksThumb.java | 2 +- Mage.Sets/src/mage/cards/l/Larceny.java | 2 +- .../src/mage/cards/l/LashknifeBarrier.java | 2 +- .../mage/cards/l/LeovoldEmissaryOfTrest.java | 2 +- .../src/mage/cards/l/LightOfSanction.java | 6 +++--- .../mage/cards/l/LilianaUntouchedByDeath.java | 2 +- .../src/mage/cards/l/LilianasContract.java | 2 +- Mage.Sets/src/mage/cards/l/LoamingShaman.java | 4 ++-- .../src/mage/cards/l/LocketOfYesterdays.java | 2 +- .../src/mage/cards/l/LuminatePrimordial.java | 2 +- .../src/mage/cards/m/MaelstromNexus.java | 2 +- .../src/mage/cards/m/MagusOfTheWill.java | 4 ++-- .../src/mage/cards/m/MaliciousAffliction.java | 2 +- Mage.Sets/src/mage/cards/m/Manaplasm.java | 2 +- Mage.Sets/src/mage/cards/m/MangarasTome.java | 2 +- .../src/mage/cards/m/MarangRiverProwler.java | 2 +- .../src/mage/cards/m/MarchOfTheDroids.java | 2 +- .../mage/cards/m/MarchesaTheBlackRose.java | 2 +- Mage.Sets/src/mage/cards/m/MartyrsBond.java | 2 +- .../src/mage/cards/m/MasakoTheHumorless.java | 2 +- .../src/mage/cards/m/MasterBiomancer.java | 2 +- .../mage/cards/m/MavrenFeinDuskApostle.java | 2 +- .../src/mage/cards/m/MelekIzzetParagon.java | 2 +- .../src/mage/cards/m/MeliraSylvokOutcast.java | 2 +- Mage.Sets/src/mage/cards/m/MemoryCrystal.java | 2 +- Mage.Sets/src/mage/cards/m/MetallicMimic.java | 2 +- Mage.Sets/src/mage/cards/m/MidnightOil.java | 6 ++---- .../src/mage/cards/m/MightMakesRight.java | 2 +- Mage.Sets/src/mage/cards/m/Mindswipe.java | 2 +- Mage.Sets/src/mage/cards/m/Mirari.java | 2 +- Mage.Sets/src/mage/cards/m/MirrorMatch.java | 2 +- Mage.Sets/src/mage/cards/m/MirrorOfFate.java | 2 +- .../src/mage/cards/m/MirrorwingDragon.java | 2 +- .../src/mage/cards/m/MisthollowGriffin.java | 2 +- .../src/mage/cards/m/MizzixOfTheIzmagnus.java | 2 +- .../src/mage/cards/m/MonasterySiege.java | 2 +- .../mage/cards/m/MuldrothaTheGravetide.java | 4 ++-- .../src/mage/cards/m/MycoidShepherd.java | 2 +- .../mage/cards/n/NabanDeanOfIteration.java | 2 +- Mage.Sets/src/mage/cards/n/NaturesWill.java | 2 +- .../mage/cards/n/NecromancersMagemark.java | 2 +- .../src/mage/cards/n/NecropolisRegent.java | 2 +- Mage.Sets/src/mage/cards/n/Necropotence.java | 2 +- Mage.Sets/src/mage/cards/n/NestOfScarabs.java | 2 +- Mage.Sets/src/mage/cards/n/NetherTraitor.java | 2 +- .../src/mage/cards/n/NimDeathmantle.java | 2 +- .../mage/cards/n/NivixAerieOfTheFiremind.java | 2 +- .../src/mage/cards/n/NoRestForTheWicked.java | 2 +- Mage.Sets/src/mage/cards/n/NoblePurpose.java | 2 +- .../src/mage/cards/n/NotOfThisWorld.java | 4 ++-- Mage.Sets/src/mage/cards/o/OathOfGideon.java | 2 +- Mage.Sets/src/mage/cards/o/OathOfNissa.java | 2 +- .../src/mage/cards/o/OathswornVampire.java | 2 +- .../src/mage/cards/o/OonasBlackguard.java | 4 ++-- Mage.Sets/src/mage/cards/o/OranRiefHydra.java | 2 +- .../src/mage/cards/o/OrnateKanzashi.java | 2 +- Mage.Sets/src/mage/cards/o/OrzhovCharm.java | 4 ++-- Mage.Sets/src/mage/cards/o/OutpostSiege.java | 2 +- Mage.Sets/src/mage/cards/p/PalisadeGiant.java | 2 +- Mage.Sets/src/mage/cards/p/Panharmonicon.java | 2 +- .../src/mage/cards/p/ParallelThoughts.java | 2 +- Mage.Sets/src/mage/cards/p/PathOfMettle.java | 2 +- Mage.Sets/src/mage/cards/p/PawnOfUlamog.java | 2 +- .../src/mage/cards/p/PedanticLearning.java | 2 +- .../src/mage/cards/p/PerimeterCaptain.java | 2 +- .../src/mage/cards/p/PrecipiceOfMortis.java | 2 +- Mage.Sets/src/mage/cards/p/PriceOfGlory.java | 4 ++-- Mage.Sets/src/mage/cards/p/PrizedAmalgam.java | 2 +- Mage.Sets/src/mage/cards/p/ProperBurial.java | 2 +- .../mage/cards/p/PropheticFlamespeaker.java | 2 +- .../src/mage/cards/p/PureIntentions.java | 2 +- Mage.Sets/src/mage/cards/p/Purgatory.java | 2 +- .../src/mage/cards/p/PyromancerAscension.java | 4 ++-- .../src/mage/cards/p/PyromancersGauntlet.java | 2 +- .../src/mage/cards/p/PyromancersSwath.java | 2 +- .../src/mage/cards/q/QasaliAmbusher.java | 2 +- .../src/mage/cards/q/QasaliSlingers.java | 2 +- .../src/mage/cards/q/QuestForPureFlame.java | 4 ++-- Mage.Sets/src/mage/cards/q/Quicken.java | 2 +- Mage.Sets/src/mage/cards/r/RagingRiver.java | 4 ++-- Mage.Sets/src/mage/cards/r/RaidersSpoils.java | 2 +- Mage.Sets/src/mage/cards/r/RainOfGore.java | 2 +- .../src/mage/cards/r/RakdosLordOfRiots.java | 2 +- Mage.Sets/src/mage/cards/r/RakishHeir.java | 2 +- .../src/mage/cards/r/RakshasaVizier.java | 2 +- .../src/mage/cards/r/RavagerOfTheFells.java | 4 ++-- .../mage/cards/r/RayneAcademyChancellor.java | 2 +- .../src/mage/cards/r/RealitySmasher.java | 2 +- .../src/mage/cards/r/RefractionTrap.java | 2 +- Mage.Sets/src/mage/cards/r/RegalBehemoth.java | 2 +- .../src/mage/cards/r/RemoveEnchantments.java | 2 +- .../mage/cards/r/RenegadeDoppelganger.java | 2 +- Mage.Sets/src/mage/cards/r/Reparations.java | 2 +- Mage.Sets/src/mage/cards/r/Retribution.java | 2 +- .../mage/cards/r/ReyhanLastOfTheAbzan.java | 2 +- .../src/mage/cards/r/RhysTheRedeemed.java | 2 +- Mage.Sets/src/mage/cards/r/RingOfMaruf.java | 2 +- .../src/mage/cards/r/RisenExecutioner.java | 2 +- Mage.Sets/src/mage/cards/r/RoninWarclub.java | 2 +- Mage.Sets/src/mage/cards/r/RootSliver.java | 2 +- Mage.Sets/src/mage/cards/r/RowanKenrith.java | 2 +- .../src/mage/cards/r/RumblingAftershocks.java | 2 +- Mage.Sets/src/mage/cards/s/SacredGround.java | 2 +- .../src/mage/cards/s/SaffiEriksdotter.java | 2 +- Mage.Sets/src/mage/cards/s/SageOfFables.java | 2 +- .../mage/cards/s/SakikoMotherOfSummer.java | 2 +- .../src/mage/cards/s/SatyrFiredancer.java | 2 +- Mage.Sets/src/mage/cards/s/SavageStomp.java | 2 +- .../src/mage/cards/s/SavageSummoning.java | 4 ++-- Mage.Sets/src/mage/cards/s/SavingGrace.java | 2 +- .../src/mage/cards/s/ScourgeOfNelToth.java | 2 +- Mage.Sets/src/mage/cards/s/ScoutsWarning.java | 2 +- Mage.Sets/src/mage/cards/s/ScrapTrawler.java | 2 +- Mage.Sets/src/mage/cards/s/Scrapheap.java | 2 +- .../src/mage/cards/s/SealOfTheGuildpact.java | 2 +- Mage.Sets/src/mage/cards/s/SearingBlaze.java | 4 ++-- .../src/mage/cards/s/SelflessSquire.java | 2 +- .../src/mage/cards/s/SemblanceAnvil.java | 2 +- Mage.Sets/src/mage/cards/s/SenTriplets.java | 2 +- .../src/mage/cards/s/SenatorLottDod.java | 2 +- Mage.Sets/src/mage/cards/s/SerumPowder.java | 2 +- .../src/mage/cards/s/SeshiroTheAnointed.java | 2 +- .../src/mage/cards/s/SettleTheWreckage.java | 2 +- .../src/mage/cards/s/ShadowOfTheGrave.java | 2 +- .../mage/cards/s/ShamanOfForgottenWays.java | 2 +- .../src/mage/cards/s/ShannaSisaysLegacy.java | 2 +- .../src/mage/cards/s/ShapersSanctuary.java | 2 +- Mage.Sets/src/mage/cards/s/ShiningShoal.java | 2 +- .../src/mage/cards/s/ShipbreakerKraken.java | 2 +- .../mage/cards/s/ShireiShizosCaretaker.java | 2 +- .../src/mage/cards/s/SidisiBroodTyrant.java | 2 +- Mage.Sets/src/mage/cards/s/SigilCaptain.java | 2 +- .../mage/cards/s/SilasRennSeekerAdept.java | 2 +- .../src/mage/cards/s/SilverfurPartisan.java | 2 +- .../src/mage/cards/s/SimicGuildmage.java | 4 ++-- .../src/mage/cards/s/SirenStormtamer.java | 4 ++-- .../src/mage/cards/s/SokenzanRenegade.java | 2 +- .../src/mage/cards/s/SosukeSonOfSeshiro.java | 2 +- .../src/mage/cards/s/SoulOfShandalar.java | 4 ++-- .../src/mage/cards/s/SphinxAmbassador.java | 2 +- .../src/mage/cards/s/SqueeTheImmortal.java | 2 +- .../mage/cards/s/SquirrelPoweredScheme.java | 2 +- Mage.Sets/src/mage/cards/s/SteelSquirrel.java | 2 +- .../src/mage/cards/s/StensiaMasquerade.java | 2 +- .../src/mage/cards/s/StolenStrategy.java | 4 ++-- .../src/mage/cards/s/StromkirkOccultist.java | 2 +- .../src/mage/cards/s/SunbirdsInvocation.java | 2 +- .../src/mage/cards/t/TajuruPreserver.java | 2 +- Mage.Sets/src/mage/cards/t/TalusPaladin.java | 2 +- Mage.Sets/src/mage/cards/t/Tamanoa.java | 2 +- Mage.Sets/src/mage/cards/t/TangleKelp.java | 2 +- Mage.Sets/src/mage/cards/t/Taunt.java | 2 +- .../src/mage/cards/t/TeferiMageOfZhalfir.java | 4 ++-- .../src/mage/cards/t/TelimTorsEdict.java | 2 +- .../src/mage/cards/t/TempleAltisaur.java | 2 +- .../src/mage/cards/t/ThadaAdelAcquisitor.java | 2 +- Mage.Sets/src/mage/cards/t/TheBigIdea.java | 2 +- Mage.Sets/src/mage/cards/t/TheFallen.java | 2 +- .../src/mage/cards/t/TheFlameOfKeld.java | 2 +- .../src/mage/cards/t/TheGitrogMonster.java | 2 +- Mage.Sets/src/mage/cards/t/TheUrDragon.java | 2 +- .../src/mage/cards/t/ThopterSpyNetwork.java | 2 +- .../src/mage/cards/t/ThousandYearElixir.java | 2 +- Mage.Sets/src/mage/cards/t/ThreeWishes.java | 2 +- .../src/mage/cards/t/TianaShipsCaretaker.java | 2 +- .../src/mage/cards/t/TidebinderMage.java | 2 +- Mage.Sets/src/mage/cards/t/TimeOfIce.java | 2 +- Mage.Sets/src/mage/cards/t/TimeVault.java | 2 +- .../src/mage/cards/t/TreacherousTerrain.java | 2 +- .../mage/cards/t/TrostaniSelesnyasVoice.java | 2 +- .../src/mage/cards/t/TrueNameNemesis.java | 8 ++++---- Mage.Sets/src/mage/cards/t/TsabosDecree.java | 2 +- .../src/mage/cards/t/TuktukScrapper.java | 2 +- Mage.Sets/src/mage/cards/t/Turnabout.java | 4 ++-- .../src/mage/cards/t/TwilightShepherd.java | 2 +- .../src/mage/cards/t/TwistAllegiance.java | 4 ++-- .../mage/cards/u/UnconventionalTactics.java | 2 +- .../src/mage/cards/u/UndeadAlchemist.java | 2 +- .../cards/u/UneshCriosphinxSovereign.java | 2 +- .../cards/v/ValakutTheMoltenPinnacle.java | 2 +- .../src/mage/cards/v/ValeronWardens.java | 2 +- .../mage/cards/v/VancesBlastingCannons.java | 2 +- .../src/mage/cards/v/VanquishersBanner.java | 2 +- .../src/mage/cards/v/VeilstoneAmulet.java | 2 +- .../src/mage/cards/v/VengefulPharaoh.java | 2 +- .../src/mage/cards/v/VerdantSunsAvatar.java | 2 +- .../src/mage/cards/v/VigilForTheLost.java | 2 +- .../src/mage/cards/v/VizierOfRemedies.java | 2 +- .../mage/cards/v/VizierOfTheMenagerie.java | 2 +- Mage.Sets/src/mage/cards/w/WakeThrasher.java | 2 +- Mage.Sets/src/mage/cards/w/Warbringer.java | 2 +- Mage.Sets/src/mage/cards/w/WarstormSurge.java | 2 +- Mage.Sets/src/mage/cards/w/WebOfInertia.java | 2 +- .../src/mage/cards/w/WharfInfiltrator.java | 2 +- .../src/mage/cards/w/WheelOfSunAndMoon.java | 2 +- Mage.Sets/src/mage/cards/w/WildDefiance.java | 2 +- Mage.Sets/src/mage/cards/w/Willbreaker.java | 2 +- .../src/mage/cards/w/WillingTestSubject.java | 2 +- .../src/mage/cards/w/WindingConstrictor.java | 2 +- Mage.Sets/src/mage/cards/w/WordOfUndoing.java | 2 +- Mage.Sets/src/mage/cards/w/WordsOfWar.java | 2 +- Mage.Sets/src/mage/cards/w/WordsOfWaste.java | 2 +- .../src/mage/cards/w/WordsOfWilding.java | 2 +- Mage.Sets/src/mage/cards/w/WordsOfWind.java | 2 +- .../src/mage/cards/w/WordsOfWorship.java | 2 +- .../src/mage/cards/w/WorldheartPhoenix.java | 2 +- Mage.Sets/src/mage/cards/w/Worship.java | 2 +- .../src/mage/cards/w/WortTheRaidmother.java | 2 +- .../src/mage/cards/y/YawgmothsAgenda.java | 2 +- Mage.Sets/src/mage/cards/y/YawgmothsWill.java | 2 +- .../mage/cards/y/YidrisMaelstromWielder.java | 2 +- .../src/mage/cards/z/ZadaHedronGrinder.java | 2 +- .../src/mage/cards/z/ZameckGuildmage.java | 2 +- .../base/impl/CardTestPlayerAPIImpl.java | 4 ++-- .../mage/abilities/ActivatedAbilityImpl.java | 6 +++--- .../java/mage/abilities/SpecialActions.java | 2 +- .../java/mage/abilities/SpellAbility.java | 2 +- ...AllyEntersBattlefieldTriggeredAbility.java | 2 +- .../AttackedByCreatureTriggeredAbility.java | 2 +- .../common/AttacksAllTriggeredAbility.java | 2 +- .../BecomesMonstrousTriggeredAbility.java | 2 +- .../BeginningOfDrawTriggeredAbility.java | 2 +- .../BeginningOfEndStepTriggeredAbility.java | 2 +- .../BeginningOfUpkeepTriggeredAbility.java | 2 +- ...ealCombatDamagePlayerTriggeredAbility.java | 2 +- ...tureEntersBattlefieldTriggeredAbility.java | 2 +- ...mageToAPlayerAttachedTriggeredAbility.java | 2 +- ...BattlefieldControlledTriggeredAbility.java | 2 +- ...ertCreatureControllerTriggeredAbility.java | 2 +- .../abilities/common/LandfallAbility.java | 2 +- ...aveFromBattlefieldAllTriggeredAbility.java | 2 +- ...llCounteredControllerTriggeredAbility.java | 2 +- ...ginOfMainPhaseDelayedTriggeredAbility.java | 2 +- ...nOfNextEndStepDelayedTriggeredAbility.java | 2 +- .../common/CommanderInPlayCondition.java | 2 +- .../ControllerAttackedThisTurnCondition.java | 2 +- .../condition/common/MeldCondition.java | 4 ++-- .../MonarchIsSourceControllerCondition.java | 2 +- ...anentsYouOwnThatOpponentsControlCount.java | 2 +- .../abilities/effects/ContinuousEffects.java | 2 +- .../effects/GainAbilitySpellsEffect.java | 4 ++-- .../CantBeCounteredControlledEffect.java | 2 +- .../CreatureExploresTriggeredAbility.java | 2 +- ...tUntapInControllersUntapStepAllEffect.java | 2 +- ...InControllersUntapStepEnchantedEffect.java | 2 +- ...tapInControllersUntapStepSourceEffect.java | 2 +- ...tUntapInPlayersNextUntapStepAllEffect.java | 2 +- .../common/PutOnLibraryTargetEffect.java | 4 ++-- .../common/ReturnToHandTargetEffect.java | 4 ++-- .../effects/common/SacrificeSourceEffect.java | 2 +- .../common/SkipUntapOptionalSourceEffect.java | 2 +- .../abilities/effects/common/WishEffect.java | 2 +- .../CantAttackControllerAttachedEffect.java | 2 +- .../CantAttackYouOrPlaneswalkerAllEffect.java | 2 +- .../CantAttackYouUnlessPayManaAllEffect.java | 4 ++-- .../effects/common/combat/GoadAllEffect.java | 2 +- ...itiesAnyTimeYouCouldCastInstantEffect.java | 2 +- .../CastAsThoughItHadFlashAllEffect.java | 2 +- .../ExchangeControlTargetEffect.java | 2 +- .../GainAbilityControlledSpellsEffect.java | 2 +- .../continuous/GainControlTargetEffect.java | 2 +- .../continuous/PlayTheTopCardEffect.java | 2 +- ...DuringEachOtherPlayersUntapStepEffect.java | 2 +- ...DuringEachOtherPlayersUntapStepEffect.java | 2 +- ...bilitiesCostReductionControllerEffect.java | 2 +- ...pellsCostIncreasementControllerEffect.java | 2 +- .../cost/SpellsCostReductionAllEffect.java | 4 ++-- .../SpellsCostReductionControllerEffect.java | 2 +- .../abilities/keyword/AuraSwapAbility.java | 2 +- .../mage/abilities/keyword/EvolveAbility.java | 2 +- .../abilities/keyword/HideawayAbility.java | 2 +- .../abilities/keyword/OfferingAbility.java | 2 +- .../abilities/keyword/RecoverAbility.java | 2 +- .../mage/abilities/keyword/RepairAbility.java | 2 +- .../abilities/keyword/SoulbondAbility.java | 4 ++-- Mage/src/main/java/mage/cards/Card.java | 4 ++++ .../predicate/other/OwnerPredicate.java | 6 +++--- ...ttachedToControlledPermanentPredicate.java | 2 +- .../permanent/ControllerPredicate.java | 8 ++++---- .../DefendingPlayerControlsPredicate.java | 2 +- .../DefendingPlayerOwnsCardPredicate.java | 2 +- .../src/main/java/mage/game/Controllable.java | 4 ++++ Mage/src/main/java/mage/game/GameImpl.java | 17 ++++++++-------- .../main/java/mage/game/combat/Combat.java | 6 +++--- .../command/emblems/AjaniSteadfastEmblem.java | 2 +- .../emblems/DarettiScrapSavantEmblem.java | 2 +- .../planes/TrailOfTheMageRingsPlane.java | 2 +- .../java/mage/game/permanent/Battlefield.java | 12 +++++------ Mage/src/main/java/mage/game/stack/Spell.java | 4 ++-- Mage/src/main/java/mage/players/Library.java | 4 ++-- .../main/java/mage/players/PlayerImpl.java | 20 +++++++++---------- .../common/TargetCardInASingleGraveyard.java | 2 +- .../TargetCardInOpponentsGraveyard.java | 2 +- ...TargetCreaturePermanentSameController.java | 2 +- .../target/common/TargetTriggeredAbility.java | 6 +++--- 464 files changed, 567 insertions(+), 562 deletions(-) diff --git a/Mage.Common/src/main/java/mage/view/CardsView.java b/Mage.Common/src/main/java/mage/view/CardsView.java index ce01784dd03..2a1264f0ce5 100644 --- a/Mage.Common/src/main/java/mage/view/CardsView.java +++ b/Mage.Common/src/main/java/mage/view/CardsView.java @@ -73,7 +73,7 @@ public class CardsView extends LinkedHashMap { case BATTLEFIELD: sourceObject = game.getPermanent(ability.getSourceId()); if (sourceObject == null) { - sourceObject = (Permanent) game.getLastKnownInformation(ability.getSourceId(), Zone.BATTLEFIELD); + sourceObject = game.getLastKnownInformation(ability.getSourceId(), Zone.BATTLEFIELD); } isPermanent = true; break; diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index 14ffb4b12e9..f38270bec6f 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -136,7 +136,7 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ { sb.setLength(0); sb.append("-> Permanents: ["); for (Permanent permanent : game.getBattlefield().getAllPermanents()) { - if (permanent.getOwnerId().equals(player.getId())) { + if (permanent.isOwnedBy(player.getId())) { sb.append(permanent.getName()); if (permanent.isTapped()) { sb.append("(tapped)"); diff --git a/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java b/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java index a73a5b031f8..5d44aa8dd68 100644 --- a/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java +++ b/Mage.Sets/src/mage/cards/a/AbandonedSarcophagus.java @@ -155,7 +155,7 @@ class AbandonedSarcophagusReplacementEffect extends ReplacementEffectImpl { Card card = game.getCard(event.getTargetId()); if (card != null && watcher != null - && card.getOwnerId().equals(controller.getId())) { + && card.isOwnedBy(controller.getId())) { for (Ability ability : card.getAbilities()) { if (ability instanceof CyclingAbility) { cardHasCycling = true; @@ -199,7 +199,7 @@ class AbandonedSarcophagusWatcher extends Watcher { Player controller = game.getPlayer(event.getPlayerId()); if (card != null && controller != null - && card.getOwnerId().equals(controller.getId())) { + && card.isOwnedBy(controller.getId())) { Cards c = getCardsCycledThisTurn(event.getPlayerId()); c.add(card); cycledCardsThisTurn.put(event.getPlayerId(), c); diff --git a/Mage.Sets/src/mage/cards/a/AbbotOfKeralKeep.java b/Mage.Sets/src/mage/cards/a/AbbotOfKeralKeep.java index f7ae5aec0a8..c8a371940d5 100644 --- a/Mage.Sets/src/mage/cards/a/AbbotOfKeralKeep.java +++ b/Mage.Sets/src/mage/cards/a/AbbotOfKeralKeep.java @@ -108,7 +108,7 @@ class AbbotOfKeralKeepCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/a/AcidicSoil.java b/Mage.Sets/src/mage/cards/a/AcidicSoil.java index a18d1636248..cbb5e62189c 100644 --- a/Mage.Sets/src/mage/cards/a/AcidicSoil.java +++ b/Mage.Sets/src/mage/cards/a/AcidicSoil.java @@ -57,7 +57,7 @@ class AcidicSoilEffect extends OneShotEffect { if (player != null) { int amount = 0; for (Permanent permanent : permanents) { - if (permanent.getControllerId().equals(playerId)) { + if (permanent.isControlledBy(playerId)) { amount++; } } diff --git a/Mage.Sets/src/mage/cards/a/AerialCaravan.java b/Mage.Sets/src/mage/cards/a/AerialCaravan.java index 8dadcf7bb7d..933595fcd9b 100644 --- a/Mage.Sets/src/mage/cards/a/AerialCaravan.java +++ b/Mage.Sets/src/mage/cards/a/AerialCaravan.java @@ -114,7 +114,7 @@ class AerialCaravanCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/a/AetherCharge.java b/Mage.Sets/src/mage/cards/a/AetherCharge.java index e2ce3a6dd38..6563c83d149 100644 --- a/Mage.Sets/src/mage/cards/a/AetherCharge.java +++ b/Mage.Sets/src/mage/cards/a/AetherCharge.java @@ -70,7 +70,7 @@ class AetherChargeTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() && permanent.hasSubtype(SubType.BEAST, game) - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { Effect effect = this.getEffects().get(0); effect.setValue("damageSource", event.getTargetId()); return true; diff --git a/Mage.Sets/src/mage/cards/a/Aetherspouts.java b/Mage.Sets/src/mage/cards/a/Aetherspouts.java index d7988ad0f3d..4c565abaad6 100644 --- a/Mage.Sets/src/mage/cards/a/Aetherspouts.java +++ b/Mage.Sets/src/mage/cards/a/Aetherspouts.java @@ -81,7 +81,7 @@ class AetherspoutsEffect extends OneShotEffect { List permanentsToTop = new ArrayList<>(); List permanentsToBottom = new ArrayList<>(); for (Permanent permanent:game.getState().getBattlefield().getActivePermanents(new FilterAttackingCreature(), player.getId(), source.getSourceId(), game)) { - if (permanent.getOwnerId().equals(player.getId())) { + if (permanent.isOwnedBy(player.getId())) { if (player.chooseUse(outcome, "Put " + permanent.getLogName() + " to the top? (else it goes to bottom)", source, game)) { permanentsToTop.add(permanent); game.informPlayers(permanent.getLogName() + " goes to the top of " + player.getLogName() + "'s library"); diff --git a/Mage.Sets/src/mage/cards/a/AjanisLastStand.java b/Mage.Sets/src/mage/cards/a/AjanisLastStand.java index a19f94d94ce..10e72b763e4 100644 --- a/Mage.Sets/src/mage/cards/a/AjanisLastStand.java +++ b/Mage.Sets/src/mage/cards/a/AjanisLastStand.java @@ -85,7 +85,7 @@ class AjanisLastStandTriggeredAbility extends TriggeredAbilityImpl { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { - if (zEvent.getTarget().getControllerId().equals(controllerId) + if (zEvent.getTarget().isControlledBy(controllerId) && (zEvent.getTarget().isCreature() || zEvent.getTarget().isPlaneswalker())) { return true; diff --git a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java index 53b699b5281..9a7d5c7f437 100644 --- a/Mage.Sets/src/mage/cards/a/AkoumFirebird.java +++ b/Mage.Sets/src/mage/cards/a/AkoumFirebird.java @@ -79,7 +79,7 @@ class AkoumFirebirdLandfallAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - return permanent != null && permanent.isLand() && permanent.getControllerId().equals(this.controllerId); + return permanent != null && permanent.isLand() && permanent.isControlledBy(this.controllerId); } @Override diff --git a/Mage.Sets/src/mage/cards/a/AkoumHellkite.java b/Mage.Sets/src/mage/cards/a/AkoumHellkite.java index 86698bc1f95..24a13cc1423 100644 --- a/Mage.Sets/src/mage/cards/a/AkoumHellkite.java +++ b/Mage.Sets/src/mage/cards/a/AkoumHellkite.java @@ -82,7 +82,7 @@ class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isLand() - && permanent.getControllerId().equals(getControllerId())) { + && permanent.isControlledBy(getControllerId())) { Permanent sourcePermanent = game.getPermanent(getSourceId()); if (sourcePermanent != null) { for (Effect effect : getEffects()) { diff --git a/Mage.Sets/src/mage/cards/a/AladdinsLamp.java b/Mage.Sets/src/mage/cards/a/AladdinsLamp.java index 040d1cf38bd..6db19c46d5e 100644 --- a/Mage.Sets/src/mage/cards/a/AladdinsLamp.java +++ b/Mage.Sets/src/mage/cards/a/AladdinsLamp.java @@ -87,6 +87,6 @@ class AladdinsLampEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/a/AmbuscadeShaman.java b/Mage.Sets/src/mage/cards/a/AmbuscadeShaman.java index fc57daa583c..2c8e04683a3 100644 --- a/Mage.Sets/src/mage/cards/a/AmbuscadeShaman.java +++ b/Mage.Sets/src/mage/cards/a/AmbuscadeShaman.java @@ -75,7 +75,7 @@ class AmbuscadeShamanTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { UUID targetId = event.getTargetId(); Permanent permanent = game.getPermanent(targetId); - if (permanent.getControllerId().equals(this.controllerId) + if (permanent.isControlledBy(this.controllerId) && permanent.isCreature()) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; diff --git a/Mage.Sets/src/mage/cards/a/AmuletOfVigor.java b/Mage.Sets/src/mage/cards/a/AmuletOfVigor.java index 046b2b44c55..0915957d35b 100644 --- a/Mage.Sets/src/mage/cards/a/AmuletOfVigor.java +++ b/Mage.Sets/src/mage/cards/a/AmuletOfVigor.java @@ -58,7 +58,7 @@ class AmuletOfVigorTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent p = game.getPermanent(event.getTargetId()); - if (p != null && p.isTapped() && p.getControllerId().equals(this.controllerId)) { + if (p != null && p.isTapped() && p.isControlledBy(this.controllerId)) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getTargetId())); } diff --git a/Mage.Sets/src/mage/cards/a/AngelicChorus.java b/Mage.Sets/src/mage/cards/a/AngelicChorus.java index 077345b9f27..7bf37261066 100644 --- a/Mage.Sets/src/mage/cards/a/AngelicChorus.java +++ b/Mage.Sets/src/mage/cards/a/AngelicChorus.java @@ -58,7 +58,7 @@ class AngelicChorusTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { this.getEffects().get(0).setValue("lifeSource", event.getTargetId()); return true; } diff --git a/Mage.Sets/src/mage/cards/a/AnimarSoulOfElements.java b/Mage.Sets/src/mage/cards/a/AnimarSoulOfElements.java index 986e8d695d1..89381973065 100644 --- a/Mage.Sets/src/mage/cards/a/AnimarSoulOfElements.java +++ b/Mage.Sets/src/mage/cards/a/AnimarSoulOfElements.java @@ -84,7 +84,7 @@ class AnimarCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return spell.isCreature(); diff --git a/Mage.Sets/src/mage/cards/a/AnimationModule.java b/Mage.Sets/src/mage/cards/a/AnimationModule.java index 877681d2e02..2263af2ca3c 100644 --- a/Mage.Sets/src/mage/cards/a/AnimationModule.java +++ b/Mage.Sets/src/mage/cards/a/AnimationModule.java @@ -84,7 +84,7 @@ class AnimationModuleTriggeredAbility extends TriggeredAbilityImpl { if (permanent == null) { permanent = game.getPermanentEntering(event.getTargetId()); } - return permanent != null && permanent.getControllerId().equals(this.getControllerId()); + return permanent != null && permanent.isControlledBy(this.getControllerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/a/ApexOfPower.java b/Mage.Sets/src/mage/cards/a/ApexOfPower.java index 81c7222911e..7cedb5425bb 100644 --- a/Mage.Sets/src/mage/cards/a/ApexOfPower.java +++ b/Mage.Sets/src/mage/cards/a/ApexOfPower.java @@ -110,7 +110,7 @@ class ApexOfPowerCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/a/ArcaneAdaptation.java b/Mage.Sets/src/mage/cards/a/ArcaneAdaptation.java index 12a962afb6f..0a0d05fd249 100644 --- a/Mage.Sets/src/mage/cards/a/ArcaneAdaptation.java +++ b/Mage.Sets/src/mage/cards/a/ArcaneAdaptation.java @@ -89,7 +89,7 @@ class ConspyEffect extends ContinuousEffectImpl { } // in Library (e.g. for Mystical Teachings) for (Card card : controller.getLibrary().getCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.isCreature() && !card.hasSubtype(subType, game)) { + if (card.isOwnedBy(controller.getId()) && card.isCreature() && !card.hasSubtype(subType, game)) { game.getState().getCreateCardAttribute(card, game).getSubtype().add(subType); } } @@ -106,7 +106,7 @@ class ConspyEffect extends ContinuousEffectImpl { for (Iterator iterator = game.getStack().iterator(); iterator.hasNext();) { StackObject stackObject = iterator.next(); if (stackObject instanceof Spell - && stackObject.getControllerId().equals(source.getControllerId()) + && stackObject.isControlledBy(source.getControllerId()) && stackObject.isCreature() && !stackObject.hasSubtype(subType, game)) { Card card = ((Spell) stackObject).getCard(); diff --git a/Mage.Sets/src/mage/cards/a/ArchonOfRedemption.java b/Mage.Sets/src/mage/cards/a/ArchonOfRedemption.java index 1386b5e8b2f..4107f3f9901 100644 --- a/Mage.Sets/src/mage/cards/a/ArchonOfRedemption.java +++ b/Mage.Sets/src/mage/cards/a/ArchonOfRedemption.java @@ -66,7 +66,7 @@ class ArchonOfRedemptionTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent.getControllerId().equals(getControllerId()) + if (permanent.isControlledBy(getControllerId()) && permanent.isCreature() && (permanent.getId().equals(getSourceId()) || (permanent.getAbilities().contains(FlyingAbility.getInstance())))) { diff --git a/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java b/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java index 83adf2f33fc..d24d1a4de07 100644 --- a/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java +++ b/Mage.Sets/src/mage/cards/a/AsLuckWouldHaveIt.java @@ -68,7 +68,7 @@ class AsLuckWouldHaveItTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { for (Effect effect : this.getEffects()) { effect.setValue("rolled", event.getAmount()); } diff --git a/Mage.Sets/src/mage/cards/a/AsmiraHolyAvenger.java b/Mage.Sets/src/mage/cards/a/AsmiraHolyAvenger.java index 8f8ac3242bf..60cb57bd4f0 100644 --- a/Mage.Sets/src/mage/cards/a/AsmiraHolyAvenger.java +++ b/Mage.Sets/src/mage/cards/a/AsmiraHolyAvenger.java @@ -78,7 +78,7 @@ class AsmiraHolyAvengerWatcher extends Watcher { public void watch(GameEvent event, Game game) { if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { MageObject card = game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (card != null && ((Card) card).getOwnerId().equals(this.controllerId) && card.isCreature()) { + if (card != null && ((Card) card).isOwnedBy(this.controllerId) && card.isCreature()) { creaturesCount++; } } diff --git a/Mage.Sets/src/mage/cards/b/BattlefieldThaumaturge.java b/Mage.Sets/src/mage/cards/b/BattlefieldThaumaturge.java index a927300c895..635027c5ad3 100644 --- a/Mage.Sets/src/mage/cards/b/BattlefieldThaumaturge.java +++ b/Mage.Sets/src/mage/cards/b/BattlefieldThaumaturge.java @@ -80,7 +80,7 @@ class BattlefieldThaumaturgeSpellsCostReductionEffect extends CostModificationEf @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if ((abilityToModify instanceof SpellAbility) - && abilityToModify.getControllerId().equals(source.getControllerId())) { + && abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); return spell != null && StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY.match(spell, game); } diff --git a/Mage.Sets/src/mage/cards/b/BidentOfThassa.java b/Mage.Sets/src/mage/cards/b/BidentOfThassa.java index c6b52126a08..6161b610116 100644 --- a/Mage.Sets/src/mage/cards/b/BidentOfThassa.java +++ b/Mage.Sets/src/mage/cards/b/BidentOfThassa.java @@ -74,7 +74,7 @@ class BidentOfThassaTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/b/Bioshift.java b/Mage.Sets/src/mage/cards/b/Bioshift.java index cccdcd17130..2876e55ca5c 100644 --- a/Mage.Sets/src/mage/cards/b/Bioshift.java +++ b/Mage.Sets/src/mage/cards/b/Bioshift.java @@ -82,7 +82,7 @@ class MoveCounterFromTargetToTargetEffect extends OneShotEffect { if (source.getTargets().size() > 1) { toPermanent = game.getPermanent(source.getTargets().get(1).getFirstTarget()); } - if (fromPermanent == null || toPermanent == null || !fromPermanent.getControllerId().equals(toPermanent.getControllerId())) { + if (fromPermanent == null || toPermanent == null || !fromPermanent.isControlledBy(toPermanent.getControllerId())) { return false; } int amountCounters = fromPermanent.getCounters(game).getCount(CounterType.P1P1); @@ -114,7 +114,7 @@ class SameControllerPredicate implements ObjectSourcePlayerPredicate 0) { return true; diff --git a/Mage.Sets/src/mage/cards/b/Bossk.java b/Mage.Sets/src/mage/cards/b/Bossk.java index 302bea02de9..f8742c1cac7 100644 --- a/Mage.Sets/src/mage/cards/b/Bossk.java +++ b/Mage.Sets/src/mage/cards/b/Bossk.java @@ -81,7 +81,7 @@ class BosskTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.isLand() && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isLand() && permanent.isControlledBy(this.getControllerId())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/b/BottledCloister.java b/Mage.Sets/src/mage/cards/b/BottledCloister.java index 40fe3da5154..8036cdc8f54 100644 --- a/Mage.Sets/src/mage/cards/b/BottledCloister.java +++ b/Mage.Sets/src/mage/cards/b/BottledCloister.java @@ -111,7 +111,7 @@ class BottledCloisterReturnEffect extends OneShotEffect { ExileZone exileZone = game.getExile().getExileZone(exileId); if (exileZone != null) { for (Card card: exileZone.getCards(game)) { - if (card.getOwnerId().equals(controller.getId())) { + if (card.isOwnedBy(controller.getId())) { numberOfCards++; card.moveToZone(Zone.HAND, source.getSourceId(), game, true); card.setFaceDown(false, game); diff --git a/Mage.Sets/src/mage/cards/b/BoundDetermined.java b/Mage.Sets/src/mage/cards/b/BoundDetermined.java index 728e21e9db0..cfb16ba5176 100644 --- a/Mage.Sets/src/mage/cards/b/BoundDetermined.java +++ b/Mage.Sets/src/mage/cards/b/BoundDetermined.java @@ -141,6 +141,6 @@ class DeterminedEffect extends ContinuousRuleModifyingEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); - return spell != null && !spell.getSourceId().equals(source.getSourceId()) && spell.getControllerId().equals(source.getControllerId()); + return spell != null && !spell.getSourceId().equals(source.getSourceId()) && spell.isControlledBy(source.getControllerId()); } } diff --git a/Mage.Sets/src/mage/cards/b/BowerPassage.java b/Mage.Sets/src/mage/cards/b/BowerPassage.java index 9b4194823b8..2051063fd98 100644 --- a/Mage.Sets/src/mage/cards/b/BowerPassage.java +++ b/Mage.Sets/src/mage/cards/b/BowerPassage.java @@ -60,7 +60,7 @@ class BowerPassageEffect extends RestrictionEffect { @Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { - if (attacker != null && attacker.getControllerId().equals(source.getControllerId()) && blocker.getAbilities().contains(FlyingAbility.getInstance())) { + if (attacker != null && attacker.isControlledBy(source.getControllerId()) && blocker.getAbilities().contains(FlyingAbility.getInstance())) { return false; } return true; diff --git a/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java b/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java index b2445b48113..00a2692cc53 100644 --- a/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java +++ b/Mage.Sets/src/mage/cards/b/BramblewoodParagon.java @@ -79,7 +79,7 @@ class BramblewoodParagonReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = ((EntersTheBattlefieldEvent) event).getTarget(); - return creature != null && creature.getControllerId().equals(source.getControllerId()) + return creature != null && creature.isControlledBy(source.getControllerId()) && creature.isCreature() && creature.hasSubtype(SubType.WARRIOR, game) && !event.getTargetId().equals(source.getSourceId()); diff --git a/Mage.Sets/src/mage/cards/b/BredForTheHunt.java b/Mage.Sets/src/mage/cards/b/BredForTheHunt.java index 13dca000ce4..2c5f15e810a 100644 --- a/Mage.Sets/src/mage/cards/b/BredForTheHunt.java +++ b/Mage.Sets/src/mage/cards/b/BredForTheHunt.java @@ -62,7 +62,7 @@ class BredForTheHuntTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(getControllerId()) && creature.getCounters(game).getCount(CounterType.P1P1) > 0) { + if (creature != null && creature.isControlledBy(getControllerId()) && creature.getCounters(game).getCount(CounterType.P1P1) > 0) { return true; } } diff --git a/Mage.Sets/src/mage/cards/b/BroodingSaurian.java b/Mage.Sets/src/mage/cards/b/BroodingSaurian.java index 0a2383c781d..135bbcff7c9 100644 --- a/Mage.Sets/src/mage/cards/b/BroodingSaurian.java +++ b/Mage.Sets/src/mage/cards/b/BroodingSaurian.java @@ -88,7 +88,7 @@ class BroodingSaurianControlEffect extends ContinuousEffectImpl { for (Iterator it = affectedObjectList.iterator(); it.hasNext();) { Permanent creature = it.next().getPermanent(game); if (creature != null) { - if (!creature.getControllerId().equals(creature.getOwnerId())) { + if (!creature.isControlledBy(creature.getOwnerId())) { creature.changeControllerId(creature.getOwnerId(), game); } } else { diff --git a/Mage.Sets/src/mage/cards/b/BrutalHordechief.java b/Mage.Sets/src/mage/cards/b/BrutalHordechief.java index eb3cc16faf9..e3b37d68008 100644 --- a/Mage.Sets/src/mage/cards/b/BrutalHordechief.java +++ b/Mage.Sets/src/mage/cards/b/BrutalHordechief.java @@ -113,7 +113,7 @@ class BrutalHordechiefTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent source = game.getPermanent(event.getSourceId()); - if (source != null && source.getControllerId().equals(controllerId)) { + if (source != null && source.isControlledBy(controllerId)) { UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(event.getSourceId(), game); this.getEffects().get(0).setTargetPointer(new FixedTarget(defendingPlayerId)); return true; diff --git a/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java b/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java index b386732ee92..e5607074fe6 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java @@ -82,7 +82,7 @@ class CallerOfTheClawWatcher extends Watcher { public void watch(GameEvent event, Game game) { if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { Permanent card = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (card != null && card.getOwnerId().equals(this.controllerId) && card.isCreature() && !(card instanceof PermanentToken)) { + if (card != null && card.isOwnedBy(this.controllerId) && card.isCreature() && !(card instanceof PermanentToken)) { creaturesCount++; } } diff --git a/Mage.Sets/src/mage/cards/c/CampaignOfVengeance.java b/Mage.Sets/src/mage/cards/c/CampaignOfVengeance.java index 9db40745045..074e519a836 100644 --- a/Mage.Sets/src/mage/cards/c/CampaignOfVengeance.java +++ b/Mage.Sets/src/mage/cards/c/CampaignOfVengeance.java @@ -61,7 +61,7 @@ class CampaignOfVengeanceTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent source = game.getPermanent(event.getSourceId()); - if (source != null && source.getControllerId().equals(controllerId)) { + if (source != null && source.isControlledBy(controllerId)) { UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(event.getSourceId(), game); this.getEffects().get(0).setTargetPointer(new FixedTarget(defendingPlayerId)); return true; diff --git a/Mage.Sets/src/mage/cards/c/CastThroughTime.java b/Mage.Sets/src/mage/cards/c/CastThroughTime.java index 92a51e71af4..143688a4200 100644 --- a/Mage.Sets/src/mage/cards/c/CastThroughTime.java +++ b/Mage.Sets/src/mage/cards/c/CastThroughTime.java @@ -77,7 +77,7 @@ class GainReboundEffect extends ContinuousEffectImpl { } for (Iterator iterator = game.getStack().iterator(); iterator.hasNext();) { StackObject stackObject = iterator.next(); - if (stackObject instanceof Spell && stackObject.getControllerId().equals(source.getControllerId())) { + if (stackObject instanceof Spell && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; Card card = spell.getCard(); if (card != null) { diff --git a/Mage.Sets/src/mage/cards/c/CatalystStone.java b/Mage.Sets/src/mage/cards/c/CatalystStone.java index bdcf7f251ef..0837d009974 100644 --- a/Mage.Sets/src/mage/cards/c/CatalystStone.java +++ b/Mage.Sets/src/mage/cards/c/CatalystStone.java @@ -89,7 +89,7 @@ class CatalystStoneCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { return SpellAbilityCastMode.FLASHBACK.equals(((SpellAbility) abilityToModify).getSpellAbilityCastMode()); } } diff --git a/Mage.Sets/src/mage/cards/c/CelestialDawn.java b/Mage.Sets/src/mage/cards/c/CelestialDawn.java index 26e74879d8a..787eaf39cc2 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialDawn.java +++ b/Mage.Sets/src/mage/cards/c/CelestialDawn.java @@ -122,13 +122,13 @@ class CelestialDawnToWhiteEffect extends ContinuousEffectImpl { } // Stack for (MageObject object : game.getStack()) { - if (object instanceof Spell && ((Spell) object).getControllerId().equals(controller.getId())) { + if (object instanceof Spell && ((Spell) object).isControlledBy(controller.getId())) { setColor(object.getColor(game), game); } } // Exile for (Card card : game.getExile().getAllCards(game)) { - if (card.getOwnerId().equals(controller.getId())) { + if (card.isOwnedBy(controller.getId())) { setColor(card.getColor(game), game); } } diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java b/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java index 3422e28fc32..de10a0845e0 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java @@ -79,7 +79,7 @@ class ChampionOfLambholtEffect extends RestrictionEffect { @Override public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); - if (sourcePermanent != null && attacker.getControllerId().equals(sourcePermanent.getControllerId())) { + if (sourcePermanent != null && attacker.isControlledBy(sourcePermanent.getControllerId())) { return blocker.getPower().getValue() >= sourcePermanent.getPower().getValue(); } return true; diff --git a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java index 9cae7a541b3..f417f603a91 100644 --- a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java +++ b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java @@ -68,7 +68,7 @@ class ChanceEncounterTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - return this.getControllerId().equals(event.getPlayerId()) && event.getFlag(); + return this.isControlledBy(event.getPlayerId()) && event.getFlag(); } @Override diff --git a/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java b/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java index e2975f6b7d3..4e5b7fe082d 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java +++ b/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java @@ -115,7 +115,7 @@ class ChandraPyromasterTarget extends TargetPermanent { } UUID firstTarget = player.getId(); Permanent permanent = game.getPermanent(id); - if (firstTarget != null && permanent != null && permanent.getControllerId().equals(firstTarget)) { + if (firstTarget != null && permanent != null && permanent.isControlledBy(firstTarget)) { return super.canTarget(id, source, game); } return false; @@ -142,7 +142,7 @@ class ChandraPyromasterTarget extends TargetPermanent { if (player != null) { for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); - if (permanent != null && permanent.getControllerId().equals(player.getId())) { + if (permanent != null && permanent.isControlledBy(player.getId())) { possibleTargets.add(targetId); } } diff --git a/Mage.Sets/src/mage/cards/c/ChannelHarm.java b/Mage.Sets/src/mage/cards/c/ChannelHarm.java index 4d063d06442..ecd7da14f4f 100644 --- a/Mage.Sets/src/mage/cards/c/ChannelHarm.java +++ b/Mage.Sets/src/mage/cards/c/ChannelHarm.java @@ -82,14 +82,14 @@ class ChannelHarmEffect extends PreventionEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (super.applies(event, source, game)) { Permanent targetPermanent = game.getPermanent(event.getTargetId()); - if ((targetPermanent != null && targetPermanent.getControllerId().equals(source.getControllerId())) + if ((targetPermanent != null && targetPermanent.isControlledBy(source.getControllerId())) || event.getTargetId().equals(source.getControllerId())) { MageObject damageSource = game.getObject(event.getSourceId()); if (damageSource instanceof Controllable) { - return !((Controllable) damageSource).getControllerId().equals(source.getControllerId()); + return !((Controllable) damageSource).isControlledBy(source.getControllerId()); } else if (damageSource instanceof Card) { - return !((Card) damageSource).getOwnerId().equals(source.getControllerId()); + return !((Card) damageSource).isOwnedBy(source.getControllerId()); } } } diff --git a/Mage.Sets/src/mage/cards/c/ChickenALaKing.java b/Mage.Sets/src/mage/cards/c/ChickenALaKing.java index cfa4f6c851a..54fc631a3b3 100644 --- a/Mage.Sets/src/mage/cards/c/ChickenALaKing.java +++ b/Mage.Sets/src/mage/cards/c/ChickenALaKing.java @@ -89,7 +89,7 @@ class ChickenALaKingTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { // event.getData holds the num of sides of the die to roll String data = event.getData(); if (data != null) { diff --git a/Mage.Sets/src/mage/cards/c/ChitteringDoom.java b/Mage.Sets/src/mage/cards/c/ChitteringDoom.java index b6b626805db..5b50ecae6f7 100644 --- a/Mage.Sets/src/mage/cards/c/ChitteringDoom.java +++ b/Mage.Sets/src/mage/cards/c/ChitteringDoom.java @@ -57,7 +57,7 @@ class ChitteringDoomTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { if (event.getAmount() >= 4) { return true; } diff --git a/Mage.Sets/src/mage/cards/c/CircleOfFlame.java b/Mage.Sets/src/mage/cards/c/CircleOfFlame.java index 028dd37cb2e..dc1c26cd8d2 100644 --- a/Mage.Sets/src/mage/cards/c/CircleOfFlame.java +++ b/Mage.Sets/src/mage/cards/c/CircleOfFlame.java @@ -77,7 +77,7 @@ class CircleOfFlameTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); youOrYourPlaneswalker = permanent != null && permanent.isPlaneswalker() - && permanent.getControllerId().equals(this.getControllerId()); + && permanent.isControlledBy(this.getControllerId()); } if (youOrYourPlaneswalker) { for (Effect effect : this.getEffects()) { diff --git a/Mage.Sets/src/mage/cards/c/CityOfTraitors.java b/Mage.Sets/src/mage/cards/c/CityOfTraitors.java index d5108787ed4..aa507b2a60d 100644 --- a/Mage.Sets/src/mage/cards/c/CityOfTraitors.java +++ b/Mage.Sets/src/mage/cards/c/CityOfTraitors.java @@ -62,7 +62,7 @@ class CityOfTraitorsTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent land = game.getPermanent(event.getTargetId()); return land.isLand() - && land.getControllerId().equals(this.controllerId) + && land.isControlledBy(this.controllerId) && !Objects.equals(event.getTargetId(), this.getSourceId()); } diff --git a/Mage.Sets/src/mage/cards/c/CleansingMeditation.java b/Mage.Sets/src/mage/cards/c/CleansingMeditation.java index d00337ab710..03bcd502104 100644 --- a/Mage.Sets/src/mage/cards/c/CleansingMeditation.java +++ b/Mage.Sets/src/mage/cards/c/CleansingMeditation.java @@ -74,7 +74,7 @@ class CleansingMeditationEffect extends OneShotEffect { for (Permanent permanent : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_ENCHANTMENT_PERMANENT, source.getControllerId(), source.getSourceId(), game)) { if (permanent != null && permanent.destroy(source.getSourceId(), game, false)) { - if (threshold && controller != null && permanent.getOwnerId().equals(controller.getId())) { + if (threshold && controller != null && permanent.isOwnedBy(controller.getId())) { cardsToBattlefield.add(permanent); } } diff --git a/Mage.Sets/src/mage/cards/c/CloudCover.java b/Mage.Sets/src/mage/cards/c/CloudCover.java index 1793102559d..7367585c444 100644 --- a/Mage.Sets/src/mage/cards/c/CloudCover.java +++ b/Mage.Sets/src/mage/cards/c/CloudCover.java @@ -63,7 +63,7 @@ class CloudCoverAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); Player controller = game.getPlayer(this.getControllerId()); if (permanent != null - && permanent.getControllerId().equals(getControllerId()) + && permanent.isControlledBy(getControllerId()) && !permanent.getId().equals(this.getSourceId()) && controller != null && controller.hasOpponent(event.getPlayerId(), game)) { diff --git a/Mage.Sets/src/mage/cards/c/CloudKey.java b/Mage.Sets/src/mage/cards/c/CloudKey.java index 7da1f97dfc8..5a9bd8158e1 100644 --- a/Mage.Sets/src/mage/cards/c/CloudKey.java +++ b/Mage.Sets/src/mage/cards/c/CloudKey.java @@ -119,7 +119,7 @@ class CloudKeyCostModificationEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - if (abilityToModify instanceof SpellAbility && abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify instanceof SpellAbility && abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = game.getStack().getSpell(abilityToModify.getSourceId()); if (spell != null && spell.getCardType().toString().contains((String) game.getState().getValue(source.getSourceId().toString() + "_CloudKey"))) { return true; diff --git a/Mage.Sets/src/mage/cards/c/CoastalPiracy.java b/Mage.Sets/src/mage/cards/c/CoastalPiracy.java index dab61d18513..f3a94fc0a6b 100644 --- a/Mage.Sets/src/mage/cards/c/CoastalPiracy.java +++ b/Mage.Sets/src/mage/cards/c/CoastalPiracy.java @@ -63,7 +63,7 @@ class CoastalPiracyTriggeredAbility extends TriggeredAbilityImpl { if (((DamagedPlayerEvent) event).isCombatDamage() && game.getOpponents(this.controllerId).contains(((DamagedPlayerEvent) event).getPlayerId())) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/c/Comeuppance.java b/Mage.Sets/src/mage/cards/c/Comeuppance.java index 6abcda8ce10..8d03fa51c8b 100644 --- a/Mage.Sets/src/mage/cards/c/Comeuppance.java +++ b/Mage.Sets/src/mage/cards/c/Comeuppance.java @@ -71,7 +71,7 @@ class ComeuppanceEffect extends PreventionEffectImpl { MageObject damageDealingObject = game.getObject(event.getSourceId()); UUID objectControllerId = null; if (damageDealingObject instanceof Permanent) { - if (((Permanent) damageDealingObject).isCreature()) { + if (damageDealingObject.isCreature()) { ((Permanent) damageDealingObject).damage(preventionData.getPreventedDamage(), source.getSourceId(), game, false, true); } else { objectControllerId = ((Permanent) damageDealingObject).getControllerId(); @@ -102,7 +102,7 @@ class ComeuppanceEffect extends PreventionEffectImpl { } else { Permanent targetPermanent = game.getPermanent(event.getTargetId()); if (targetPermanent != null && - targetPermanent.getControllerId().equals(source.getControllerId()) && + targetPermanent.isControlledBy(source.getControllerId()) && targetPermanent.isPlaneswalker()) { catched = true; } @@ -110,11 +110,11 @@ class ComeuppanceEffect extends PreventionEffectImpl { if (catched) { MageObject damageSource = game.getObject(event.getSourceId()); if (damageSource instanceof StackObject) { - return !((StackObject) damageSource).getControllerId().equals(source.getControllerId()); + return !((StackObject) damageSource).isControlledBy(source.getControllerId()); } else if (damageSource instanceof Permanent) { - return !((Permanent) damageSource).getControllerId().equals(source.getControllerId()); + return !((Permanent) damageSource).isControlledBy(source.getControllerId()); } else if (damageSource instanceof Card) { - return !((Card) damageSource).getOwnerId().equals(source.getControllerId()); + return !((Card) damageSource).isOwnedBy(source.getControllerId()); } Logger.getLogger(Comeuppance.class).error("Comeuppance: could not define source objects controller - " + (damageSource != null ? damageSource.getName(): "null")); } diff --git a/Mage.Sets/src/mage/cards/c/CommuneWithLava.java b/Mage.Sets/src/mage/cards/c/CommuneWithLava.java index da68914daf3..a0474139868 100644 --- a/Mage.Sets/src/mage/cards/c/CommuneWithLava.java +++ b/Mage.Sets/src/mage/cards/c/CommuneWithLava.java @@ -119,7 +119,7 @@ class CommuneWithLavaMayPlayEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && getTargetPointer().getTargets(game, source).contains(sourceId); } diff --git a/Mage.Sets/src/mage/cards/c/ConcussiveBolt.java b/Mage.Sets/src/mage/cards/c/ConcussiveBolt.java index 8cd274c678b..b8f39e589a3 100644 --- a/Mage.Sets/src/mage/cards/c/ConcussiveBolt.java +++ b/Mage.Sets/src/mage/cards/c/ConcussiveBolt.java @@ -89,7 +89,7 @@ class ConcussiveBoltRestrictionEffect extends RestrictionEffect { if (player == null) { return false; } - if (metalcraft && permanent.getControllerId().equals(player.getId())) { + if (metalcraft && permanent.isControlledBy(player.getId())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/c/Conspiracy.java b/Mage.Sets/src/mage/cards/c/Conspiracy.java index c70361593e8..1b305eff23b 100644 --- a/Mage.Sets/src/mage/cards/c/Conspiracy.java +++ b/Mage.Sets/src/mage/cards/c/Conspiracy.java @@ -85,13 +85,13 @@ class ConspiracyEffect extends ContinuousEffectImpl { } // in Exile for (Card card : game.getState().getExile().getAllCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.isCreature()) { + if (card.isOwnedBy(controller.getId()) && card.isCreature()) { setCreatureSubtype(card, subType, game); } } // in Library (e.g. for Mystical Teachings) for (Card card : controller.getLibrary().getCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.isCreature()) { + if (card.isOwnedBy(controller.getId()) && card.isCreature()) { setCreatureSubtype(card, subType, game); } } @@ -108,7 +108,7 @@ class ConspiracyEffect extends ContinuousEffectImpl { for (Iterator iterator = game.getStack().iterator(); iterator.hasNext();) { StackObject stackObject = iterator.next(); if (stackObject instanceof Spell - && stackObject.getControllerId().equals(source.getControllerId()) + && stackObject.isControlledBy(source.getControllerId()) && stackObject.isCreature()) { Card card = ((Spell) stackObject).getCard(); setCreatureSubtype(card, subType, game); diff --git a/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java b/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java index bb3ea2454fe..cb0f555675a 100644 --- a/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java +++ b/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java @@ -83,7 +83,7 @@ class CorpsejackMenaceReplacementEffect extends ReplacementEffectImpl { if (permanent == null) { permanent = game.getPermanentEntering(event.getTargetId()); } - if (permanent != null && permanent.getControllerId().equals(source.getControllerId()) + if (permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.isCreature()) { return true; } diff --git a/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java b/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java index 7349f4100e4..b9b2f943eb3 100644 --- a/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java +++ b/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java @@ -120,7 +120,7 @@ class CouncilOfTheAbsoluteCostReductionEffect extends CostModificationEffectImpl @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if ((abilityToModify instanceof SpellAbility) - && abilityToModify.getControllerId().equals(source.getControllerId())) { + && abilityToModify.isControlledBy(source.getControllerId())) { Card card = game.getCard(abilityToModify.getSourceId()); return card.getName().equals(game.getState().getValue(source.getSourceId().toString() + ChooseACardNameEffect.INFO_KEY)); } diff --git a/Mage.Sets/src/mage/cards/c/Counterflux.java b/Mage.Sets/src/mage/cards/c/Counterflux.java index e27c4599afd..4f3703148bc 100644 --- a/Mage.Sets/src/mage/cards/c/Counterflux.java +++ b/Mage.Sets/src/mage/cards/c/Counterflux.java @@ -84,7 +84,7 @@ class CounterfluxEffect extends OneShotEffect { List spellsToCounter = new LinkedList<>(); for (StackObject stackObject : game.getStack()) { - if (stackObject instanceof Spell && !stackObject.getControllerId().equals(source.getControllerId())) { + if (stackObject instanceof Spell && !stackObject.isControlledBy(source.getControllerId())) { spellsToCounter.add((Spell) stackObject); } } diff --git a/Mage.Sets/src/mage/cards/c/CrawlingSensation.java b/Mage.Sets/src/mage/cards/c/CrawlingSensation.java index 312d646ab53..f3c27887710 100644 --- a/Mage.Sets/src/mage/cards/c/CrawlingSensation.java +++ b/Mage.Sets/src/mage/cards/c/CrawlingSensation.java @@ -72,7 +72,7 @@ class CrawlingSensationTriggeredAbility extends TriggeredAbilityImpl { Set cardType = card.getCardType(); if (cardOwnerId != null - && card.getOwnerId().equals(getControllerId()) + && card.isOwnedBy(getControllerId()) && cardType != null && card.isLand()) { game.getState().setValue("usedOnTurn" + getControllerId() + getOriginalId(), game.getTurnNum()); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java b/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java index aa3e6b8d77e..fc85728ff25 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfEchoes.java @@ -90,7 +90,7 @@ class CurseOfEchoesCopyTriggeredAbility extends TriggeredAbilityImpl { Permanent enchantment = game.getPermanent(sourceId); if (enchantment != null && enchantment.getAttachedTo() != null) { Player player = game.getPlayer(enchantment.getAttachedTo()); - if (player != null && spell.getControllerId().equals(player.getId())) { + if (player != null && spell.isControlledBy(player.getId())) { this.getEffects().get(0).setTargetPointer(new FixedTarget(spell.getId())); return true; } diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheNightlyHunt.java b/Mage.Sets/src/mage/cards/c/CurseOfTheNightlyHunt.java index 473f8d72df9..72aa6094a55 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfTheNightlyHunt.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfTheNightlyHunt.java @@ -67,7 +67,7 @@ class CurseOfTheNightlyHuntEffect extends RequirementEffect { public boolean applies(Permanent permanent, Ability source, Game game) { Permanent enchantment = game.getPermanent(source.getSourceId()); if (enchantment != null && enchantment.getAttachedTo() != null) { - if (permanent.getControllerId().equals(enchantment.getAttachedTo())) { + if (permanent.isControlledBy(enchantment.getAttachedTo())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/c/CustodiLich.java b/Mage.Sets/src/mage/cards/c/CustodiLich.java index 1d8e2c41143..0fc1625b39c 100644 --- a/Mage.Sets/src/mage/cards/c/CustodiLich.java +++ b/Mage.Sets/src/mage/cards/c/CustodiLich.java @@ -70,7 +70,7 @@ class BecomesMonarchSourceControllerTriggeredAbility extends TriggeredAbilityImp @Override public boolean checkTrigger(GameEvent event, Game game) { - return getControllerId().equals(event.getPlayerId()); + return isControlledBy(event.getPlayerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java index 3d23098e3d7..d8c3f04ecea 100644 --- a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java +++ b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java @@ -161,7 +161,7 @@ class DarigaazReincarnatedReturnEffect extends OneShotEffect { return false; } MageObject sourceObject = source.getSourceObjectIfItStillExists(game); - if (sourceObject != null && sourceObject instanceof Card) { + if (sourceObject instanceof Card) { Card card = (Card) sourceObject; new RemoveCounterSourceEffect(CounterType.EGG.createInstance()).apply(game, source); if (card.getCounters(game).getCount(CounterType.EGG) == 0) { diff --git a/Mage.Sets/src/mage/cards/d/DarkDwellerOracle.java b/Mage.Sets/src/mage/cards/d/DarkDwellerOracle.java index fe999c3dc9c..bef6334009f 100644 --- a/Mage.Sets/src/mage/cards/d/DarkDwellerOracle.java +++ b/Mage.Sets/src/mage/cards/d/DarkDwellerOracle.java @@ -121,7 +121,7 @@ class DarkDwellerOracleCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/d/DauntingDefender.java b/Mage.Sets/src/mage/cards/d/DauntingDefender.java index 69e9b5d0f46..bc1b8020875 100644 --- a/Mage.Sets/src/mage/cards/d/DauntingDefender.java +++ b/Mage.Sets/src/mage/cards/d/DauntingDefender.java @@ -65,7 +65,7 @@ class DauntingDefenderEffect extends PreventionEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.DAMAGE_CREATURE) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId()) && permanent.hasSubtype(SubType.CLERIC, game)) { + if (permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.hasSubtype(SubType.CLERIC, game)) { return super.applies(event, source, game); } } diff --git a/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java b/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java index fa8c284a894..0f13053b5a6 100644 --- a/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java +++ b/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java @@ -144,7 +144,7 @@ class DaxosOfMeletisCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(cardId) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(cardId) && source.isControlledBy(affectedControllerId)) { ExileZone exileZone = game.getState().getExile().getExileZone(exileId); return exileZone != null && exileZone.contains(cardId); } @@ -175,7 +175,7 @@ class DaxosOfMeletisSpendAnyManaEffect extends AsThoughEffectImpl implements AsT @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && Objects.equals(objectId, ((FixedTarget) getTargetPointer()).getTarget()) && ((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId) && (((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId)) diff --git a/Mage.Sets/src/mage/cards/d/DearlyDeparted.java b/Mage.Sets/src/mage/cards/d/DearlyDeparted.java index af910d5c795..6083900b5c3 100644 --- a/Mage.Sets/src/mage/cards/d/DearlyDeparted.java +++ b/Mage.Sets/src/mage/cards/d/DearlyDeparted.java @@ -64,7 +64,7 @@ class DearlyDepartedEntersBattlefieldEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId()) && permanent.hasSubtype(SubType.HUMAN, game)) { + if (permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.hasSubtype(SubType.HUMAN, game)) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/d/DeathsPresence.java b/Mage.Sets/src/mage/cards/d/DeathsPresence.java index 00aac1bb567..0d69324a1cf 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsPresence.java +++ b/Mage.Sets/src/mage/cards/d/DeathsPresence.java @@ -66,7 +66,7 @@ class DeathsPresenceTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent != null && permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent != null && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { this.getTargets().clear(); this.addTarget(new TargetControlledCreaturePermanent()); this.getEffects().clear(); diff --git a/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java b/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java index 490a04b2b8a..d251e952760 100644 --- a/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java +++ b/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java @@ -80,7 +80,7 @@ class DeepfathomSkulkerTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/d/DefenseGrid.java b/Mage.Sets/src/mage/cards/d/DefenseGrid.java index 9699d07b17a..e4aaa65939f 100644 --- a/Mage.Sets/src/mage/cards/d/DefenseGrid.java +++ b/Mage.Sets/src/mage/cards/d/DefenseGrid.java @@ -57,7 +57,7 @@ class DefenseGridCostModificationEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (!abilityToModify.getControllerId().equals(game.getActivePlayerId())) { + if (!abilityToModify.isControlledBy(game.getActivePlayerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java b/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java index 300c5788e3f..b71d27ff4f1 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java +++ b/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java @@ -80,7 +80,7 @@ class DefiantGreatmawTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - boolean weAreDoingIt = getControllerId().equals(game.getControllerId(event.getSourceId())); + boolean weAreDoingIt = isControlledBy(game.getControllerId(event.getSourceId())); boolean isM1M1Counters = event.getData().equals(CounterType.M1M1.getName()); if (weAreDoingIt && isM1M1Counters && event.getTargetId().equals(this.getSourceId())) { return true; diff --git a/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java b/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java index 29dd3bf675e..851eff1ffbb 100644 --- a/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java +++ b/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java @@ -87,7 +87,7 @@ class DereviEmpyrialTacticianTriggeredAbility extends TriggeredAbilityImpl { if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/d/DesecratedTomb.java b/Mage.Sets/src/mage/cards/d/DesecratedTomb.java index 8112550b0fc..b597b3e36d2 100644 --- a/Mage.Sets/src/mage/cards/d/DesecratedTomb.java +++ b/Mage.Sets/src/mage/cards/d/DesecratedTomb.java @@ -65,7 +65,7 @@ class DesecratedTombTriggeredAbility extends TriggeredAbilityImpl { Set cardType = card.getCardType(); if (cardOwnerId != null - && card.getOwnerId().equals(getControllerId()) + && card.isOwnedBy(getControllerId()) && cardType != null && card.isCreature()) { return true; diff --git a/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java b/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java index 20130a2c615..72fe39f0cae 100644 --- a/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java +++ b/Mage.Sets/src/mage/cards/d/DireFleetDaredevil.java @@ -147,7 +147,7 @@ class DireFleetDaredevilPlayEffect extends AsThoughEffectImpl { UUID targetId = getTargetPointer().getFirst(game, source); if (targetId != null) { return targetId.equals(objectId) - && source.getControllerId().equals(affectedControllerId); + && source.isControlledBy(affectedControllerId); } else { // the target card has changed zone meanwhile, so the effect is no longer needed discard(); @@ -179,7 +179,7 @@ class DireFleetDaredevilSpendAnyManaEffect extends AsThoughEffectImpl implements @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && Objects.equals(objectId, ((FixedTarget) getTargetPointer()).getTarget()) && ((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId) && game.getState().getZone(objectId) == Zone.STACK; @@ -210,7 +210,7 @@ class DireFleetDaredevilReplacementEffect extends ReplacementEffectImpl { @Override public boolean replaceEvent(GameEvent event, Ability source, Game game) { - UUID eventObject = ((ZoneChangeEvent) event).getTargetId(); + UUID eventObject = event.getTargetId(); StackObject stackObject = game.getStack().getStackObject(eventObject); if (stackObject != null) { if (stackObject instanceof Spell) { diff --git a/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java b/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java index 4f47406d21e..4d77c40513b 100644 --- a/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java @@ -88,7 +88,7 @@ class DiregrafCaptainTriggeredAbility extends TriggeredAbilityImpl { ZoneChangeEvent zEvent = (ZoneChangeEvent)event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { Permanent p = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (p != null && p.getControllerId().equals(this.controllerId) && filter.match(p, game)) { + if (p != null && p.isControlledBy(this.controllerId) && filter.match(p, game)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java index 407864aae39..f80123275b0 100644 --- a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java +++ b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java @@ -99,7 +99,7 @@ class DisplayOfDominanceEffect extends ContinuousRuleModifyingEffectImpl { mageObject instanceof Spell && (mageObject.getColor(game).isBlack() || mageObject.getColor(game).isBlue())) { Permanent permanent = game.getPermanent(event.getTargetId()); - return permanent != null && permanent.getControllerId().equals(ability.getControllerId()); + return permanent != null && permanent.isControlledBy(ability.getControllerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/d/DivineDeflection.java b/Mage.Sets/src/mage/cards/d/DivineDeflection.java index b0ffb232d98..9044094c555 100644 --- a/Mage.Sets/src/mage/cards/d/DivineDeflection.java +++ b/Mage.Sets/src/mage/cards/d/DivineDeflection.java @@ -118,12 +118,12 @@ class DivineDeflectionPreventDamageTargetEffect extends PreventionEffectImpl { // check permanent first Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { return true; } } // check player - if (source.getControllerId().equals(event.getTargetId())) { + if (source.isControlledBy(event.getTargetId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java index 1e5e879503b..f29593b7e25 100644 --- a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java +++ b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java @@ -87,7 +87,7 @@ class DjeruWithEyesOpenPreventEffect extends PreventionEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return super.applies(event, source, game); } } diff --git a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java index e33b08f37e0..bba34f74968 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java +++ b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java @@ -81,8 +81,8 @@ class DjinnIlluminatusGainReplicateEffect extends ContinuousEffectImpl { // only spells cast, so no copies of spells if ((stackObject instanceof Spell) && !stackObject.isCopy() - && stackObject.getControllerId().equals(source.getControllerId()) - && djinn.getControllerId().equals(source.getControllerId()) // verify that the controller of the djinn cast that spell + && stackObject.isControlledBy(source.getControllerId()) + && djinn.isControlledBy(source.getControllerId()) // verify that the controller of the djinn cast that spell && !stackObject.getManaCost().isEmpty()) { //handle cases like Ancestral Vision Spell spell = (Spell) stackObject; if (filter.match(stackObject, game)) { diff --git a/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java b/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java index 8edb4b467d0..5f196a12056 100644 --- a/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java +++ b/Mage.Sets/src/mage/cards/d/DoorOfDestinies.java @@ -75,7 +75,7 @@ class AddCounterAbility extends TriggeredAbilityImpl { if (subType != null) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null - && spell.getControllerId().equals(getControllerId()) + && spell.isControlledBy(getControllerId()) && spell.hasSubtype(subType, game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/d/DoublingSeason.java b/Mage.Sets/src/mage/cards/d/DoublingSeason.java index 587342dffac..fab6ae021d2 100644 --- a/Mage.Sets/src/mage/cards/d/DoublingSeason.java +++ b/Mage.Sets/src/mage/cards/d/DoublingSeason.java @@ -79,7 +79,7 @@ class DoublingSeasonCounterEffect extends ReplacementEffectImpl { && permanent.isLand()); // a played land is not an effect } return permanent != null - && permanent.getControllerId().equals(source.getControllerId()) + && permanent.isControlledBy(source.getControllerId()) && !landPlayed; // example: gemstone mine being played as a land drop } diff --git a/Mage.Sets/src/mage/cards/d/DrafnasRestoration.java b/Mage.Sets/src/mage/cards/d/DrafnasRestoration.java index 0fcaa1f512f..83b5bb36b0c 100644 --- a/Mage.Sets/src/mage/cards/d/DrafnasRestoration.java +++ b/Mage.Sets/src/mage/cards/d/DrafnasRestoration.java @@ -63,7 +63,7 @@ class DrafnasRestorationTarget extends TargetCardInGraveyard { public Set possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) { Set possibleTargets = new HashSet<>(); MageObject object = game.getObject(sourceId); - if (object != null && object instanceof StackObject) { + if (object instanceof StackObject) { Player targetPlayer = game.getPlayer(((StackObject) object).getStackAbility().getFirstTarget()); if (targetPlayer != null) { for (Card card : targetPlayer.getGraveyard().getCards(filter, sourceId, sourceControllerId, game)) { diff --git a/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java b/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java index f0b975accbe..6ce626db3fa 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordsPrerogative.java @@ -91,7 +91,7 @@ class DragonlordsPrerogativeCondition implements Condition { if (spell != null && spell.getSpellAbility() != null) { for(Cost cost: spell.getSpellAbility().getCosts()) { if (cost instanceof RevealTargetFromHandCost) { - applies = !((RevealTargetFromHandCost)cost).getTargets().isEmpty(); + applies = !cost.getTargets().isEmpty(); break; } } diff --git a/Mage.Sets/src/mage/cards/d/DreamPillager.java b/Mage.Sets/src/mage/cards/d/DreamPillager.java index 39b74f41392..ad7ca79d2e7 100644 --- a/Mage.Sets/src/mage/cards/d/DreamPillager.java +++ b/Mage.Sets/src/mage/cards/d/DreamPillager.java @@ -153,7 +153,7 @@ class DreamPillagerCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/d/DungeonGeists.java b/Mage.Sets/src/mage/cards/d/DungeonGeists.java index c6b2fa5afbf..ca1adb97464 100644 --- a/Mage.Sets/src/mage/cards/d/DungeonGeists.java +++ b/Mage.Sets/src/mage/cards/d/DungeonGeists.java @@ -89,7 +89,7 @@ class DungeonGeistsEffect extends ContinuousRuleModifyingEffectImpl { // the battlefield triggered ability the source dies (or will be exiled), then the ZONE_CHANGE or LOST_CONTROL // event will happen before this effect is applied ever) MageObject sourceObject = source.getSourceObjectIfItStillExists(game); - if (!(sourceObject instanceof Permanent) || !((Permanent) sourceObject).getControllerId().equals(source.getControllerId())) { + if (!(sourceObject instanceof Permanent) || !((Permanent) sourceObject).isControlledBy(source.getControllerId())) { discard(); return false; } @@ -109,7 +109,7 @@ class DungeonGeistsEffect extends ContinuousRuleModifyingEffectImpl { if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getTargetId().equals(targetPointer.getFirst(game, source))) { Permanent targetCreature = game.getPermanent(targetPointer.getFirst(game, source)); if (targetCreature != null) { - return targetCreature.getControllerId().equals(game.getActivePlayerId()); + return targetCreature.isControlledBy(game.getActivePlayerId()); } else { discard(); return false; diff --git a/Mage.Sets/src/mage/cards/e/ElderwoodScion.java b/Mage.Sets/src/mage/cards/e/ElderwoodScion.java index e099cab1e4b..778ffb55e52 100644 --- a/Mage.Sets/src/mage/cards/e/ElderwoodScion.java +++ b/Mage.Sets/src/mage/cards/e/ElderwoodScion.java @@ -73,7 +73,7 @@ class ElderwoodScionCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { for (UUID modeId : abilityToModify.getModes().getSelectedModes()) { Mode mode = abilityToModify.getModes().get(modeId); for (Target target : mode.getTargets()) { diff --git a/Mage.Sets/src/mage/cards/e/Electropotence.java b/Mage.Sets/src/mage/cards/e/Electropotence.java index f556ab2bf34..ebaa86d2cfc 100644 --- a/Mage.Sets/src/mage/cards/e/Electropotence.java +++ b/Mage.Sets/src/mage/cards/e/Electropotence.java @@ -64,7 +64,7 @@ class ElectropotenceTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { this.getEffects().get(0).setValue("damageSource", event.getTargetId()); return true; } diff --git a/Mage.Sets/src/mage/cards/e/ElkinBottle.java b/Mage.Sets/src/mage/cards/e/ElkinBottle.java index 48a6a10b1d0..5ace27859f0 100644 --- a/Mage.Sets/src/mage/cards/e/ElkinBottle.java +++ b/Mage.Sets/src/mage/cards/e/ElkinBottle.java @@ -113,7 +113,7 @@ class ElkinBottleCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && sourceId.equals(getTargetPointer().getFirst(game, source)); } diff --git a/Mage.Sets/src/mage/cards/e/EmbermawHellion.java b/Mage.Sets/src/mage/cards/e/EmbermawHellion.java index 42ae1cdbcb6..9bc75994f26 100644 --- a/Mage.Sets/src/mage/cards/e/EmbermawHellion.java +++ b/Mage.Sets/src/mage/cards/e/EmbermawHellion.java @@ -74,7 +74,7 @@ class EmbermawHellionEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if(source.getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if(source.isControlledBy(game.getControllerId(event.getSourceId()))) { MageObject sourceObject; Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); if(sourcePermanent == null) { diff --git a/Mage.Sets/src/mage/cards/e/EncirclingFissure.java b/Mage.Sets/src/mage/cards/e/EncirclingFissure.java index a022c29835b..ca9f6b61ebc 100644 --- a/Mage.Sets/src/mage/cards/e/EncirclingFissure.java +++ b/Mage.Sets/src/mage/cards/e/EncirclingFissure.java @@ -66,7 +66,7 @@ class EncirclingFissurePreventEffect extends PreventionEffectImpl { Permanent permanent = game.getPermanent(damageEvent.getSourceId()); if (permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(getTargetPointer().getFirst(game, source))) { + && permanent.isControlledBy(getTargetPointer().getFirst(game, source))) { return true; } } diff --git a/Mage.Sets/src/mage/cards/e/EnduringScalelord.java b/Mage.Sets/src/mage/cards/e/EnduringScalelord.java index f315c98fec3..663f0f9cfe3 100644 --- a/Mage.Sets/src/mage/cards/e/EnduringScalelord.java +++ b/Mage.Sets/src/mage/cards/e/EnduringScalelord.java @@ -76,7 +76,7 @@ class EnduringScalelordTriggeredAbility extends TriggeredAbilityImpl { return (permanent != null && !event.getTargetId().equals(this.getSourceId()) && permanent.isCreature() - && permanent.getControllerId().equals(this.getControllerId())); + && permanent.isControlledBy(this.getControllerId())); } return false; } diff --git a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java index 7b988de1da3..ddeb27ac4e3 100644 --- a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java +++ b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java @@ -90,7 +90,7 @@ class EnigmaSphinxTriggeredAbility extends TriggeredAbilityImpl { && permanent.getId().equals(this.getSourceId()) && // 5/1/2009 If you control an Enigma Sphinx that's owned by another player, it's put into that player's // graveyard from the battlefield, so Enigma Sphinx's middle ability won't trigger. - permanent.getOwnerId().equals(permanent.getControllerId())) { + permanent.isOwnedBy(permanent.getControllerId())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java b/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java index 7dd16294548..2d1a030d4d1 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java +++ b/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java @@ -66,7 +66,7 @@ class EssenceOfTheWildEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent perm = ((EntersTheBattlefieldEvent) event).getTarget(); - return perm != null && perm.isCreature() && perm.getControllerId().equals(source.getControllerId()); + return perm != null && perm.isCreature() && perm.isControlledBy(source.getControllerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/e/EternalScourge.java b/Mage.Sets/src/mage/cards/e/EternalScourge.java index 4dc83fce265..b226e01a859 100644 --- a/Mage.Sets/src/mage/cards/e/EternalScourge.java +++ b/Mage.Sets/src/mage/cards/e/EternalScourge.java @@ -71,7 +71,7 @@ class EternalScourgePlayEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(source.getSourceId()); - if (card != null && card.getOwnerId().equals(affectedControllerId) && game.getState().getZone(source.getSourceId()) == Zone.EXILED) { + if (card != null && card.isOwnedBy(affectedControllerId) && game.getState().getZone(source.getSourceId()) == Zone.EXILED) { return true; } } diff --git a/Mage.Sets/src/mage/cards/e/EunuchsIntrigues.java b/Mage.Sets/src/mage/cards/e/EunuchsIntrigues.java index f4ca2c87794..1daf99900dc 100644 --- a/Mage.Sets/src/mage/cards/e/EunuchsIntrigues.java +++ b/Mage.Sets/src/mage/cards/e/EunuchsIntrigues.java @@ -103,7 +103,7 @@ class EunuchsIntriguesRestrictionEffect extends RestrictionEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - if (permanent.getControllerId().equals(source.getFirstTarget())) { + if (permanent.isControlledBy(source.getFirstTarget())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/f/FaithsReward.java b/Mage.Sets/src/mage/cards/f/FaithsReward.java index 1c34dec0802..cf449635657 100644 --- a/Mage.Sets/src/mage/cards/f/FaithsReward.java +++ b/Mage.Sets/src/mage/cards/f/FaithsReward.java @@ -61,7 +61,7 @@ class FaithsRewardEffect extends OneShotEffect { if (watcher != null) { for (UUID id : watcher.cards) { Card c = game.getCard(id); - if (c != null && c.getOwnerId().equals(source.getControllerId()) && game.getState().getZone(id) == Zone.GRAVEYARD) { + if (c != null && c.isOwnedBy(source.getControllerId()) && game.getState().getZone(id) == Zone.GRAVEYARD) { c.moveToZone(Zone.BATTLEFIELD, source.getSourceId(), game, false); } } diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java b/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java index b6274936b81..5a9aac019f7 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java @@ -99,7 +99,7 @@ class FalkenrathGorgerEffect extends ContinuousEffectImpl { // Exile for (Card card : game.getExile().getAllCards(game)) { if (filter.match(card, source.getSourceId(), controller.getId(), game)) { - if (card.getOwnerId().equals(controller.getId())) { + if (card.isOwnedBy(controller.getId())) { addMadnessToCard(game, card, usedMadnessAbilities); } } diff --git a/Mage.Sets/src/mage/cards/f/FavorableDestiny.java b/Mage.Sets/src/mage/cards/f/FavorableDestiny.java index 3f585e83d94..d5a237d635b 100644 --- a/Mage.Sets/src/mage/cards/f/FavorableDestiny.java +++ b/Mage.Sets/src/mage/cards/f/FavorableDestiny.java @@ -90,7 +90,7 @@ class FavorableDestinyCondition implements Condition { Player controller = game.getPlayer(creature.getControllerId()); if (controller != null) { for (Permanent perm : game.getBattlefield().getActivePermanents(controller.getId(), game)) { - if (perm.getControllerId().equals(controller.getId()) + if (perm.isControlledBy(controller.getId()) && perm.isCreature() && !perm.equals(creature)) { return true; diff --git a/Mage.Sets/src/mage/cards/f/FellShepherd.java b/Mage.Sets/src/mage/cards/f/FellShepherd.java index e8197945ca2..626237217f5 100644 --- a/Mage.Sets/src/mage/cards/f/FellShepherd.java +++ b/Mage.Sets/src/mage/cards/f/FellShepherd.java @@ -87,7 +87,7 @@ class FellShepherdWatcher extends Watcher { public void watch(GameEvent event, Game game) { if (event.getType() == EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { MageObject card = game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (card != null && ((Card) card).getOwnerId().equals(this.controllerId) && card.isCreature()) { + if (card != null && ((Card) card).isOwnedBy(this.controllerId) && card.isCreature()) { creatureIds.add(card.getId()); } } diff --git a/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java b/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java index d1687d6fef9..3749823252d 100644 --- a/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java +++ b/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java @@ -97,7 +97,7 @@ class FiendslayerPaladinEffect extends ContinuousRuleModifyingEffectImpl { StackObject stackObject = (StackObject) game.getStack().getStackObject(event.getSourceId()); if (targetCard != null && stackObject != null && targetCard.getId().equals(source.getSourceId())) { if (stackObject.getColor(game).isBlack() || stackObject.getColor(game).isRed()) { - if (!stackObject.getControllerId().equals(source.getControllerId()) + if (!stackObject.isControlledBy(source.getControllerId()) && stackObject.isInstant() || stackObject.isSorcery()) { return true; diff --git a/Mage.Sets/src/mage/cards/f/FireServant.java b/Mage.Sets/src/mage/cards/f/FireServant.java index 432634db048..5cd9c2c04a9 100644 --- a/Mage.Sets/src/mage/cards/f/FireServant.java +++ b/Mage.Sets/src/mage/cards/f/FireServant.java @@ -74,7 +74,7 @@ class FireServantEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { StackObject spell = game.getStack().getStackObject(event.getSourceId()); return spell != null && - spell.getControllerId().equals(source.getControllerId()) && + spell.isControlledBy(source.getControllerId()) && spell.getColor(game).isRed() && (spell.isInstant() || spell.isSorcery()); } diff --git a/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java b/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java index 4558dfcf55e..ef69d3eaddf 100644 --- a/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java +++ b/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java @@ -78,7 +78,7 @@ class FlamebladeAngelTriggeredAbility extends TriggeredAbilityImpl { result = true; } else { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent != null && getControllerId().equals(permanent.getControllerId())) { + if (permanent != null && isControlledBy(permanent.getControllerId())) { result = true; } } diff --git a/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java b/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java index 01d71f30101..8c80d6be9c2 100644 --- a/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java +++ b/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java @@ -111,6 +111,6 @@ class FlamesOfRemembranceMayPlayExiledEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) && this.getTargetPointer().getTargets(game, source).contains(objectId); + return source.isControlledBy(affectedControllerId) && this.getTargetPointer().getTargets(game, source).contains(objectId); } } diff --git a/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java b/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java index 768c7fb74c9..b51a555a73a 100644 --- a/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java +++ b/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java @@ -72,7 +72,7 @@ class FlayerTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (((EntersTheBattlefieldEvent) event).getFromZone() == Zone.GRAVEYARD - && permanent.getOwnerId().equals(controllerId) + && permanent.isOwnedBy(controllerId) && permanent.isCreature()) { Effect effect = this.getEffects().get(0); effect.setValue("damageSource", event.getTargetId()); diff --git a/Mage.Sets/src/mage/cards/f/Fluctuator.java b/Mage.Sets/src/mage/cards/f/Fluctuator.java index ca95d7d0803..7554bb482b8 100644 --- a/Mage.Sets/src/mage/cards/f/Fluctuator.java +++ b/Mage.Sets/src/mage/cards/f/Fluctuator.java @@ -56,7 +56,7 @@ class FluctuatorEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - return abilityToModify.getControllerId().equals(source.getControllerId()) + return abilityToModify.isControlledBy(source.getControllerId()) && (abilityToModify instanceof CyclingAbility); } diff --git a/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java b/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java index 08619da0bd7..b66dd9c48a5 100644 --- a/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java +++ b/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java @@ -91,7 +91,7 @@ class FoeRazerRegentTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); - if (permanent != null && permanent.getControllerId().equals(getControllerId())) { + if (permanent != null && permanent.isControlledBy(getControllerId())) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(permanent, game)); } diff --git a/Mage.Sets/src/mage/cards/f/ForbiddenCrypt.java b/Mage.Sets/src/mage/cards/f/ForbiddenCrypt.java index 97f42256d0c..06678f2232e 100644 --- a/Mage.Sets/src/mage/cards/f/ForbiddenCrypt.java +++ b/Mage.Sets/src/mage/cards/f/ForbiddenCrypt.java @@ -149,7 +149,7 @@ class ForbiddenCryptPutIntoYourGraveyardReplacementEffect extends ReplacementEff public boolean applies(GameEvent event, Ability source, Game game) { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(source.getControllerId())) { + if (card != null && card.isOwnedBy(source.getControllerId())) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); if (permanent == null || !(permanent instanceof PermanentToken)) { return true; diff --git a/Mage.Sets/src/mage/cards/f/FracturedLoyalty.java b/Mage.Sets/src/mage/cards/f/FracturedLoyalty.java index 27e81fe492a..260c148e634 100644 --- a/Mage.Sets/src/mage/cards/f/FracturedLoyalty.java +++ b/Mage.Sets/src/mage/cards/f/FracturedLoyalty.java @@ -71,7 +71,7 @@ public final class FracturedLoyalty extends CardImpl { if (enchantedCreature != null) { Player controller = game.getPlayer(enchantedCreature.getControllerId()); if (enchantment.getAttachedTo() != null) { - if (controller != null && !enchantedCreature.getControllerId().equals(this.getTargetPointer().getFirst(game, source))) { + if (controller != null && !enchantedCreature.isControlledBy(this.getTargetPointer().getFirst(game, source))) { ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, this.getTargetPointer().getFirst(game, source)); effect.setTargetPointer(new FixedTarget(enchantment.getAttachedTo())); game.addEffect(effect, source); diff --git a/Mage.Sets/src/mage/cards/g/GarnaTheBloodflame.java b/Mage.Sets/src/mage/cards/g/GarnaTheBloodflame.java index fac88ce9315..1bd6c487eca 100644 --- a/Mage.Sets/src/mage/cards/g/GarnaTheBloodflame.java +++ b/Mage.Sets/src/mage/cards/g/GarnaTheBloodflame.java @@ -85,7 +85,7 @@ class GarnaTheBloodflameEffect extends OneShotEffect { Set toHand = new HashSet<>(); for (UUID cardId : watcher.getCardsPutToGraveyardThisTurn()) { Card card = game.getCard(cardId); - if (card != null && card.getOwnerId().equals(source.getControllerId()) && game.getState().getZone(cardId) == Zone.GRAVEYARD) { + if (card != null && card.isOwnedBy(source.getControllerId()) && game.getState().getZone(cardId) == Zone.GRAVEYARD) { toHand.add(card); } } diff --git a/Mage.Sets/src/mage/cards/g/GenerousPatron.java b/Mage.Sets/src/mage/cards/g/GenerousPatron.java index 87cefacb22e..ccbfaa40354 100644 --- a/Mage.Sets/src/mage/cards/g/GenerousPatron.java +++ b/Mage.Sets/src/mage/cards/g/GenerousPatron.java @@ -62,7 +62,7 @@ class GenerousPatronTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (!getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if (!isControlledBy(game.getControllerId(event.getSourceId()))) { return false; } Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); @@ -71,7 +71,7 @@ class GenerousPatronTriggeredAbility extends TriggeredAbilityImpl { } return permanent != null && permanent.isCreature() - && !permanent.getControllerId().equals(getControllerId()); + && !permanent.isControlledBy(getControllerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/g/GideonJura.java b/Mage.Sets/src/mage/cards/g/GideonJura.java index 1e1c44adabc..2edb2813cb7 100644 --- a/Mage.Sets/src/mage/cards/g/GideonJura.java +++ b/Mage.Sets/src/mage/cards/g/GideonJura.java @@ -122,7 +122,7 @@ class GideonJuraEffect extends RequirementEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getControllerId().equals(source.getFirstTarget()); + return permanent.isControlledBy(source.getFirstTarget()); } @Override diff --git a/Mage.Sets/src/mage/cards/g/GideonsIntervention.java b/Mage.Sets/src/mage/cards/g/GideonsIntervention.java index 1c6d51538f1..91e539b291e 100644 --- a/Mage.Sets/src/mage/cards/g/GideonsIntervention.java +++ b/Mage.Sets/src/mage/cards/g/GideonsIntervention.java @@ -139,7 +139,7 @@ class GideonsInterventionPreventAllDamageEffect extends PreventionEffectImpl { || event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER))) { if (object.getName().equals(game.getState().getValue(source.getSourceId().toString() + ChooseACardNameEffect.INFO_KEY)) && (event.getTargetId().equals(source.getControllerId()) - || targetPerm != null && targetPerm.getControllerId().equals(source.getControllerId()))) { + || targetPerm != null && targetPerm.isControlledBy(source.getControllerId()))) { return super.applies(event, source, game); } } diff --git a/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java b/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java index 29578aca461..79dd93dfd96 100644 --- a/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java +++ b/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java @@ -106,7 +106,7 @@ class GiselaBladeOfGoldnightDoubleDamageEffect extends ReplacementEffectImpl { case DAMAGE_PLANESWALKER: Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { preventDamage(event, source, permanent.getId(), game); } else if (game.getOpponents(source.getControllerId()).contains(permanent.getControllerId())) { event.setAmount(CardUtil.addWithOverflowCheck(event.getAmount(), event.getAmount())); diff --git a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java index 08a97e5be10..df612eb6e01 100644 --- a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java +++ b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java @@ -74,7 +74,7 @@ class GladehartCavalryTriggeredAbility extends TriggeredAbilityImpl { && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null - && permanent.getControllerId().equals(this.getControllerId()) + && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature() && permanent.getCounters(game).getCount(CounterType.P1P1) > 0) { return true; diff --git a/Mage.Sets/src/mage/cards/g/Gleancrawler.java b/Mage.Sets/src/mage/cards/g/Gleancrawler.java index 648dc92902e..9b183e132c5 100644 --- a/Mage.Sets/src/mage/cards/g/Gleancrawler.java +++ b/Mage.Sets/src/mage/cards/g/Gleancrawler.java @@ -82,7 +82,7 @@ class GleancrawlerEffect extends OneShotEffect { if (game.getState().getZoneChangeCounter(mor.getSourceId()) == mor.getZoneChangeCounter()) { Card card = game.getCard(mor.getSourceId()); if (card != null && card.isCreature() - && card.getOwnerId().equals(source.getControllerId())) { + && card.isOwnedBy(source.getControllerId())) { cardsToHand.add(card); } } diff --git a/Mage.Sets/src/mage/cards/g/GoblinRockSled.java b/Mage.Sets/src/mage/cards/g/GoblinRockSled.java index 15bc0cb8b6f..fa2d9fd3782 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRockSled.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRockSled.java @@ -95,7 +95,7 @@ class DontUntapIfAttackedLastTurnSourceEffect extends ContinuousRuleModifyingEff if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getTargetId().equals(source.getSourceId())) { Permanent permanent = game.getPermanent(source.getSourceId()); - if (permanent != null && permanent.getControllerId().equals(game.getActivePlayerId())) { + if (permanent != null && permanent.isControlledBy(game.getActivePlayerId())) { AttackedLastTurnWatcher watcher = (AttackedLastTurnWatcher) game.getState().getWatchers().get(AttackedLastTurnWatcher.class.getSimpleName()); if (watcher != null) { Set attackingCreatures = watcher.getAttackedLastTurnCreatures(permanent.getControllerId()); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarCry.java b/Mage.Sets/src/mage/cards/g/GoblinWarCry.java index f1e4518365b..d4479c84759 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarCry.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarCry.java @@ -103,7 +103,7 @@ class GoblinWarCryRestrictionEffect extends RestrictionEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - if (permanent.getControllerId().equals(source.getFirstTarget())) { + if (permanent.isControlledBy(source.getFirstTarget())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/g/GoblinWelder.java b/Mage.Sets/src/mage/cards/g/GoblinWelder.java index a5eaa4a6b79..8df331165b3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWelder.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWelder.java @@ -75,7 +75,7 @@ public final class GoblinWelder extends CardImpl { && artifact.isArtifact() && card.isArtifact() && currentZone == Zone.GRAVEYARD - && card.getOwnerId().equals(artifact.getControllerId())) { + && card.isOwnedBy(artifact.getControllerId())) { boolean sacrifice = artifact.sacrifice(source.getSourceId(), game); boolean putOnBF = owner.moveCards(card, Zone.BATTLEFIELD, source, game); if (sacrifice || putOnBF) { diff --git a/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java b/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java index 0a426b135cd..508844bc913 100644 --- a/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java +++ b/Mage.Sets/src/mage/cards/g/GrandWarlordRadha.java @@ -120,7 +120,7 @@ class GrandWarlordRadhaTriggeredAbility extends TriggeredAbilityImpl { Permanent creature = game.getPermanent(attacker); if (creature != null && creature.getControllerId() != null - && creature.getControllerId().equals(this.getControllerId())) { + && creature.isControlledBy(this.getControllerId())) { return true; } } @@ -157,7 +157,7 @@ class GrandWarlordRadhaEffect extends OneShotEffect { if (watcher != null) { int attackingCreatures = 0; for (MageObjectReference attacker : watcher.getAttackedThisTurnCreatures()) { - if (attacker.getPermanentOrLKIBattlefield(game).getControllerId().equals(controller.getId())) { + if (attacker.getPermanentOrLKIBattlefield(game).isControlledBy(controller.getId())) { attackingCreatures++; } } diff --git a/Mage.Sets/src/mage/cards/g/GratuitousViolence.java b/Mage.Sets/src/mage/cards/g/GratuitousViolence.java index 216a6ac5920..b345c48d223 100644 --- a/Mage.Sets/src/mage/cards/g/GratuitousViolence.java +++ b/Mage.Sets/src/mage/cards/g/GratuitousViolence.java @@ -72,7 +72,7 @@ class GratuitousViolenceReplacementEffect extends ReplacementEffectImpl { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); return permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(source.getControllerId()); + && permanent.isControlledBy(source.getControllerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/g/GraveBetrayal.java b/Mage.Sets/src/mage/cards/g/GraveBetrayal.java index 3fdc4bd5e8f..888925283e9 100644 --- a/Mage.Sets/src/mage/cards/g/GraveBetrayal.java +++ b/Mage.Sets/src/mage/cards/g/GraveBetrayal.java @@ -75,7 +75,7 @@ class GraveBetrayalTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent != null && !permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent != null && !permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { Card card = (Card) game.getObject(permanent.getId()); if (card != null) { Effect effect = new GraveBetrayalEffect(); diff --git a/Mage.Sets/src/mage/cards/g/GravePact.java b/Mage.Sets/src/mage/cards/g/GravePact.java index 8898367c9ba..c2dd2f4ee53 100644 --- a/Mage.Sets/src/mage/cards/g/GravePact.java +++ b/Mage.Sets/src/mage/cards/g/GravePact.java @@ -69,7 +69,7 @@ class GravePactTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { return true; } } diff --git a/Mage.Sets/src/mage/cards/g/Gravecrawler.java b/Mage.Sets/src/mage/cards/g/Gravecrawler.java index dd5154a31f9..6c119740d8c 100644 --- a/Mage.Sets/src/mage/cards/g/Gravecrawler.java +++ b/Mage.Sets/src/mage/cards/g/Gravecrawler.java @@ -75,7 +75,7 @@ class GravecrawlerPlayEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(source.getSourceId()) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(source.getSourceId()) && source.isControlledBy(affectedControllerId)) { Card card = game.getCard(source.getSourceId()); if (card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { if (game.getBattlefield().countAll(filter, source.getControllerId(), game) > 0) { diff --git a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java index d5906391550..0323b7d343a 100644 --- a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java +++ b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java @@ -86,7 +86,7 @@ class GreatbowDoyenTriggeredAbility extends TriggeredAbilityImpl { if (creature != null && damagedCreature != null && creature.isCreature() && creature.hasSubtype(SubType.ARCHER, game) - && creature.getControllerId().equals(controllerId)) { + && creature.isControlledBy(controllerId)) { this.getEffects().get(0).setValue("damageAmount", event.getAmount()); this.getEffects().get(0).setValue("controller", damagedCreature.getControllerId()); this.getEffects().get(0).setValue("source", event.getSourceId()); diff --git a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java index 674ef59bdd7..f4167607445 100644 --- a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java +++ b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java @@ -101,7 +101,7 @@ class GrenzoHavocRaiserTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); if (damagedPlayer != null && permanent != null && ((DamagedEvent) event).isCombatDamage() - && getControllerId().equals(permanent.getControllerId())) { + && isControlledBy(permanent.getControllerId())) { FilterCreaturePermanent filter = new FilterCreaturePermanent("creature " + damagedPlayer.getLogName() + " controls"); filter.add(new ControllerIdPredicate(damagedPlayer.getId())); this.getTargets().clear(); @@ -198,7 +198,7 @@ class GrenzoHavocRaiserCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(cardId) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(cardId) && source.isControlledBy(affectedControllerId)) { ExileZone exileZone = game.getState().getExile().getExileZone(exileId); return exileZone != null && exileZone.contains(cardId); } @@ -229,7 +229,7 @@ class GrenzoHavocRaiserSpendAnyManaEffect extends AsThoughEffectImpl implements @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && Objects.equals(objectId, ((FixedTarget) getTargetPointer()).getTarget()) && ((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId) && (((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId)) diff --git a/Mage.Sets/src/mage/cards/g/GrinningTotem.java b/Mage.Sets/src/mage/cards/g/GrinningTotem.java index 37016ec834e..910bc9034ab 100644 --- a/Mage.Sets/src/mage/cards/g/GrinningTotem.java +++ b/Mage.Sets/src/mage/cards/g/GrinningTotem.java @@ -140,7 +140,7 @@ class GrinningTotemMayPlayEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && sourceId.equals(getTargetPointer().getFirst(game, source)); } diff --git a/Mage.Sets/src/mage/cards/g/GroundPounder.java b/Mage.Sets/src/mage/cards/g/GroundPounder.java index db43efdee49..dcfcf17eb30 100644 --- a/Mage.Sets/src/mage/cards/g/GroundPounder.java +++ b/Mage.Sets/src/mage/cards/g/GroundPounder.java @@ -106,7 +106,7 @@ class GroundPounderTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { if (event.getAmount() >= 5) { return true; } diff --git a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java index f5da5a8ed24..7ac876b7ce1 100644 --- a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java +++ b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java @@ -83,7 +83,7 @@ class GruulRagebeastTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { UUID targetId = event.getTargetId(); Permanent permanent = game.getPermanent(targetId); - if (permanent.getControllerId().equals(this.controllerId) + if (permanent.isControlledBy(this.controllerId) && permanent.isCreature() && (targetId.equals(this.getSourceId()) || !targetId.equals(this.getSourceId()))) { diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java index 2a8076d6693..a550fb2d671 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java @@ -85,7 +85,7 @@ class GuardianOfTazeemTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isLand() - && permanent.getControllerId().equals(getControllerId())) { + && permanent.isControlledBy(getControllerId())) { for (Effect effect : getEffects()) { if (effect instanceof GuardianOfTazeemEffect) { effect.setTargetPointer(new FixedTarget(permanent, game)); diff --git a/Mage.Sets/src/mage/cards/g/Guile.java b/Mage.Sets/src/mage/cards/g/Guile.java index b30d1e541bc..c641c4df146 100644 --- a/Mage.Sets/src/mage/cards/g/Guile.java +++ b/Mage.Sets/src/mage/cards/g/Guile.java @@ -107,6 +107,6 @@ class GuileReplacementEffect extends ReplacementEffectImpl { StackObject counteringObject = game.getStack().getStackObject(event.getSourceId()); return counteredSpell != null && counteringObject != null - && counteringObject.getControllerId().equals(source.getControllerId()); + && counteringObject.isControlledBy(source.getControllerId()); } } diff --git a/Mage.Sets/src/mage/cards/g/GutterGrime.java b/Mage.Sets/src/mage/cards/g/GutterGrime.java index 19985966deb..28fa9508b39 100644 --- a/Mage.Sets/src/mage/cards/g/GutterGrime.java +++ b/Mage.Sets/src/mage/cards/g/GutterGrime.java @@ -73,7 +73,7 @@ class GutterGrimeTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = (Permanent) card; ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD - && permanent.getControllerId().equals(this.controllerId) + && permanent.isControlledBy(this.controllerId) && (targetId.equals(this.getSourceId()) || (permanent.isCreature() && !(permanent instanceof PermanentToken)))) { diff --git a/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java b/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java index bcf84ab249e..edba324a79d 100644 --- a/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java +++ b/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java @@ -156,7 +156,7 @@ class HaakonPlayKnightsFromGraveyardEffect extends AsThoughEffectImpl { Card knightToCast = game.getCard(objectId); if (knightToCast != null && knightToCast.hasSubtype(SubType.KNIGHT, game) - && knightToCast.getOwnerId().equals(source.getControllerId()) + && knightToCast.isOwnedBy(source.getControllerId()) && game.getState().getZone(objectId) == Zone.GRAVEYARD) { return true; } diff --git a/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java b/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java index 7ca188563c3..8eb11c779ac 100644 --- a/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java +++ b/Mage.Sets/src/mage/cards/h/HallarTheFirefletcher.java @@ -81,7 +81,7 @@ class HallarTheFirefletcherTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); - if (spell != null && spell.getControllerId().equals(controllerId)) { + if (spell != null && spell.isControlledBy(controllerId)) { for (Ability ability : spell.getAbilities()) { if (ability instanceof KickerAbility && ((KickerAbility) ability).getKickedCounter(game, spell.getSpellAbility()) > 0) { return true; diff --git a/Mage.Sets/src/mage/cards/h/HardenedBerserker.java b/Mage.Sets/src/mage/cards/h/HardenedBerserker.java index 80804e74ae8..5793f80ee18 100644 --- a/Mage.Sets/src/mage/cards/h/HardenedBerserker.java +++ b/Mage.Sets/src/mage/cards/h/HardenedBerserker.java @@ -84,7 +84,7 @@ class HardenedBerserkerSpellsCostReductionEffect extends CostModificationEffectI } } if (abilityToModify instanceof SpellAbility) { - return abilityToModify.getControllerId().equals(source.getControllerId()); + return abilityToModify.isControlledBy(source.getControllerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/h/HardenedScales.java b/Mage.Sets/src/mage/cards/h/HardenedScales.java index 6e72fb04dc8..ce764544f94 100644 --- a/Mage.Sets/src/mage/cards/h/HardenedScales.java +++ b/Mage.Sets/src/mage/cards/h/HardenedScales.java @@ -73,7 +73,7 @@ class HardenedScalesEffect extends ReplacementEffectImpl { if (permanent == null) { permanent = game.getPermanentEntering(event.getTargetId()); } - if (permanent != null && permanent.getControllerId().equals(source.getControllerId()) + if (permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.isCreature()) { return true; } diff --git a/Mage.Sets/src/mage/cards/h/HarmsWay.java b/Mage.Sets/src/mage/cards/h/HarmsWay.java index 3f0c5a544ea..a6df836e323 100644 --- a/Mage.Sets/src/mage/cards/h/HarmsWay.java +++ b/Mage.Sets/src/mage/cards/h/HarmsWay.java @@ -86,7 +86,7 @@ class HarmsWayPreventDamageTargetEffect extends RedirectionEffect { // check permanent first Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { // it's your permanent return true; } diff --git a/Mage.Sets/src/mage/cards/h/HavengulLich.java b/Mage.Sets/src/mage/cards/h/HavengulLich.java index b48b5bb0b65..8c1c4a4896e 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulLich.java +++ b/Mage.Sets/src/mage/cards/h/HavengulLich.java @@ -91,7 +91,7 @@ class HavengulLichPlayEffect extends AsThoughEffectImpl { UUID targetId = getTargetPointer().getFirst(game, source); if (targetId != null) { return targetId.equals(objectId) - && source.getControllerId().equals(affectedControllerId) + && source.isControlledBy(affectedControllerId) && Zone.GRAVEYARD == game.getState().getZone(objectId); } else { // the target card has changed zone meanwhile, so the effect is no longer needed diff --git a/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java b/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java index 602fc6d9b77..21d86be5120 100644 --- a/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java +++ b/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java @@ -90,7 +90,7 @@ class HedronFieldPuristsEffect extends PreventionEffectImpl { if (event.getType() == GameEvent.EventType.DAMAGE_CREATURE) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return super.applies(event, source, game); } } diff --git a/Mage.Sets/src/mage/cards/h/Hellrider.java b/Mage.Sets/src/mage/cards/h/Hellrider.java index 0de939add9a..91ebfa5e2d7 100644 --- a/Mage.Sets/src/mage/cards/h/Hellrider.java +++ b/Mage.Sets/src/mage/cards/h/Hellrider.java @@ -68,7 +68,7 @@ class HellriderTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent source = game.getPermanent(event.getSourceId()); - if (source != null && source.getControllerId().equals(controllerId)) { + if (source != null && source.isControlledBy(controllerId)) { UUID defendingPlayerId = game.getCombat().getDefenderId(event.getSourceId()); this.getEffects().get(0).setTargetPointer(new FixedTarget(defendingPlayerId)); return true; diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfWar.java b/Mage.Sets/src/mage/cards/h/HeraldOfWar.java index c8e55bf6ba4..4ab890792c6 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfWar.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfWar.java @@ -79,7 +79,7 @@ class HeraldOfWarCostReductionEffect extends CostModificationEffectImpl { public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { Card sourceCard = game.getCard(abilityToModify.getSourceId()); - if (sourceCard != null && abilityToModify.getControllerId().equals(source.getControllerId()) && (sourceCard.hasSubtype(SubType.ANGEL, game) || sourceCard.hasSubtype(SubType.HUMAN, game))) { + if (sourceCard != null && abilityToModify.isControlledBy(source.getControllerId()) && (sourceCard.hasSubtype(SubType.ANGEL, game) || sourceCard.hasSubtype(SubType.HUMAN, game))) { return true; } } diff --git a/Mage.Sets/src/mage/cards/h/HomewardPath.java b/Mage.Sets/src/mage/cards/h/HomewardPath.java index d4c99489ec9..f6773fe9638 100644 --- a/Mage.Sets/src/mage/cards/h/HomewardPath.java +++ b/Mage.Sets/src/mage/cards/h/HomewardPath.java @@ -89,7 +89,7 @@ class HomewardPathControlEffect extends ContinuousEffectImpl { for (Iterator it = affectedObjectList.iterator(); it.hasNext();) { Permanent creature = it.next().getPermanent(game); if (creature != null) { - if (!creature.getControllerId().equals(creature.getOwnerId())) { + if (!creature.isControlledBy(creature.getOwnerId())) { creature.changeControllerId(creature.getOwnerId(), game); } } else { diff --git a/Mage.Sets/src/mage/cards/h/Hostility.java b/Mage.Sets/src/mage/cards/h/Hostility.java index 723b368c98f..a9cfc57da29 100644 --- a/Mage.Sets/src/mage/cards/h/Hostility.java +++ b/Mage.Sets/src/mage/cards/h/Hostility.java @@ -86,7 +86,7 @@ class HostilityEffect extends PreventionEffectImpl { if (super.applies(event, source, game)) { if (game.getOpponents(source.getControllerId()).contains(event.getTargetId())) { Spell spell = game.getStack().getSpell(event.getSourceId()); - if (spell != null && spell.getControllerId().equals(source.getControllerId())) { + if (spell != null && spell.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/i/IcefallRegent.java b/Mage.Sets/src/mage/cards/i/IcefallRegent.java index 0280b8b847b..8243899a55e 100644 --- a/Mage.Sets/src/mage/cards/i/IcefallRegent.java +++ b/Mage.Sets/src/mage/cards/i/IcefallRegent.java @@ -111,7 +111,7 @@ class IcefallRegentEffect extends ContinuousRuleModifyingEffectImpl { // the battlefield triggered ability the source dies (or will be exiled), then the ZONE_CHANGE or LOST_CONTROL // event will happen before this effect is applied ever) Permanent sourcePermanent = game.getPermanent(source.getSourceId()); - if (sourcePermanent == null || !sourcePermanent.getControllerId().equals(source.getControllerId())) { + if (sourcePermanent == null || !sourcePermanent.isControlledBy(source.getControllerId())) { discard(); return false; } diff --git a/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java b/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java index 1b76006a71e..2a44a903b35 100644 --- a/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java +++ b/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java @@ -79,7 +79,7 @@ class IkraShidiqiTheUsurperTriggeredAbility extends TriggeredAbilityImpl { DamagedEvent damageEvent = (DamagedEvent) event; if (damageEvent.isCombatDamage()) { Permanent permanent = game.getPermanent(event.getSourceId()); - if (permanent != null && permanent.isCreature() && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isCreature() && permanent.isControlledBy(this.getControllerId())) { this.getEffects().clear(); this.getEffects().add(new GainLifeEffect(permanent.getToughness().getValue())); return true; diff --git a/Mage.Sets/src/mage/cards/i/IllusionistsGambit.java b/Mage.Sets/src/mage/cards/i/IllusionistsGambit.java index e381280918a..b624891e7a2 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionistsGambit.java +++ b/Mage.Sets/src/mage/cards/i/IllusionistsGambit.java @@ -180,7 +180,7 @@ class IllusionistsGambitRestrictionEffect extends RestrictionEffect { } // planeswalker Permanent permanent = game.getPermanent(defenderId); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId()) + if (permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.isPlaneswalker()) { return false; } diff --git a/Mage.Sets/src/mage/cards/i/Immerwolf.java b/Mage.Sets/src/mage/cards/i/Immerwolf.java index ea7c0b63dd2..ebc726beb07 100644 --- a/Mage.Sets/src/mage/cards/i/Immerwolf.java +++ b/Mage.Sets/src/mage/cards/i/Immerwolf.java @@ -90,7 +90,7 @@ class ImmerwolfEffect extends ContinuousRuleModifyingEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); return permanent != null && - permanent.getControllerId().equals(source.getControllerId()) && + permanent.isControlledBy(source.getControllerId()) && filter.match(permanent, game) ; } } diff --git a/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java b/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java index b9966b8a7e9..33d22626e0d 100644 --- a/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java +++ b/Mage.Sets/src/mage/cards/i/IncreasingVengeance.java @@ -75,14 +75,14 @@ class IncreasingVengeanceEffect extends OneShotEffect { Spell spell = game.getStack().getSpell(targetPointer.getFirst(game, source)); if (spell != null) { StackObject stackObjectCopy = spell.createCopyOnStack(game, source, source.getControllerId(), true); - if (stackObjectCopy != null && stackObjectCopy instanceof Spell) { + if (stackObjectCopy instanceof Spell) { game.informPlayers(new StringBuilder(controller.getLogName()).append(((Spell) stackObjectCopy).getActivatedMessage(game)).toString()); } Spell sourceSpell = (Spell) game.getStack().getStackObject(source.getSourceId()); if (sourceSpell != null) { if (sourceSpell.getFromZone() == Zone.GRAVEYARD) { stackObjectCopy = spell.createCopyOnStack(game, source, source.getControllerId(), true); - if (stackObjectCopy != null && stackObjectCopy instanceof Spell) { + if (stackObjectCopy instanceof Spell) { game.informPlayers(new StringBuilder(controller.getLogName()).append(((Spell) stackObjectCopy).getActivatedMessage(game)).toString()); } } diff --git a/Mage.Sets/src/mage/cards/i/InfectiousCurse.java b/Mage.Sets/src/mage/cards/i/InfectiousCurse.java index c1a5a54fdcc..24418136a12 100644 --- a/Mage.Sets/src/mage/cards/i/InfectiousCurse.java +++ b/Mage.Sets/src/mage/cards/i/InfectiousCurse.java @@ -122,7 +122,7 @@ class InfectiousCurseCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (source.getControllerId().equals(abilityToModify.getControllerId())) { + if (source.isControlledBy(abilityToModify.getControllerId())) { for (UUID modeId : abilityToModify.getModes().getSelectedModes()) { Mode mode = abilityToModify.getModes().get(modeId); for (Target target : mode.getTargets()) { diff --git a/Mage.Sets/src/mage/cards/i/InfiniteReflection.java b/Mage.Sets/src/mage/cards/i/InfiniteReflection.java index 597a9f36eac..50643266bae 100644 --- a/Mage.Sets/src/mage/cards/i/InfiniteReflection.java +++ b/Mage.Sets/src/mage/cards/i/InfiniteReflection.java @@ -117,7 +117,7 @@ class InfiniteReflectionEntersBattlefieldEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); - return permanent != null && permanent.getControllerId().equals(source.getControllerId()) + return permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.isCreature() && !(permanent instanceof PermanentToken); } diff --git a/Mage.Sets/src/mage/cards/i/IreShaman.java b/Mage.Sets/src/mage/cards/i/IreShaman.java index cc7055ab6f7..8d0cbda7bca 100644 --- a/Mage.Sets/src/mage/cards/i/IreShaman.java +++ b/Mage.Sets/src/mage/cards/i/IreShaman.java @@ -115,7 +115,7 @@ class IreShamanCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/i/IslandSanctuary.java b/Mage.Sets/src/mage/cards/i/IslandSanctuary.java index 6cec4f2d425..aabf94d6899 100644 --- a/Mage.Sets/src/mage/cards/i/IslandSanctuary.java +++ b/Mage.Sets/src/mage/cards/i/IslandSanctuary.java @@ -81,7 +81,7 @@ class IslandSanctuaryEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()) && game.getTurn().getStepType() == PhaseStep.DRAW; + return source.isControlledBy(event.getPlayerId()) && game.getTurn().getStepType() == PhaseStep.DRAW; } @Override diff --git a/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java b/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java index 639950af6b6..ecd7273c356 100644 --- a/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java +++ b/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java @@ -242,7 +242,7 @@ class JaceArchitectOfThoughtEffect3 extends OneShotEffect { for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { Player player = game.getPlayer(playerId); String playerName = new StringBuilder(player.getLogName()).append("'s").toString(); - if (source.getControllerId().equals(player.getId())) { + if (source.isControlledBy(player.getId())) { playerName = "your"; } TargetCardInLibrary target = new TargetCardInLibrary(new FilterNonlandCard(new StringBuilder("nonland card from ").append(playerName).append(" library").toString())); diff --git a/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java b/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java index 160baea0769..e5b52f876da 100644 --- a/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java +++ b/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java @@ -112,7 +112,7 @@ class JaceCunningCastawayDamageTriggeredAbility extends DelayedTriggeredAbility if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId) + if (creature != null && creature.isControlledBy(controllerId) && !damagedPlayerIds.contains(event.getTargetId())) { damagedPlayerIds.add(event.getTargetId()); return true; diff --git a/Mage.Sets/src/mage/cards/j/JarOfEyeballs.java b/Mage.Sets/src/mage/cards/j/JarOfEyeballs.java index f8076da878f..5ea98a196fc 100644 --- a/Mage.Sets/src/mage/cards/j/JarOfEyeballs.java +++ b/Mage.Sets/src/mage/cards/j/JarOfEyeballs.java @@ -83,7 +83,7 @@ class JarOfEyeballsTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { return true; } } diff --git a/Mage.Sets/src/mage/cards/j/Jokulmorder.java b/Mage.Sets/src/mage/cards/j/Jokulmorder.java index 5ce19758477..dfe4138831a 100644 --- a/Mage.Sets/src/mage/cards/j/Jokulmorder.java +++ b/Mage.Sets/src/mage/cards/j/Jokulmorder.java @@ -86,7 +86,7 @@ class JokulmorderTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent land = game.getPermanent(event.getTargetId()); return land.hasSubtype(SubType.ISLAND, game) - && land.getControllerId().equals(this.controllerId); + && land.isControlledBy(this.controllerId); } @Override diff --git a/Mage.Sets/src/mage/cards/j/Juxtapose.java b/Mage.Sets/src/mage/cards/j/Juxtapose.java index 2adf2dfa6b3..ecc67002684 100644 --- a/Mage.Sets/src/mage/cards/j/Juxtapose.java +++ b/Mage.Sets/src/mage/cards/j/Juxtapose.java @@ -97,7 +97,7 @@ class JuxtaposeEffect extends ContinuousEffectImpl { if (permanent1 != null && permanent2 != null) { // exchange works only for two different controllers - if (permanent1.getControllerId().equals(permanent2.getControllerId())) { + if (permanent1.isControlledBy(permanent2.getControllerId())) { // discard effect if controller of both permanents is the same discard(); return; diff --git a/Mage.Sets/src/mage/cards/k/KarnLiberated.java b/Mage.Sets/src/mage/cards/k/KarnLiberated.java index 5a4629551fc..dc7a656eab9 100644 --- a/Mage.Sets/src/mage/cards/k/KarnLiberated.java +++ b/Mage.Sets/src/mage/cards/k/KarnLiberated.java @@ -111,7 +111,7 @@ class KarnLiberatedEffect extends OneShotEffect { player.getHand().clear(); player.getLibrary().clear(); for (Card card : game.getCards()) { - if (card.getOwnerId().equals(player.getId()) && !card.isCopy() // no copies + if (card.isOwnedBy(player.getId()) && !card.isCopy() // no copies && !player.getSideboard().contains(card.getId()) && !cards.contains(card)) { // not the exiled cards if (player.getCommandersIds().contains(card.getId())) { diff --git a/Mage.Sets/src/mage/cards/k/KarnScionOfUrza.java b/Mage.Sets/src/mage/cards/k/KarnScionOfUrza.java index e9589ae4605..7fc485e7150 100644 --- a/Mage.Sets/src/mage/cards/k/KarnScionOfUrza.java +++ b/Mage.Sets/src/mage/cards/k/KarnScionOfUrza.java @@ -170,7 +170,7 @@ class KarnMinus1Effect extends OneShotEffect { Cards filteredCards = new CardsImpl(); for (Card exileCard : exile) { - if (exileCard.getOwnerId().equals(source.getControllerId()) && filter.match(exileCard, game)) { + if (exileCard.isOwnedBy(source.getControllerId()) && filter.match(exileCard, game)) { filteredCards.add(exileCard); } } diff --git a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java index 636f40c80c2..b338d4cf51b 100644 --- a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java +++ b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java @@ -86,8 +86,8 @@ class KaronaFalseGodUntapGetControlEffect extends OneShotEffect { // remove old control effects of the same player for (ContinuousEffect effect : game.getState().getContinuousEffects().getLayeredEffects(game)) { if (effect instanceof GainControlTargetEffect) { - UUID checkId = (UUID) ((GainControlTargetEffect) effect).getValue("KaronaFalseGodSourceId"); - UUID controllerId = (UUID) ((GainControlTargetEffect) effect).getValue("KaronaFalseGodControllerId"); + UUID checkId = (UUID) effect.getValue("KaronaFalseGodSourceId"); + UUID controllerId = (UUID) effect.getValue("KaronaFalseGodControllerId"); if (source.getSourceId().equals(checkId) && newController.getId().equals(controllerId)) { effect.discard(); } diff --git a/Mage.Sets/src/mage/cards/k/KarplusanMinotaur.java b/Mage.Sets/src/mage/cards/k/KarplusanMinotaur.java index f4ee2af344e..eda2fdad620 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanMinotaur.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanMinotaur.java @@ -103,7 +103,7 @@ class KarplusanMinotaurFlipWinTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - return this.getControllerId().equals(event.getPlayerId()) && event.getFlag(); + return this.isControlledBy(event.getPlayerId()) && event.getFlag(); } @Override @@ -134,7 +134,7 @@ class KarplusanMinotaurFlipLoseTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - return this.getControllerId().equals(event.getPlayerId()) && !event.getFlag(); + return this.isControlledBy(event.getPlayerId()) && !event.getFlag(); } @Override diff --git a/Mage.Sets/src/mage/cards/k/KazarovSengirPureblood.java b/Mage.Sets/src/mage/cards/k/KazarovSengirPureblood.java index b56ea5a3b06..53a780e8b81 100644 --- a/Mage.Sets/src/mage/cards/k/KazarovSengirPureblood.java +++ b/Mage.Sets/src/mage/cards/k/KazarovSengirPureblood.java @@ -87,7 +87,7 @@ class KazarovSengirPurebloodTriggeredAbility extends TriggeredAbilityImpl { if (permanent == null) { return false; } - if (permanent.getControllerId().equals(this.getControllerId())) { + if (permanent.isControlledBy(this.getControllerId())) { return false; } return true; diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java index eadc6f82a77..3508e2839f3 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheDead.java @@ -128,7 +128,7 @@ class KeeperOfTheDeadCreatureTarget extends TargetPermanent { public boolean canTarget(UUID id, Ability source, Game game) { UUID firstTarget = source.getFirstTarget(); Permanent permanent = game.getPermanent(id); - if (firstTarget != null && permanent != null && permanent.getControllerId().equals(firstTarget)) { + if (firstTarget != null && permanent != null && permanent.isControlledBy(firstTarget)) { return super.canTarget(id, source, game); } return false; @@ -153,7 +153,7 @@ class KeeperOfTheDeadCreatureTarget extends TargetPermanent { UUID playerId = ((StackObject) object).getStackAbility().getFirstTarget(); for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); - if (permanent != null && nonblackCreaturefilter.match(permanent, game) && permanent.getControllerId().equals(playerId)) { + if (permanent != null && nonblackCreaturefilter.match(permanent, game) && permanent.isControlledBy(playerId)) { possibleTargets.add(targetId); } } diff --git a/Mage.Sets/src/mage/cards/k/KnacksawClique.java b/Mage.Sets/src/mage/cards/k/KnacksawClique.java index 9de1b132b83..1b3b4882150 100644 --- a/Mage.Sets/src/mage/cards/k/KnacksawClique.java +++ b/Mage.Sets/src/mage/cards/k/KnacksawClique.java @@ -122,7 +122,7 @@ class KnacksawCliqueCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && sourceId.equals(getTargetPointer().getFirst(game, source)); } diff --git a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java index 1faaa0d25d7..482ed9506d0 100644 --- a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java +++ b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java @@ -86,7 +86,7 @@ class BecomesMonarchTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkInterveningIfClause(Game game) { MonarchAtTurnStartWatcher watcher = (MonarchAtTurnStartWatcher) game.getState().getWatchers().get(MonarchAtTurnStartWatcher.class.getSimpleName()); - return watcher != null && getControllerId().equals(watcher.getMonarchIdAtTurnStart()); + return watcher != null && isControlledBy(watcher.getMonarchIdAtTurnStart()); } @Override diff --git a/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java b/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java index 5f8dc1b4414..738f2ffc63c 100644 --- a/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java +++ b/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java @@ -93,7 +93,7 @@ class KopalaWardenOfWavesCostReductionEffect extends CostModificationEffectImpl Permanent creature = game.getPermanent(targetUUID); if (creature != null && filter.match(creature, game) - && creature.getControllerId().equals(source.getControllerId())) { + && creature.isControlledBy(source.getControllerId())) { return true; } } @@ -144,7 +144,7 @@ class KopalaWardenOfWavesCostReductionEffect2 extends CostModificationEffectImpl Permanent creature = game.getPermanent(targetUUID); if (creature != null && filter.match(creature, game) - && creature.getControllerId().equals(source.getControllerId())) { + && creature.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/k/KrarksOtherThumb.java b/Mage.Sets/src/mage/cards/k/KrarksOtherThumb.java index 1575db39a59..6001ec55995 100644 --- a/Mage.Sets/src/mage/cards/k/KrarksOtherThumb.java +++ b/Mage.Sets/src/mage/cards/k/KrarksOtherThumb.java @@ -82,7 +82,7 @@ class KrarksOtherThumbEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/k/KrarksThumb.java b/Mage.Sets/src/mage/cards/k/KrarksThumb.java index 20a705b886a..3acb3bde5aa 100644 --- a/Mage.Sets/src/mage/cards/k/KrarksThumb.java +++ b/Mage.Sets/src/mage/cards/k/KrarksThumb.java @@ -74,7 +74,7 @@ class KrarksThumbEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/l/Larceny.java b/Mage.Sets/src/mage/cards/l/Larceny.java index 19279f5e722..297dd135e86 100644 --- a/Mage.Sets/src/mage/cards/l/Larceny.java +++ b/Mage.Sets/src/mage/cards/l/Larceny.java @@ -64,7 +64,7 @@ class LarcenyTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { for(Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); diff --git a/Mage.Sets/src/mage/cards/l/LashknifeBarrier.java b/Mage.Sets/src/mage/cards/l/LashknifeBarrier.java index 77a2b57084f..994ea460f78 100644 --- a/Mage.Sets/src/mage/cards/l/LashknifeBarrier.java +++ b/Mage.Sets/src/mage/cards/l/LashknifeBarrier.java @@ -79,7 +79,7 @@ class LashknifeBarrierEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = game.getPermanent(event.getTargetId()); - return creature.getControllerId().equals(source.getControllerId()); + return creature.isControlledBy(source.getControllerId()); } } diff --git a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java index cce548fd280..270e0500530 100644 --- a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java +++ b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java @@ -109,7 +109,7 @@ class LeovoldEmissaryOfTrestTriggeredAbility extends TriggeredAbilityImpl { return true; // Player was targeted } Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent != null && this.getControllerId().equals(permanent.getControllerId())) { + if (permanent != null && this.isControlledBy(permanent.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/l/LightOfSanction.java b/Mage.Sets/src/mage/cards/l/LightOfSanction.java index c9528142999..a0976975685 100644 --- a/Mage.Sets/src/mage/cards/l/LightOfSanction.java +++ b/Mage.Sets/src/mage/cards/l/LightOfSanction.java @@ -56,13 +56,13 @@ class LightOfSanctionEffect extends PreventionEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (event.getType() == GameEvent.EventType.DAMAGE_CREATURE) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { MageObject damageSource = game.getObject(event.getSourceId()); if (damageSource instanceof Controllable) { - return ((Controllable) damageSource).getControllerId().equals(source.getControllerId()); + return ((Controllable) damageSource).isControlledBy(source.getControllerId()); } else if (damageSource instanceof Card) { - return ((Card) damageSource).getOwnerId().equals(source.getControllerId()); + return ((Card) damageSource).isOwnedBy(source.getControllerId()); } } } diff --git a/Mage.Sets/src/mage/cards/l/LilianaUntouchedByDeath.java b/Mage.Sets/src/mage/cards/l/LilianaUntouchedByDeath.java index 5d8bb40b5a5..6d569e10128 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaUntouchedByDeath.java +++ b/Mage.Sets/src/mage/cards/l/LilianaUntouchedByDeath.java @@ -135,7 +135,7 @@ class LilianaUntouchedByDeathGraveyardEffect extends AsThoughEffectImpl { Card card = game.getCard(objectId); if (card != null && card.hasSubtype(SubType.ZOMBIE, game) - && card.getOwnerId().equals(source.getControllerId()) + && card.isOwnedBy(source.getControllerId()) && game.getState().getZone(objectId) == Zone.GRAVEYARD) { return true; } diff --git a/Mage.Sets/src/mage/cards/l/LilianasContract.java b/Mage.Sets/src/mage/cards/l/LilianasContract.java index e11a5d929f9..a568b0a855a 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasContract.java +++ b/Mage.Sets/src/mage/cards/l/LilianasContract.java @@ -70,7 +70,7 @@ enum LilianasContractCondition implements Condition { Set demonNames = new HashSet(); for (Permanent permanent : game.getBattlefield().getActivePermanents(source.getControllerId(), game)) { if (permanent == null - || !permanent.getControllerId().equals(source.getControllerId()) + || !permanent.isControlledBy(source.getControllerId()) || !permanent.hasSubtype(SubType.DEMON, game)) { continue; } diff --git a/Mage.Sets/src/mage/cards/l/LoamingShaman.java b/Mage.Sets/src/mage/cards/l/LoamingShaman.java index d31cd699bf0..e9ed578b3f1 100644 --- a/Mage.Sets/src/mage/cards/l/LoamingShaman.java +++ b/Mage.Sets/src/mage/cards/l/LoamingShaman.java @@ -99,10 +99,10 @@ class LoamingShamanTargetCardsInGraveyard extends TargetCardInGraveyard { if (firstTarget != null) { Card card = game.getCard(firstTarget); if (card == null || targetCard == null - || !card.getOwnerId().equals(targetCard.getOwnerId())) { + || !card.isOwnedBy(targetCard.getOwnerId())) { return false; } - } else if (targetCard == null || !targetCard.getOwnerId().equals(targetPlayerId)) { + } else if (targetCard == null || !targetCard.isOwnedBy(targetPlayerId)) { return false; } return super.canTarget(id, source, game); diff --git a/Mage.Sets/src/mage/cards/l/LocketOfYesterdays.java b/Mage.Sets/src/mage/cards/l/LocketOfYesterdays.java index 8c649f6fcff..e987b48df8b 100644 --- a/Mage.Sets/src/mage/cards/l/LocketOfYesterdays.java +++ b/Mage.Sets/src/mage/cards/l/LocketOfYesterdays.java @@ -70,7 +70,7 @@ class LocketOfYesterdaysCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - if (abilityToModify.getControllerId().equals(source.getControllerId()) + if (abilityToModify.isControlledBy(source.getControllerId()) && (abilityToModify instanceof SpellAbility)) { return true; } diff --git a/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java b/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java index d5df07c0b8a..ce678715e65 100644 --- a/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java +++ b/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java @@ -88,7 +88,7 @@ class LuminatePrimordialEffect extends OneShotEffect { for (Target target: source.getTargets()) { if (target instanceof TargetCreaturePermanent) { Permanent targetCreature = game.getPermanent(target.getFirstTarget()); - if (targetCreature != null && !targetCreature.getControllerId().equals(source.getControllerId())) { + if (targetCreature != null && !targetCreature.isControlledBy(source.getControllerId())) { int amountLife = targetCreature.getPower().getValue(); Player controller = game.getPlayer(targetCreature.getControllerId()); targetCreature.moveToExile(null, null, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/cards/m/MaelstromNexus.java b/Mage.Sets/src/mage/cards/m/MaelstromNexus.java index 73ed90b41ea..c88f8d523ce 100644 --- a/Mage.Sets/src/mage/cards/m/MaelstromNexus.java +++ b/Mage.Sets/src/mage/cards/m/MaelstromNexus.java @@ -67,7 +67,7 @@ class MaelstromNexusGainCascadeFirstSpellEffect extends ContinuousEffectImpl { if (controller != null) { for (StackObject stackObject : game.getStack()) { // only spells cast, so no copies of spells - if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.getControllerId().equals(source.getControllerId())) { + if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; FirstSpellCastThisTurnWatcher watcher = (FirstSpellCastThisTurnWatcher) game.getState().getWatchers().get(FirstSpellCastThisTurnWatcher.class.getSimpleName()); if (watcher != null && spell.getId().equals(watcher.getIdOfFirstCastSpell(source.getControllerId()))) { diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java index 604ffe0b417..e56c7ef98e5 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java @@ -137,9 +137,9 @@ class MagusOfTheWillReplacementEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(source.getControllerId())) { + if (card != null && card.isOwnedBy(source.getControllerId())) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); - if (permanent == null || !(permanent instanceof PermanentToken)) { + if (!(permanent instanceof PermanentToken)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java b/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java index b7c5cccbfbc..67c5e5e20c8 100644 --- a/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java +++ b/Mage.Sets/src/mage/cards/m/MaliciousAffliction.java @@ -81,7 +81,7 @@ class CopySourceSpellEffect extends OneShotEffect { Spell spell = game.getStack().getSpell(source.getSourceId()); if (spell != null) { StackObject stackObjectCopy = spell.createCopyOnStack(game, source, source.getControllerId(), true); - if (stackObjectCopy != null && stackObjectCopy instanceof Spell) { + if (stackObjectCopy instanceof Spell) { String activateMessage = ((Spell) stackObjectCopy).getActivatedMessage(game); if (activateMessage.startsWith(" casts ")) { activateMessage = activateMessage.substring(6); diff --git a/Mage.Sets/src/mage/cards/m/Manaplasm.java b/Mage.Sets/src/mage/cards/m/Manaplasm.java index d3fab12d96a..26e23737080 100644 --- a/Mage.Sets/src/mage/cards/m/Manaplasm.java +++ b/Mage.Sets/src/mage/cards/m/Manaplasm.java @@ -67,7 +67,7 @@ class ManaplasmAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); - if (spell != null && spell.getControllerId().equals(controllerId)) { + if (spell != null && spell.isControlledBy(controllerId)) { this.getEffects().remove(0); int x = spell.getConvertedManaCost(); this.addEffect(new BoostSourceEffect(x,x, Duration.EndOfTurn)); diff --git a/Mage.Sets/src/mage/cards/m/MangarasTome.java b/Mage.Sets/src/mage/cards/m/MangarasTome.java index 0d92198f566..c46179ffc40 100644 --- a/Mage.Sets/src/mage/cards/m/MangarasTome.java +++ b/Mage.Sets/src/mage/cards/m/MangarasTome.java @@ -123,6 +123,6 @@ class MangarasTomeReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java b/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java index 1e7591a456a..e03922c936d 100644 --- a/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java +++ b/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java @@ -89,7 +89,7 @@ class MarangRiverProwlerCastEffect extends AsThoughEffectImpl { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(source.getSourceId()); if (card != null - && card.getOwnerId().equals(affectedControllerId) + && card.isOwnedBy(affectedControllerId) && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD && game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game) > 0) { return true; diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java b/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java index 6a07b61fa9f..5e31a472b5b 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java @@ -69,7 +69,7 @@ class MarchOfTheDroidsEffect extends OneShotEffect { if (controller != null) { Cards cardsToReturn = new CardsImpl(); for (Card card : controller.getGraveyard().getCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.getCounters(game).getCount(CounterType.REPAIR) > 0) { + if (card.isOwnedBy(controller.getId()) && card.getCounters(game).getCount(CounterType.REPAIR) > 0) { int number = card.getCounters(game).getCount(CounterType.REPAIR); if (number > 0) { cardsToReturn.add(card); diff --git a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java index 6617f13762c..1dc83d372b5 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java +++ b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java @@ -89,7 +89,7 @@ class MarchesaTheBlackRoseTriggeredAbility extends TriggeredAbilityImpl { && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); if (permanent != null - && permanent.getControllerId().equals(this.getControllerId()) + && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature() && permanent.getCounters(game).getCount(CounterType.P1P1) > 0) { for (Effect effect : this.getEffects()) { diff --git a/Mage.Sets/src/mage/cards/m/MartyrsBond.java b/Mage.Sets/src/mage/cards/m/MartyrsBond.java index cebfff601bd..930d3670c18 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrsBond.java +++ b/Mage.Sets/src/mage/cards/m/MartyrsBond.java @@ -74,7 +74,7 @@ class MartyrsBondTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent.getControllerId().equals(this.getControllerId()) && !permanent.isLand()) { + if (permanent.isControlledBy(this.getControllerId()) && !permanent.isLand()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(permanent.getId())); } diff --git a/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java b/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java index e4ef412e4c2..1ab1ddf3505 100644 --- a/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java +++ b/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java @@ -68,7 +68,7 @@ class BlockTappedEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { Permanent permanent = game.getPermanent(sourceId); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/m/MasterBiomancer.java b/Mage.Sets/src/mage/cards/m/MasterBiomancer.java index 7b1ca8c4a8a..79f1c605383 100644 --- a/Mage.Sets/src/mage/cards/m/MasterBiomancer.java +++ b/Mage.Sets/src/mage/cards/m/MasterBiomancer.java @@ -66,7 +66,7 @@ class MasterBiomancerEntersBattlefieldEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = ((EntersTheBattlefieldEvent) event).getTarget(); - return creature != null && creature.getControllerId().equals(source.getControllerId()) + return creature != null && creature.isControlledBy(source.getControllerId()) && creature.isCreature() && !event.getTargetId().equals(source.getSourceId()); } diff --git a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java index d85d9d55468..a0b101ebcb4 100644 --- a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java +++ b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java @@ -83,7 +83,7 @@ class MavrenFeinDuskApostleTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { for (UUID creatureId : game.getCombat().getAttackers()) { Permanent creature = game.getPermanent(creatureId); - if (creature != null && filter.match(creature, game) && creature.getControllerId().equals(controllerId)) { + if (creature != null && filter.match(creature, game) && creature.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java index a407ae32946..8d6dd6cd670 100644 --- a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java +++ b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java @@ -93,7 +93,7 @@ class MelekIzzetParagonTriggeredAbility extends TriggeredAbilityImpl { if (event.getZone() == Zone.LIBRARY) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null - && spell.getOwnerId().equals(super.getControllerId()) + && spell.isOwnedBy(super.getControllerId()) && (spell.isInstant() || spell.isSorcery())) { for (Effect effect : this.getEffects()) { diff --git a/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java b/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java index d83881a5f5e..d3d868a2e25 100644 --- a/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java +++ b/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java @@ -121,7 +121,7 @@ class MeliraSylvokOutcastEffect2 extends ReplacementEffectImpl { if (perm == null) { perm = game.getPermanentEntering(event.getTargetId()); } - if (perm != null && perm.isCreature() && perm.getControllerId().equals(source.getControllerId())) { + if (perm != null && perm.isCreature() && perm.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/m/MemoryCrystal.java b/Mage.Sets/src/mage/cards/m/MemoryCrystal.java index 961c67224f3..2da9818be48 100644 --- a/Mage.Sets/src/mage/cards/m/MemoryCrystal.java +++ b/Mage.Sets/src/mage/cards/m/MemoryCrystal.java @@ -74,7 +74,7 @@ class MemoryCrystalSpellsCostReductionEffect extends CostModificationEffectImpl @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { if (BuybackCondition.instance.apply(game, abilityToModify)) { diff --git a/Mage.Sets/src/mage/cards/m/MetallicMimic.java b/Mage.Sets/src/mage/cards/m/MetallicMimic.java index 28105b9f4d6..8788555ab1a 100644 --- a/Mage.Sets/src/mage/cards/m/MetallicMimic.java +++ b/Mage.Sets/src/mage/cards/m/MetallicMimic.java @@ -75,7 +75,7 @@ class MetallicMimicReplacementEffect extends ReplacementEffectImpl { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); Permanent enteringCreature = ((EntersTheBattlefieldEvent) event).getTarget(); if (enteringCreature != null && sourcePermanent != null - && enteringCreature.getControllerId().equals(source.getControllerId()) + && enteringCreature.isControlledBy(source.getControllerId()) && enteringCreature.isCreature() && !event.getTargetId().equals(source.getSourceId())) { SubType subType = ChooseCreatureTypeEffect.getChoosenCreatureType(source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/cards/m/MidnightOil.java b/Mage.Sets/src/mage/cards/m/MidnightOil.java index 3dd316efc81..954d3408969 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightOil.java +++ b/Mage.Sets/src/mage/cards/m/MidnightOil.java @@ -87,10 +87,8 @@ class MidnightOilTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(event.getPlayerId())) { - return true; - } - return false; + return isControlledBy(event.getPlayerId()); + } @Override diff --git a/Mage.Sets/src/mage/cards/m/MightMakesRight.java b/Mage.Sets/src/mage/cards/m/MightMakesRight.java index cc8c4333da3..9b293c50e48 100644 --- a/Mage.Sets/src/mage/cards/m/MightMakesRight.java +++ b/Mage.Sets/src/mage/cards/m/MightMakesRight.java @@ -82,7 +82,7 @@ enum ControlsEachCreatureWithGreatestPowerCondition implements Condition { result = true; } if (power == maxPower) { - result &= permanent.getControllerId().equals(source.getControllerId()); + result &= permanent.isControlledBy(source.getControllerId()); } } return result; diff --git a/Mage.Sets/src/mage/cards/m/Mindswipe.java b/Mage.Sets/src/mage/cards/m/Mindswipe.java index cda1df94a9f..fbfa217fd31 100644 --- a/Mage.Sets/src/mage/cards/m/Mindswipe.java +++ b/Mage.Sets/src/mage/cards/m/Mindswipe.java @@ -70,7 +70,7 @@ class MindswipeEffect extends OneShotEffect { if (object == null) { object = game.getLastKnownInformation(getTargetPointer().getFirst(game, source), Zone.STACK); } - if (object != null && object instanceof Spell) { + if (object instanceof Spell) { Spell spell = (Spell) object; Player spellController = game.getPlayer(spell.getControllerId()); if (spellController != null) { diff --git a/Mage.Sets/src/mage/cards/m/Mirari.java b/Mage.Sets/src/mage/cards/m/Mirari.java index bdace8ebf8e..0c0b0fe580f 100644 --- a/Mage.Sets/src/mage/cards/m/Mirari.java +++ b/Mage.Sets/src/mage/cards/m/Mirari.java @@ -92,7 +92,7 @@ class MirariTriggeredAbility extends TriggeredAbilityImpl { private boolean isControlledInstantOrSorcery(Spell spell) { return spell != null - && (spell.getControllerId().equals(this.getControllerId())) + && (spell.isControlledBy(this.getControllerId())) && (spell.isInstant() || spell.isSorcery()); } diff --git a/Mage.Sets/src/mage/cards/m/MirrorMatch.java b/Mage.Sets/src/mage/cards/m/MirrorMatch.java index f3bfc7ae932..895f00a1caa 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorMatch.java +++ b/Mage.Sets/src/mage/cards/m/MirrorMatch.java @@ -70,7 +70,7 @@ class MirrorMatchEffect extends OneShotEffect { for (UUID attackerId : game.getCombat().getAttackers()) { Permanent attacker = game.getPermanent(attackerId); if (attacker != null - && source.getControllerId().equals(game.getCombat().getDefendingPlayerId(attackerId, game))) { + && source.isControlledBy(game.getCombat().getDefendingPlayerId(attackerId, game))) { CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(source.getControllerId(), null, false); effect.setTargetPointer(new FixedTarget(attacker, game)); effect.apply(game, source); diff --git a/Mage.Sets/src/mage/cards/m/MirrorOfFate.java b/Mage.Sets/src/mage/cards/m/MirrorOfFate.java index f66350bffed..bc8bd0e12fd 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorOfFate.java +++ b/Mage.Sets/src/mage/cards/m/MirrorOfFate.java @@ -134,7 +134,7 @@ class MirrorOfFateTarget extends TargetCardInExile { @Override public boolean canTarget(UUID id, Ability source, Game game) { Card card = game.getCard(id); - if (card != null && card.getOwnerId().equals(source.getControllerId()) + if (card != null && card.isOwnedBy(source.getControllerId()) && game.getState().getZone(card.getId()) == Zone.EXILED) { for (ExileZone exile : game.getExile().getExileZones()) { if (exile != null && exile.contains(id)) { diff --git a/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java b/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java index d91e782b5b3..73e4af0c51d 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java +++ b/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java @@ -153,7 +153,7 @@ class MirrorwingDragonCopySpellEffect extends CopySpellForEachItCouldTargetEffec @Override protected boolean okUUIDToCopyFor(UUID potentialTarget, Game game, Ability source, Spell spell) { Permanent permanent = game.getPermanent(potentialTarget); - if (permanent == null || !permanent.getControllerId().equals(spell.getControllerId())) { + if (permanent == null || !permanent.isControlledBy(spell.getControllerId())) { return false; } return true; diff --git a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java index cc59223b768..decac80309c 100644 --- a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java @@ -72,7 +72,7 @@ class MisthollowGriffinPlayEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(source.getSourceId()); - if (card != null && card.getOwnerId().equals(affectedControllerId) + if (card != null && card.isOwnedBy(affectedControllerId) && game.getState().getZone(source.getSourceId()) == Zone.EXILED) { return true; } diff --git a/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java b/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java index c5de6457ea4..4a598ae096b 100644 --- a/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java +++ b/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java @@ -107,7 +107,7 @@ class MizzixOfTheIzmagnusCostReductionEffect extends CostModificationEffectImpl @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - if (abilityToModify instanceof SpellAbility && abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify instanceof SpellAbility && abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY.match(spell, source.getSourceId(), source.getControllerId(), game); diff --git a/Mage.Sets/src/mage/cards/m/MonasterySiege.java b/Mage.Sets/src/mage/cards/m/MonasterySiege.java index 089a1583846..c2257a5c9d7 100644 --- a/Mage.Sets/src/mage/cards/m/MonasterySiege.java +++ b/Mage.Sets/src/mage/cards/m/MonasterySiege.java @@ -90,7 +90,7 @@ class MonasterySiegeCostIncreaseEffect extends CostModificationEffectImpl { return true; } Permanent permanent = game.getPermanent(targetUUID); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/m/MuldrothaTheGravetide.java b/Mage.Sets/src/mage/cards/m/MuldrothaTheGravetide.java index bc84efc939c..dfd13e45901 100644 --- a/Mage.Sets/src/mage/cards/m/MuldrothaTheGravetide.java +++ b/Mage.Sets/src/mage/cards/m/MuldrothaTheGravetide.java @@ -84,8 +84,8 @@ class MuldrothaTheGravetideCastFromGraveyardEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (source.getControllerId().equals(affectedControllerId) - && source.getControllerId().equals(game.getOwnerId(objectId)) // only from your graveyard + if (source.isControlledBy(affectedControllerId) + && source.isControlledBy(game.getOwnerId(objectId)) // only from your graveyard && affectedControllerId.equals(game.getActivePlayerId()) // only during your turns (e.g. prevent flash creatures) && Zone.GRAVEYARD.equals(game.getState().getZone(objectId))) { MuldrothaTheGravetideWatcher watcher = (MuldrothaTheGravetideWatcher) game.getState().getWatchers().get(MuldrothaTheGravetideWatcher.class.getSimpleName()); diff --git a/Mage.Sets/src/mage/cards/m/MycoidShepherd.java b/Mage.Sets/src/mage/cards/m/MycoidShepherd.java index 2e00d71e7ec..ae18362969c 100644 --- a/Mage.Sets/src/mage/cards/m/MycoidShepherd.java +++ b/Mage.Sets/src/mage/cards/m/MycoidShepherd.java @@ -75,7 +75,7 @@ class MycoidShepherdTriggeredAbility extends TriggeredAbilityImpl { } if (super.getSourceId().equals(event.getTargetId()) || permanent.getPower().getValue() > 4 - && permanent.getControllerId().equals(controllerId)) { + && permanent.isControlledBy(controllerId)) { Zone after = game.getState().getZone(event.getTargetId()); return after != null && Zone.GRAVEYARD.match(after); } diff --git a/Mage.Sets/src/mage/cards/n/NabanDeanOfIteration.java b/Mage.Sets/src/mage/cards/n/NabanDeanOfIteration.java index 3a7b63ae636..be2690ceb58 100644 --- a/Mage.Sets/src/mage/cards/n/NabanDeanOfIteration.java +++ b/Mage.Sets/src/mage/cards/n/NabanDeanOfIteration.java @@ -74,7 +74,7 @@ class NabanDeanOfIterationEffect extends ReplacementEffectImpl { if (event instanceof NumberOfTriggersEvent) { NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; // Only triggers of the controller of Naban - if (source.getControllerId().equals(event.getPlayerId())) { + if (source.isControlledBy(event.getPlayerId())) { GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); // Only EtB triggers if (sourceEvent != null diff --git a/Mage.Sets/src/mage/cards/n/NaturesWill.java b/Mage.Sets/src/mage/cards/n/NaturesWill.java index 2aec1b05d60..f96bc4b0065 100644 --- a/Mage.Sets/src/mage/cards/n/NaturesWill.java +++ b/Mage.Sets/src/mage/cards/n/NaturesWill.java @@ -63,7 +63,7 @@ class NaturesWillEffect extends OneShotEffect { for (Permanent land : lands) { if (damagedPlayers.contains(land.getControllerId())) { land.tap(game); - } else if (land.getControllerId().equals(source.getControllerId())) { + } else if (land.isControlledBy(source.getControllerId())) { land.untap(game); } } diff --git a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java index 7ec8e35d058..168c633cb71 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java @@ -113,7 +113,7 @@ class NecromancersMagemarkEffect extends ReplacementEffectImpl { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { for (UUID attachmentId : permanent.getAttachments()) { Permanent attachment = game.getPermanentOrLKIBattlefield(attachmentId); if (attachment != null && attachment.hasSubtype(SubType.AURA, game)) { diff --git a/Mage.Sets/src/mage/cards/n/NecropolisRegent.java b/Mage.Sets/src/mage/cards/n/NecropolisRegent.java index d7a628de3d4..5e53ec1011b 100644 --- a/Mage.Sets/src/mage/cards/n/NecropolisRegent.java +++ b/Mage.Sets/src/mage/cards/n/NecropolisRegent.java @@ -76,7 +76,7 @@ class NecropolisRegentTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { this.getEffects().clear(); Effect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance(event.getAmount())); effect.setTargetPointer(new FixedTarget(creature.getId())); diff --git a/Mage.Sets/src/mage/cards/n/Necropotence.java b/Mage.Sets/src/mage/cards/n/Necropotence.java index 8a7372a4b2b..3c1cc4bf289 100644 --- a/Mage.Sets/src/mage/cards/n/Necropotence.java +++ b/Mage.Sets/src/mage/cards/n/Necropotence.java @@ -79,7 +79,7 @@ class NecropotenceTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(event.getPlayerId())) { + if (isControlledBy(event.getPlayerId())) { this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getTargetId())); return true; } diff --git a/Mage.Sets/src/mage/cards/n/NestOfScarabs.java b/Mage.Sets/src/mage/cards/n/NestOfScarabs.java index c5d031e6373..2086264318a 100644 --- a/Mage.Sets/src/mage/cards/n/NestOfScarabs.java +++ b/Mage.Sets/src/mage/cards/n/NestOfScarabs.java @@ -56,7 +56,7 @@ class NestOfScarabsTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - boolean weAreDoingIt = getControllerId().equals(game.getControllerId(event.getSourceId())); + boolean weAreDoingIt = isControlledBy(game.getControllerId(event.getSourceId())); boolean isM1M1Counters = event.getData().equals(CounterType.M1M1.getName()); if (weAreDoingIt && isM1M1Counters && event.getAmount() > 0) { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); diff --git a/Mage.Sets/src/mage/cards/n/NetherTraitor.java b/Mage.Sets/src/mage/cards/n/NetherTraitor.java index e790731580e..e7d2ab58acd 100644 --- a/Mage.Sets/src/mage/cards/n/NetherTraitor.java +++ b/Mage.Sets/src/mage/cards/n/NetherTraitor.java @@ -81,7 +81,7 @@ class NetherTraitorTriggeredAbility extends TriggeredAbilityImpl { } if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { if (zEvent.getTarget() != null && - zEvent.getTarget().getOwnerId().equals(this.getControllerId()) && + zEvent.getTarget().isOwnedBy(this.getControllerId()) && zEvent.getTarget().isCreature()&& !zEvent.getTarget().getId().equals(this.getSourceId())) { return true; diff --git a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java index 6ccaafd97b1..895ef5405cf 100644 --- a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java +++ b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java @@ -91,7 +91,7 @@ class NimDeathmantleTriggeredAbility extends TriggeredAbilityImpl { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; Permanent permanent = zEvent.getTarget(); if (permanent != null - && permanent.getOwnerId().equals(this.controllerId) + && permanent.isOwnedBy(this.controllerId) && zEvent.getToZone() == Zone.GRAVEYARD && zEvent.getFromZone() == Zone.BATTLEFIELD && !(permanent instanceof PermanentToken) diff --git a/Mage.Sets/src/mage/cards/n/NivixAerieOfTheFiremind.java b/Mage.Sets/src/mage/cards/n/NivixAerieOfTheFiremind.java index 38aa79dcba5..f9bbf4d741e 100644 --- a/Mage.Sets/src/mage/cards/n/NivixAerieOfTheFiremind.java +++ b/Mage.Sets/src/mage/cards/n/NivixAerieOfTheFiremind.java @@ -112,7 +112,7 @@ class NivixAerieOfTheFiremindCanCastEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(this.getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/n/NoRestForTheWicked.java b/Mage.Sets/src/mage/cards/n/NoRestForTheWicked.java index dcf415c54ec..063f4958cbd 100644 --- a/Mage.Sets/src/mage/cards/n/NoRestForTheWicked.java +++ b/Mage.Sets/src/mage/cards/n/NoRestForTheWicked.java @@ -67,7 +67,7 @@ class NoRestForTheWickedEffect extends OneShotEffect { if (c != null) { if (game.getState().getZone(cardId) == Zone.GRAVEYARD && c.isCreature() - && c.getOwnerId().equals(source.getControllerId())) { + && c.isOwnedBy(source.getControllerId())) { cardsToHand.add(c); } } diff --git a/Mage.Sets/src/mage/cards/n/NoblePurpose.java b/Mage.Sets/src/mage/cards/n/NoblePurpose.java index e2df397cd8d..6fce1fb36ff 100644 --- a/Mage.Sets/src/mage/cards/n/NoblePurpose.java +++ b/Mage.Sets/src/mage/cards/n/NoblePurpose.java @@ -66,7 +66,7 @@ class NoblePurposeTriggeredAbility extends TriggeredAbilityImpl { if (damageEvent.isCombatDamage()) { Permanent permanent = game.getPermanent(event.getSourceId()); if (permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(this.getControllerId())) { + && permanent.isControlledBy(this.getControllerId())) { this.getEffects().clear(); this.getEffects().add(new GainLifeEffect(damageEvent.getAmount())); return true; diff --git a/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java b/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java index 5c0ab9a662f..740bd42953c 100644 --- a/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java +++ b/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java @@ -94,7 +94,7 @@ class TargetStackObjectTargetingControlledPermanent extends TargetObject { for (Target target : objectTargets) { for (UUID targetId : target.getTargets()) { Permanent targetedPermanent = game.getPermanentOrLKIBattlefield(targetId); - if (targetedPermanent != null && targetedPermanent.getControllerId().equals(sourceControllerId)) { + if (targetedPermanent != null && targetedPermanent.isControlledBy(sourceControllerId)) { return true; } } @@ -121,7 +121,7 @@ class TargetStackObjectTargetingControlledPermanent extends TargetObject { for (Target target : objectTargets) { for (UUID targetId : target.getTargets()) { Permanent targetedPermanent = game.getPermanentOrLKIBattlefield(targetId); - if (targetedPermanent != null && targetedPermanent.getControllerId().equals(sourceControllerId)) { + if (targetedPermanent != null && targetedPermanent.isControlledBy(sourceControllerId)) { possibleTargets.add(stackObject.getId()); } } diff --git a/Mage.Sets/src/mage/cards/o/OathOfGideon.java b/Mage.Sets/src/mage/cards/o/OathOfGideon.java index dbc04025c0d..255862c77ed 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfGideon.java +++ b/Mage.Sets/src/mage/cards/o/OathOfGideon.java @@ -63,7 +63,7 @@ class OathOfGideonReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = ((EntersTheBattlefieldEvent) event).getTarget(); - return creature != null && creature.getControllerId().equals(source.getControllerId()) + return creature != null && creature.isControlledBy(source.getControllerId()) && creature.isPlaneswalker() && !event.getTargetId().equals(source.getSourceId()); } diff --git a/Mage.Sets/src/mage/cards/o/OathOfNissa.java b/Mage.Sets/src/mage/cards/o/OathOfNissa.java index ce7ead3c278..514e75cb565 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfNissa.java +++ b/Mage.Sets/src/mage/cards/o/OathOfNissa.java @@ -128,7 +128,7 @@ class OathOfNissaSpendAnyManaEffect extends AsThoughEffectImpl implements AsThou @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (source.getControllerId().equals(affectedControllerId)) { + if (source.isControlledBy(affectedControllerId)) { MageObject mageObject = game.getObject(objectId); if (mageObject != null) { if (mageObject.isPlaneswalker()) { diff --git a/Mage.Sets/src/mage/cards/o/OathswornVampire.java b/Mage.Sets/src/mage/cards/o/OathswornVampire.java index a1caad56ea6..8fc5b428128 100644 --- a/Mage.Sets/src/mage/cards/o/OathswornVampire.java +++ b/Mage.Sets/src/mage/cards/o/OathswornVampire.java @@ -80,7 +80,7 @@ class OathswornVampirePlayEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(source.getSourceId()) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(source.getSourceId()) && source.isControlledBy(affectedControllerId)) { Card card = game.getCard(source.getSourceId()); if (card != null && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { return condition.apply(game, source); diff --git a/Mage.Sets/src/mage/cards/o/OonasBlackguard.java b/Mage.Sets/src/mage/cards/o/OonasBlackguard.java index 452995f26ab..f4e3abb70a1 100644 --- a/Mage.Sets/src/mage/cards/o/OonasBlackguard.java +++ b/Mage.Sets/src/mage/cards/o/OonasBlackguard.java @@ -74,7 +74,7 @@ class OonasBlackguardReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = ((EntersTheBattlefieldEvent) event).getTarget(); - if (creature != null && creature.getControllerId().equals(source.getControllerId()) + if (creature != null && creature.isControlledBy(source.getControllerId()) && creature.isCreature() && creature.hasSubtype(SubType.ROGUE, game) && !event.getTargetId().equals(source.getSourceId())) { @@ -127,7 +127,7 @@ class OonasBlackguardTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(getControllerId()) && creature.getCounters(game).getCount(CounterType.P1P1) > 0) { + if (creature != null && creature.isControlledBy(getControllerId()) && creature.getCounters(game).getCount(CounterType.P1P1) > 0) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); } diff --git a/Mage.Sets/src/mage/cards/o/OranRiefHydra.java b/Mage.Sets/src/mage/cards/o/OranRiefHydra.java index ff793ae4f9e..fab442f4267 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefHydra.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefHydra.java @@ -78,7 +78,7 @@ class OranRiefHydraTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isLand() - && permanent.getControllerId().equals(getControllerId())) { + && permanent.isControlledBy(getControllerId())) { Permanent sourcePermanent = game.getPermanent(getSourceId()); if (sourcePermanent != null) { for (Effect effect : getEffects()) { diff --git a/Mage.Sets/src/mage/cards/o/OrnateKanzashi.java b/Mage.Sets/src/mage/cards/o/OrnateKanzashi.java index cde70b63df7..163714d47e0 100644 --- a/Mage.Sets/src/mage/cards/o/OrnateKanzashi.java +++ b/Mage.Sets/src/mage/cards/o/OrnateKanzashi.java @@ -113,7 +113,7 @@ class OrnateKanzashiCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/o/OrzhovCharm.java b/Mage.Sets/src/mage/cards/o/OrzhovCharm.java index f15c6adda17..bf6486b1cb5 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovCharm.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovCharm.java @@ -92,12 +92,12 @@ class OrzhovCharmReturnToHandEffect extends OneShotEffect { attachments.addAll(target.getAttachments()); for (UUID attachmentId : attachments) { Permanent attachment = game.getPermanent(attachmentId); - if (attachment != null && attachment.getControllerId().equals(source.getControllerId()) + if (attachment != null && attachment.isControlledBy(source.getControllerId()) && attachment.hasSubtype(SubType.AURA, game)) { attachment.moveToZone(Zone.HAND, source.getSourceId(), game, false); } } - if (target.getControllerId().equals(source.getControllerId())) { + if (target.isControlledBy(source.getControllerId())) { target.moveToZone(Zone.HAND, source.getSourceId(), game, false); } return true; diff --git a/Mage.Sets/src/mage/cards/o/OutpostSiege.java b/Mage.Sets/src/mage/cards/o/OutpostSiege.java index dc028a94dbf..2fabfdbc093 100644 --- a/Mage.Sets/src/mage/cards/o/OutpostSiege.java +++ b/Mage.Sets/src/mage/cards/o/OutpostSiege.java @@ -133,7 +133,7 @@ class CastFromNonHandZoneTargetEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { if (getTargetPointer().getTargets(game, source).contains(objectId) - && source.getControllerId().equals(affectedControllerId)) { + && source.isControlledBy(affectedControllerId)) { Card card = game.getCard(objectId); if (card != null) { return true; diff --git a/Mage.Sets/src/mage/cards/p/PalisadeGiant.java b/Mage.Sets/src/mage/cards/p/PalisadeGiant.java index 5f3a83ca376..10a8ffde346 100644 --- a/Mage.Sets/src/mage/cards/p/PalisadeGiant.java +++ b/Mage.Sets/src/mage/cards/p/PalisadeGiant.java @@ -98,7 +98,7 @@ class PalisadeGiantReplacementEffect extends ReplacementEffectImpl { Permanent targetPermanent = game.getPermanent(event.getTargetId()); Permanent sourcePermanent = game.getPermanent(source.getSourceId()); if (targetPermanent != null && - targetPermanent.getControllerId().equals(source.getControllerId()) && + targetPermanent.isControlledBy(source.getControllerId()) && !targetPermanent.getName().equals(sourcePermanent.getName())) { // no redirection from or to other Palisade Giants return true; } diff --git a/Mage.Sets/src/mage/cards/p/Panharmonicon.java b/Mage.Sets/src/mage/cards/p/Panharmonicon.java index ea7bedb1874..35ee17e6e70 100644 --- a/Mage.Sets/src/mage/cards/p/Panharmonicon.java +++ b/Mage.Sets/src/mage/cards/p/Panharmonicon.java @@ -66,7 +66,7 @@ class PanharmoniconEffect extends ReplacementEffectImpl { if (event instanceof NumberOfTriggersEvent) { NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; // Only triggers of the controller of Panharmonicon - if (source.getControllerId().equals(event.getPlayerId())) { + if (source.isControlledBy(event.getPlayerId())) { GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); // Only EtB triggers if (sourceEvent != null diff --git a/Mage.Sets/src/mage/cards/p/ParallelThoughts.java b/Mage.Sets/src/mage/cards/p/ParallelThoughts.java index cf23ec4d588..16858edec0a 100644 --- a/Mage.Sets/src/mage/cards/p/ParallelThoughts.java +++ b/Mage.Sets/src/mage/cards/p/ParallelThoughts.java @@ -150,6 +150,6 @@ class ParallelThoughtsReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/p/PathOfMettle.java b/Mage.Sets/src/mage/cards/p/PathOfMettle.java index 274b6023e5b..10ec5e2d641 100644 --- a/Mage.Sets/src/mage/cards/p/PathOfMettle.java +++ b/Mage.Sets/src/mage/cards/p/PathOfMettle.java @@ -101,7 +101,7 @@ class PathOfMettleTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { int attackerCount = 0; if (game.getCombat() != null) { - if (getControllerId().equals(game.getCombat().getAttackingPlayerId())) { + if (isControlledBy(game.getCombat().getAttackingPlayerId())) { for (UUID attacker : game.getCombat().getAttackers()) { if (filter.match(game.getPermanent(attacker), game)) { attackerCount++; diff --git a/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java b/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java index e270d7f1d98..0ef7b2de1c2 100644 --- a/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java +++ b/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java @@ -74,7 +74,7 @@ class PawnOfUlamogTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = (Permanent) card; ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD - && permanent.getControllerId().equals(this.controllerId) + && permanent.isControlledBy(this.controllerId) && (targetId.equals(this.getSourceId()) || (permanent.isCreature() && !targetId.equals(this.getSourceId()) diff --git a/Mage.Sets/src/mage/cards/p/PedanticLearning.java b/Mage.Sets/src/mage/cards/p/PedanticLearning.java index a11782b0cc0..b72a54652c1 100644 --- a/Mage.Sets/src/mage/cards/p/PedanticLearning.java +++ b/Mage.Sets/src/mage/cards/p/PedanticLearning.java @@ -63,7 +63,7 @@ class PedanticLearningTriggeredAbility extends TriggeredAbilityImpl { UUID cardOwnerId = card.getOwnerId(); Set cardType = card.getCardType(); if (cardOwnerId != null - && card.getOwnerId().equals(getControllerId()) + && card.isOwnedBy(getControllerId()) && cardType != null && card.isLand()) { return true; diff --git a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java index f46eaf61a67..5034a47c860 100644 --- a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java @@ -67,7 +67,7 @@ class PerimeterCaptainTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent creature = game.getPermanent(event.getSourceId()); if (creature != null) { - if (creature.getControllerId().equals(this.getControllerId()) && creature.getAbilities().contains(DefenderAbility.getInstance())) { + if (creature.isControlledBy(this.getControllerId()) && creature.getAbilities().contains(DefenderAbility.getInstance())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java b/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java index f0989f29591..8ed229abe34 100644 --- a/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java +++ b/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java @@ -66,7 +66,7 @@ class PrecipiceOfMortisEffect extends ReplacementEffectImpl { if (event instanceof NumberOfTriggersEvent) { NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; // Only triggers of the controller of Precipice of Mortis - if (source.getControllerId().equals(event.getPlayerId())) { + if (source.isControlledBy(event.getPlayerId())) { GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); // enters triggers if (sourceEvent.getType() == EventType.ENTERS_THE_BATTLEFIELD && sourceEvent instanceof EntersTheBattlefieldEvent) { diff --git a/Mage.Sets/src/mage/cards/p/PriceOfGlory.java b/Mage.Sets/src/mage/cards/p/PriceOfGlory.java index cfe602387f3..c34c287cd4f 100644 --- a/Mage.Sets/src/mage/cards/p/PriceOfGlory.java +++ b/Mage.Sets/src/mage/cards/p/PriceOfGlory.java @@ -69,7 +69,7 @@ class PriceOfGloryAbility extends TriggeredAbilityImpl { } if (permanent.isLand() && player.getInRange().contains(permanent.getControllerId()) - && !permanent.getControllerId().equals(game.getActivePlayerId())) { // intervening if clause + && !permanent.isControlledBy(game.getActivePlayerId())) { // intervening if clause getEffects().get(0).setTargetPointer(new FixedTarget(permanent.getId())); return true; } @@ -103,7 +103,7 @@ class PriceOfGloryEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Permanent land = game.getPermanentOrLKIBattlefield(this.targetPointer.getFirst(game, source)); - if (land != null && !land.getControllerId().equals(game.getActivePlayerId())) { // intervening if clause has to be checked again + if (land != null && !land.isControlledBy(game.getActivePlayerId())) { // intervening if clause has to be checked again land.destroy(source.getSourceId(), game, false); } return true; diff --git a/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java b/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java index a6e0f5b39c9..77d939f26f8 100644 --- a/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java +++ b/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java @@ -88,7 +88,7 @@ class PrizedAmalgamTriggerdAbility extends EntersBattlefieldAllTriggeredAbility EntersTheBattlefieldEvent entersEvent = (EntersTheBattlefieldEvent) event; if (entersEvent.getFromZone() == Zone.GRAVEYARD) { result = true; - } else if (entersEvent.getFromZone() == Zone.STACK && entersEvent.getTarget().getControllerId().equals(getControllerId())) { + } else if (entersEvent.getFromZone() == Zone.STACK && entersEvent.getTarget().isControlledBy(getControllerId())) { CastFromGraveyardWatcher watcher = (CastFromGraveyardWatcher) game.getState().getWatchers().get(CastFromGraveyardWatcher.class.getSimpleName()); if (watcher != null) { int zcc = game.getState().getZoneChangeCounter(event.getSourceId()); diff --git a/Mage.Sets/src/mage/cards/p/ProperBurial.java b/Mage.Sets/src/mage/cards/p/ProperBurial.java index 1c178d59036..53b6feb9d28 100644 --- a/Mage.Sets/src/mage/cards/p/ProperBurial.java +++ b/Mage.Sets/src/mage/cards/p/ProperBurial.java @@ -63,7 +63,7 @@ class ProperBurialTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { this.getEffects().clear(); this.addEffect(new GainLifeEffect(permanent.getToughness().getValue())); return true; diff --git a/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java b/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java index e4a257ed00e..2309a098cd9 100644 --- a/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java +++ b/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java @@ -113,7 +113,7 @@ class PropheticFlamespeakerCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/p/PureIntentions.java b/Mage.Sets/src/mage/cards/p/PureIntentions.java index 9ef3d452264..df8ff3752bb 100644 --- a/Mage.Sets/src/mage/cards/p/PureIntentions.java +++ b/Mage.Sets/src/mage/cards/p/PureIntentions.java @@ -71,7 +71,7 @@ class PureIntentionsAllTriggeredAbility extends DelayedTriggeredAbility { if (stackObject != null && game.getOpponents(this.getControllerId()).contains(stackObject.getControllerId())) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(getControllerId())) { + if (card != null && card.isOwnedBy(getControllerId())) { for (Effect effect : getEffects()) { effect.setTargetPointer(new FixedTarget(event.getTargetId())); } diff --git a/Mage.Sets/src/mage/cards/p/Purgatory.java b/Mage.Sets/src/mage/cards/p/Purgatory.java index 15fdd00b4be..1da37aebcc9 100644 --- a/Mage.Sets/src/mage/cards/p/Purgatory.java +++ b/Mage.Sets/src/mage/cards/p/Purgatory.java @@ -94,7 +94,7 @@ class PurgatoryTriggeredAbility extends TriggeredAbilityImpl { && zEvent.getFromZone() == Zone.BATTLEFIELD && !(permanent instanceof PermanentToken) && permanent.isCreature() - && permanent.getOwnerId().equals(controller.getId())) { + && permanent.isOwnedBy(controller.getId())) { this.getEffects().get(0).setTargetPointer(new FixedTarget(permanent.getId())); return true; diff --git a/Mage.Sets/src/mage/cards/p/PyromancerAscension.java b/Mage.Sets/src/mage/cards/p/PyromancerAscension.java index 8cb391cd509..c4831f5dd24 100644 --- a/Mage.Sets/src/mage/cards/p/PyromancerAscension.java +++ b/Mage.Sets/src/mage/cards/p/PyromancerAscension.java @@ -88,7 +88,7 @@ class PyromancerAscensionQuestTriggeredAbility extends TriggeredAbilityImpl { private boolean isControlledInstantOrSorcery(Spell spell) { return spell != null && - (spell.getControllerId().equals(this.getControllerId())) && + (spell.isControlledBy(this.getControllerId())) && (spell.isInstant() || spell.isSorcery()); } @@ -135,7 +135,7 @@ class PyromancerAscensionCopyTriggeredAbility extends TriggeredAbilityImpl { private boolean isControlledInstantOrSorcery(Spell spell) { return spell != null && - (spell.getControllerId().equals(this.getControllerId())) && + (spell.isControlledBy(this.getControllerId())) && (spell.isInstant() || spell.isSorcery()); } diff --git a/Mage.Sets/src/mage/cards/p/PyromancersGauntlet.java b/Mage.Sets/src/mage/cards/p/PyromancersGauntlet.java index 77c12981a06..8c6055dc4bb 100644 --- a/Mage.Sets/src/mage/cards/p/PyromancersGauntlet.java +++ b/Mage.Sets/src/mage/cards/p/PyromancersGauntlet.java @@ -63,7 +63,7 @@ class PyromancersGauntletReplacementEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { MageObject object = game.getObject(event.getSourceId()); if (object != null && object instanceof Spell) { - if (((Spell) object).getControllerId().equals(source.getControllerId()) + if (((Spell) object).isControlledBy(source.getControllerId()) && (object.isInstant() || object.isSorcery())){ return true; diff --git a/Mage.Sets/src/mage/cards/p/PyromancersSwath.java b/Mage.Sets/src/mage/cards/p/PyromancersSwath.java index 79fac231a10..9bcae7d269b 100644 --- a/Mage.Sets/src/mage/cards/p/PyromancersSwath.java +++ b/Mage.Sets/src/mage/cards/p/PyromancersSwath.java @@ -67,7 +67,7 @@ class PyromancersSwathReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (source.getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if (source.isControlledBy(game.getControllerId(event.getSourceId()))) { MageObject object = game.getObject(event.getSourceId()); return object != null && (object.isInstant() || object.isSorcery()); } diff --git a/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java b/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java index c4739d42e48..134df294229 100644 --- a/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java +++ b/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java @@ -81,7 +81,7 @@ class QasaliAmbusherAbility extends ActivatedAbilityImpl { if (!game.getBattlefield().getActivePermanents(filterPlains, this.getControllerId(), this.getSourceId(), game).isEmpty() && !game.getBattlefield().getActivePermanents(filterForest, this.getControllerId(), this.getSourceId(), game).isEmpty()) { for (CombatGroup group : game.getCombat().getGroups()) { - if (getControllerId().equals(group.getDefenderId())) { + if (isControlledBy(group.getDefenderId())) { return super.canActivate(playerId, game); } } diff --git a/Mage.Sets/src/mage/cards/q/QasaliSlingers.java b/Mage.Sets/src/mage/cards/q/QasaliSlingers.java index 7d9b09aac1a..a68dd907373 100644 --- a/Mage.Sets/src/mage/cards/q/QasaliSlingers.java +++ b/Mage.Sets/src/mage/cards/q/QasaliSlingers.java @@ -76,7 +76,7 @@ class QasaliSlingersTriggeredAbility extends TriggeredAbilityImpl { if (permanent.getId().equals(this.getSourceId())) { return true; } - if (permanent.hasSubtype(SubType.CAT, game) && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent.hasSubtype(SubType.CAT, game) && permanent.isControlledBy(this.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/q/QuestForPureFlame.java b/Mage.Sets/src/mage/cards/q/QuestForPureFlame.java index ab997678880..abd0c7e33f3 100644 --- a/Mage.Sets/src/mage/cards/q/QuestForPureFlame.java +++ b/Mage.Sets/src/mage/cards/q/QuestForPureFlame.java @@ -72,7 +72,7 @@ class QuestForPureFlameTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { if (game.getOpponents(getControllerId()).contains(event.getTargetId())) { - return getControllerId().equals(game.getControllerId(event.getSourceId())); + return isControlledBy(game.getControllerId(event.getSourceId())); } return false; } @@ -108,7 +108,7 @@ class QuestForPureFlameEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(game.getControllerId(event.getSourceId())); + return source.isControlledBy(game.getControllerId(event.getSourceId())); } @Override diff --git a/Mage.Sets/src/mage/cards/q/Quicken.java b/Mage.Sets/src/mage/cards/q/Quicken.java index 07ff6c72b9a..e34973989e3 100644 --- a/Mage.Sets/src/mage/cards/q/Quicken.java +++ b/Mage.Sets/src/mage/cards/q/Quicken.java @@ -86,7 +86,7 @@ class QuickenAsThoughEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { if (quickenWatcher.isQuickenSpellActive(affectedControllerId, source.getSourceId(), zoneChangeCounter)) { Card card = game.getCard(sourceId); - if (card != null && card.isSorcery() && source.getControllerId().equals(affectedControllerId)) { + if (card != null && card.isSorcery() && source.isControlledBy(affectedControllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/r/RagingRiver.java b/Mage.Sets/src/mage/cards/r/RagingRiver.java index 6f065dd5131..1d5eba39f43 100644 --- a/Mage.Sets/src/mage/cards/r/RagingRiver.java +++ b/Mage.Sets/src/mage/cards/r/RagingRiver.java @@ -128,11 +128,11 @@ class RagingRiverEffect extends OneShotEffect { } else { List leftLog = left.stream() .filter(permanent -> permanent.getControllerId() != null) - .filter(permanent -> permanent.getControllerId().equals(defender.getId())) + .filter(permanent -> permanent.isControlledBy(defender.getId())) .collect(Collectors.toList()); List rightLog = right.stream() .filter(permanent -> permanent.getControllerId() != null) - .filter(permanent -> permanent.getControllerId().equals(defender.getId())) + .filter(permanent -> permanent.isControlledBy(defender.getId())) .collect(Collectors.toList()); diff --git a/Mage.Sets/src/mage/cards/r/RaidersSpoils.java b/Mage.Sets/src/mage/cards/r/RaidersSpoils.java index dc20f31e86d..ed92d70e999 100644 --- a/Mage.Sets/src/mage/cards/r/RaidersSpoils.java +++ b/Mage.Sets/src/mage/cards/r/RaidersSpoils.java @@ -70,7 +70,7 @@ class RaidersSpoilsTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; Permanent permanent = game.getPermanent(event.getSourceId()); - if (damageEvent.isCombatDamage() && permanent != null && permanent.hasSubtype(SubType.WARRIOR, game) && permanent.getControllerId().equals(controllerId)) { + if (damageEvent.isCombatDamage() && permanent != null && permanent.hasSubtype(SubType.WARRIOR, game) && permanent.isControlledBy(controllerId)) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/r/RainOfGore.java b/Mage.Sets/src/mage/cards/r/RainOfGore.java index e14e6fbfb37..9deeecbaf74 100644 --- a/Mage.Sets/src/mage/cards/r/RainOfGore.java +++ b/Mage.Sets/src/mage/cards/r/RainOfGore.java @@ -77,7 +77,7 @@ class RainOfGoreEffect extends ReplacementEffectImpl { if (!game.getStack().isEmpty()) { StackObject stackObject = game.getStack().getFirst(); if (stackObject != null) { - return stackObject.getControllerId().equals(event.getPlayerId()); + return stackObject.isControlledBy(event.getPlayerId()); } } return false; diff --git a/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java b/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java index 18074ed07df..31d5b44e3d4 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java +++ b/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java @@ -120,7 +120,7 @@ class RakdosLordOfRiotsCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return spell.isCreature(); diff --git a/Mage.Sets/src/mage/cards/r/RakishHeir.java b/Mage.Sets/src/mage/cards/r/RakishHeir.java index 4234f39dc99..37de821632b 100644 --- a/Mage.Sets/src/mage/cards/r/RakishHeir.java +++ b/Mage.Sets/src/mage/cards/r/RakishHeir.java @@ -71,7 +71,7 @@ class RakishHeirTriggeredAbility extends TriggeredAbilityImpl { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; Permanent permanent = game.getPermanent(event.getSourceId()); if (damageEvent.isCombatDamage() && permanent != null - && permanent.hasSubtype(SubType.VAMPIRE, game) && permanent.getControllerId().equals(controllerId)) { + && permanent.hasSubtype(SubType.VAMPIRE, game) && permanent.isControlledBy(controllerId)) { this.getEffects().clear(); AddCountersTargetEffect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); effect.setTargetPointer(new FixedTarget(permanent.getId())); diff --git a/Mage.Sets/src/mage/cards/r/RakshasaVizier.java b/Mage.Sets/src/mage/cards/r/RakshasaVizier.java index 6e306889927..955fc762581 100644 --- a/Mage.Sets/src/mage/cards/r/RakshasaVizier.java +++ b/Mage.Sets/src/mage/cards/r/RakshasaVizier.java @@ -67,7 +67,7 @@ class RakshasaVizierTriggeredAbility extends TriggeredAbilityImpl { if (zEvent.getFromZone() == Zone.GRAVEYARD && zEvent.getToZone() == Zone.EXILED) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(getControllerId())) { + if (card != null && card.isOwnedBy(getControllerId())) { return true; } diff --git a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java index 3819a5c581e..23fafd8cc53 100644 --- a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java +++ b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java @@ -164,7 +164,7 @@ class RavagerOfTheFellsTarget extends TargetPermanent { } UUID firstTarget = player.getId(); Permanent permanent = game.getPermanent(id); - if (firstTarget != null && permanent != null && permanent.getControllerId().equals(firstTarget)) { + if (firstTarget != null && permanent != null && permanent.isControlledBy(firstTarget)) { return super.canTarget(id, source, game); } return false; @@ -191,7 +191,7 @@ class RavagerOfTheFellsTarget extends TargetPermanent { if (player != null) { for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); - if (permanent != null && permanent.getControllerId().equals(player.getId())) { + if (permanent != null && permanent.isControlledBy(player.getId())) { possibleTargets.add(targetId); } } diff --git a/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java b/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java index 341f7f277d1..b20a2e3d949 100644 --- a/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java +++ b/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java @@ -77,7 +77,7 @@ class RayneAcademyChancellorTriggeredAbility extends TriggeredAbilityImpl { return true; } Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent != null && this.getControllerId().equals(permanent.getControllerId())) { + if (permanent != null && this.isControlledBy(permanent.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/r/RealitySmasher.java b/Mage.Sets/src/mage/cards/r/RealitySmasher.java index 8d559180e5e..706af59e41f 100644 --- a/Mage.Sets/src/mage/cards/r/RealitySmasher.java +++ b/Mage.Sets/src/mage/cards/r/RealitySmasher.java @@ -73,7 +73,7 @@ class RealitySmasherTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { StackObject spell = game.getStack().getStackObject(event.getSourceId()); - if (spell == null || !(spell instanceof Spell)) { + if (!(spell instanceof Spell)) { return false; } else { if (event.getTargetId().equals(this.getSourceId()) diff --git a/Mage.Sets/src/mage/cards/r/RefractionTrap.java b/Mage.Sets/src/mage/cards/r/RefractionTrap.java index a058cff52dc..84d3bc36722 100644 --- a/Mage.Sets/src/mage/cards/r/RefractionTrap.java +++ b/Mage.Sets/src/mage/cards/r/RefractionTrap.java @@ -158,7 +158,7 @@ class RefractionTrapPreventDamageEffect extends PreventionEffectImpl { // check permanent first Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { // it's your permanent return true; } diff --git a/Mage.Sets/src/mage/cards/r/RegalBehemoth.java b/Mage.Sets/src/mage/cards/r/RegalBehemoth.java index 2ef608b4954..07e8352ad17 100644 --- a/Mage.Sets/src/mage/cards/r/RegalBehemoth.java +++ b/Mage.Sets/src/mage/cards/r/RegalBehemoth.java @@ -80,7 +80,7 @@ class RegalBehemothTriggeredManaAbility extends TriggeredManaAbility { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(game.getMonarchId())) { + if (isControlledBy(game.getMonarchId())) { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); if (permanent != null && filter.match(permanent, getSourceId(), getControllerId(), game)) { ManaEvent mEvent = (ManaEvent) event; diff --git a/Mage.Sets/src/mage/cards/r/RemoveEnchantments.java b/Mage.Sets/src/mage/cards/r/RemoveEnchantments.java index 9c6d6165cfa..6828490c7f7 100644 --- a/Mage.Sets/src/mage/cards/r/RemoveEnchantments.java +++ b/Mage.Sets/src/mage/cards/r/RemoveEnchantments.java @@ -86,7 +86,7 @@ class AttachedToOpponentControlledAttackingCreaturePredicate implements ObjectPl if (permanent != null) { if (permanent.isCreature()) { if (permanent.isAttacking()) { - if (!permanent.getControllerId().equals(input.getPlayerId()) && + if (!permanent.isControlledBy(input.getPlayerId()) && game.getPlayer(input.getPlayerId()).hasOpponent(permanent.getControllerId(), game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java b/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java index f137b6278f6..a6c2585ab44 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java @@ -72,7 +72,7 @@ class RenegadeDoppelgangerTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (!event.getTargetId().equals(this.getSourceId())) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.isCreature() && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isCreature() && permanent.isControlledBy(this.getControllerId())) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(permanent.getId())); } diff --git a/Mage.Sets/src/mage/cards/r/Reparations.java b/Mage.Sets/src/mage/cards/r/Reparations.java index 249f94a636f..e909ec6339f 100644 --- a/Mage.Sets/src/mage/cards/r/Reparations.java +++ b/Mage.Sets/src/mage/cards/r/Reparations.java @@ -74,7 +74,7 @@ class ReparationsTriggeredAbility extends TriggeredAbilityImpl { } if (targetPermanent != null && targetPermanent.isCreature() - && targetPermanent.getControllerId().equals(controllerId)) { + && targetPermanent.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/r/Retribution.java b/Mage.Sets/src/mage/cards/r/Retribution.java index f5167bcbed9..2c0a7214ad3 100644 --- a/Mage.Sets/src/mage/cards/r/Retribution.java +++ b/Mage.Sets/src/mage/cards/r/Retribution.java @@ -107,7 +107,7 @@ class TargetCreaturePermanentOpponentSameController extends TargetCreaturePerman Permanent targetPermanent = game.getPermanent(targetId); if (targetPermanent != null) { if (!firstTargetPermanent.getId().equals(targetPermanent.getId())) { - if (!firstTargetPermanent.getControllerId().equals(targetPermanent.getOwnerId())) { + if (!firstTargetPermanent.isControlledBy(targetPermanent.getOwnerId())) { return false; } } diff --git a/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java b/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java index a814fc7a9fa..3d95cc5195a 100644 --- a/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java +++ b/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java @@ -99,7 +99,7 @@ class ReyhanLastOfTheAbzanTriggeredAbility extends TriggeredAbilityImpl { // You control Player player = game.getPlayer(this.getControllerId()); - if (player == null || !permanent.getControllerId().equals(getControllerId())) { + if (player == null || !permanent.isControlledBy(getControllerId())) { return false; } diff --git a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java index e87bf81a3f8..1a46092cb31 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java @@ -91,7 +91,7 @@ class RhysTheRedeemedEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filter, game)) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { CreateTokenCopyTargetEffect effect = new CreateTokenCopyTargetEffect(); effect.setTargetPointer(new FixedTarget(permanent, game)); effect.apply(game, source); diff --git a/Mage.Sets/src/mage/cards/r/RingOfMaruf.java b/Mage.Sets/src/mage/cards/r/RingOfMaruf.java index a836a3a52c8..3b39d23e7d1 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfMaruf.java +++ b/Mage.Sets/src/mage/cards/r/RingOfMaruf.java @@ -80,6 +80,6 @@ class RingOfMarufEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/r/RisenExecutioner.java b/Mage.Sets/src/mage/cards/r/RisenExecutioner.java index df4278b14bd..40c1b4c7997 100644 --- a/Mage.Sets/src/mage/cards/r/RisenExecutioner.java +++ b/Mage.Sets/src/mage/cards/r/RisenExecutioner.java @@ -91,7 +91,7 @@ class RisenExecutionerCastEffect extends AsThoughEffectImpl { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(source.getSourceId()); if (card != null - && card.getOwnerId().equals(affectedControllerId) + && card.isOwnedBy(affectedControllerId) && game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { return true; } diff --git a/Mage.Sets/src/mage/cards/r/RoninWarclub.java b/Mage.Sets/src/mage/cards/r/RoninWarclub.java index 8cf766bef6d..d3f6624f420 100644 --- a/Mage.Sets/src/mage/cards/r/RoninWarclub.java +++ b/Mage.Sets/src/mage/cards/r/RoninWarclub.java @@ -71,7 +71,7 @@ public final class RoninWarclub extends CardImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() - && (permanent.getControllerId().equals(this.controllerId))) { + && (permanent.isControlledBy(this.controllerId))) { if (!this.getTargets().isEmpty()) { // remove previous target diff --git a/Mage.Sets/src/mage/cards/r/RootSliver.java b/Mage.Sets/src/mage/cards/r/RootSliver.java index 57dc6af5e7a..69c57f6a76b 100644 --- a/Mage.Sets/src/mage/cards/r/RootSliver.java +++ b/Mage.Sets/src/mage/cards/r/RootSliver.java @@ -89,7 +89,7 @@ class RootSliverEffect extends ContinuousRuleModifyingEffectImpl { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && spell.hasSubtype(SubType.SLIVER, game)) { MageObject sourceObject = game.getObject(event.getSourceId()); - if (sourceObject != null && sourceObject instanceof StackObject) { + if (sourceObject instanceof StackObject) { return true; } } diff --git a/Mage.Sets/src/mage/cards/r/RowanKenrith.java b/Mage.Sets/src/mage/cards/r/RowanKenrith.java index b32b883391f..1fc9050119d 100644 --- a/Mage.Sets/src/mage/cards/r/RowanKenrith.java +++ b/Mage.Sets/src/mage/cards/r/RowanKenrith.java @@ -107,7 +107,7 @@ class RowanKenrithAttackEffect extends RequirementEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getControllerId().equals(source.getFirstTarget()); + return permanent.isControlledBy(source.getFirstTarget()); } @Override diff --git a/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java b/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java index 20245e932a4..74f8e3b0255 100644 --- a/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java +++ b/Mage.Sets/src/mage/cards/r/RumblingAftershocks.java @@ -78,7 +78,7 @@ class RumblingAftershocksTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); - if (spell != null && spell.getControllerId().equals(controllerId)) { + if (spell != null && spell.isControlledBy(controllerId)) { int damageAmount = 0; for (Ability ability: spell.getAbilities()) { if (ability instanceof KickerAbility) { diff --git a/Mage.Sets/src/mage/cards/s/SacredGround.java b/Mage.Sets/src/mage/cards/s/SacredGround.java index bfe3c54d2d0..93a2b21b08f 100644 --- a/Mage.Sets/src/mage/cards/s/SacredGround.java +++ b/Mage.Sets/src/mage/cards/s/SacredGround.java @@ -64,7 +64,7 @@ class SacredGroundTriggeredAbility extends TriggeredAbilityImpl { ZoneChangeEvent zce = (ZoneChangeEvent) event; if (Zone.BATTLEFIELD == zce.getFromZone() && Zone.GRAVEYARD == zce.getToZone()) { Permanent targetPermanent = zce.getTarget(); - if (targetPermanent.isLand() && targetPermanent.getControllerId().equals(getControllerId())) { + if (targetPermanent.isLand() && targetPermanent.isControlledBy(getControllerId())) { getEffects().get(0).setTargetPointer(new FixedTarget(targetPermanent.getId(), game.getState().getZoneChangeCounter(targetPermanent.getId()))); return true; } diff --git a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java index cb54538d81e..da707f54caf 100644 --- a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java +++ b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java @@ -106,7 +106,7 @@ class SaffiEriksdotterDelayedTriggeredAbility extends DelayedTriggeredAbility { public boolean checkTrigger(GameEvent event, Game game) { if (((ZoneChangeEvent) event).isDiesEvent()) { if (fixedTarget.getFirst(game, this).equals(event.getTargetId())) { - if (this.getControllerId().equals(event.getPlayerId())) { + if (this.isControlledBy(event.getPlayerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/SageOfFables.java b/Mage.Sets/src/mage/cards/s/SageOfFables.java index 1b5b3119905..fb238129d5b 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfFables.java +++ b/Mage.Sets/src/mage/cards/s/SageOfFables.java @@ -71,7 +71,7 @@ class SageOfFablesReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent creature = ((EntersTheBattlefieldEvent) event).getTarget(); - return creature != null && creature.getControllerId().equals(source.getControllerId()) + return creature != null && creature.isControlledBy(source.getControllerId()) && creature.isCreature() && creature.hasSubtype(SubType.WIZARD, game) && !event.getTargetId().equals(source.getSourceId()); diff --git a/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java b/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java index 59a3944ea53..da0593a803b 100644 --- a/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java +++ b/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java @@ -74,7 +74,7 @@ class SakikoMotherOfSummerTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId)) { + if (creature != null && creature.isControlledBy(controllerId)) { this.getEffects().clear(); Effect effect = new AddManaToManaPoolTargetControllerEffect(Mana.GreenMana(event.getAmount()), "that player", true); effect.setTargetPointer(new FixedTarget(creature.getControllerId())); diff --git a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java index 52deb05c284..fafe9257058 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java +++ b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java @@ -95,7 +95,7 @@ class SatyrFiredancerTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if (isControlledBy(game.getControllerId(event.getSourceId()))) { MageObject damageSource = game.getObject(event.getSourceId()); if (damageSource != null) { if (game.getOpponents(getControllerId()).contains(event.getTargetId())) { diff --git a/Mage.Sets/src/mage/cards/s/SavageStomp.java b/Mage.Sets/src/mage/cards/s/SavageStomp.java index 95968629190..8a080176193 100644 --- a/Mage.Sets/src/mage/cards/s/SavageStomp.java +++ b/Mage.Sets/src/mage/cards/s/SavageStomp.java @@ -84,7 +84,7 @@ enum SavageStompCondition implements Condition { Iterator targets = sourceSpell.getStackAbility().getTargets().iterator(); while (targets.hasNext()) { Permanent permanent = game.getPermanentOrLKIBattlefield(targets.next().getFirstTarget()); - if (permanent != null && filter.match(permanent, game) && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && filter.match(permanent, game) && permanent.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/SavageSummoning.java b/Mage.Sets/src/mage/cards/s/SavageSummoning.java index 28c873c4e84..2d19dea4fb8 100644 --- a/Mage.Sets/src/mage/cards/s/SavageSummoning.java +++ b/Mage.Sets/src/mage/cards/s/SavageSummoning.java @@ -103,9 +103,9 @@ class SavageSummoningAsThoughEffect extends AsThoughEffectImpl { if (commander.isCreature() && commander.getControllerId().equals(source.getControllerId())) { return true; } - } else if (mageObject != null && mageObject instanceof Card) { + } else if (mageObject instanceof Card) { Card card = (Card) mageObject; - if (card.isCreature() && card.getOwnerId().equals(source.getControllerId())) { + if (card.isCreature() && card.isOwnedBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/SavingGrace.java b/Mage.Sets/src/mage/cards/s/SavingGrace.java index 0ee8ad8d973..bf4a045014f 100644 --- a/Mage.Sets/src/mage/cards/s/SavingGrace.java +++ b/Mage.Sets/src/mage/cards/s/SavingGrace.java @@ -94,7 +94,7 @@ class SavingGraceReplacementEffect extends ReplacementEffectImpl { if (event.getType() == GameEvent.EventType.DAMAGE_CREATURE || event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { Permanent targetPermanent = game.getPermanent(event.getTargetId()); if (targetPermanent != null - && targetPermanent.getControllerId().equals(source.getControllerId())) { + && targetPermanent.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java b/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java index e6a1cb64b54..4e09668db0b 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java @@ -76,7 +76,7 @@ class ScourgeOfNelTothPlayEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(source.getSourceId()) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(source.getSourceId()) && source.isControlledBy(affectedControllerId)) { if (game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { Player player = game.getPlayer(affectedControllerId); if (player != null) { diff --git a/Mage.Sets/src/mage/cards/s/ScoutsWarning.java b/Mage.Sets/src/mage/cards/s/ScoutsWarning.java index c2a22fd2811..5ddb9e6c3a5 100644 --- a/Mage.Sets/src/mage/cards/s/ScoutsWarning.java +++ b/Mage.Sets/src/mage/cards/s/ScoutsWarning.java @@ -87,7 +87,7 @@ class ScoutsWarningAsThoughEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { if (watcher.isScoutsWarningSpellActive(source.getSourceId(), zoneChangeCounter)) { Card card = game.getCard(sourceId); - if (card != null && card.isCreature() && source.getControllerId().equals(affectedControllerId)) { + if (card != null && card.isCreature() && source.isControlledBy(affectedControllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java index 60546eaa7aa..65de4ee26e5 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java +++ b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java @@ -78,7 +78,7 @@ class ScrapTrawlerTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); - if (permanent.getControllerId().equals(this.getControllerId()) && permanent.isArtifact()) { + if (permanent.isControlledBy(this.getControllerId()) && permanent.isArtifact()) { FilterCard filter = new FilterArtifactCard("artifact card in your graveyard with converted mana cost less than " + permanent.getManaCost().convertedManaCost()); filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, permanent.getManaCost().convertedManaCost())); TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(filter); diff --git a/Mage.Sets/src/mage/cards/s/Scrapheap.java b/Mage.Sets/src/mage/cards/s/Scrapheap.java index c38b844d81c..b57e7f95e6f 100644 --- a/Mage.Sets/src/mage/cards/s/Scrapheap.java +++ b/Mage.Sets/src/mage/cards/s/Scrapheap.java @@ -64,7 +64,7 @@ class ScrapheapTriggeredAbility extends TriggeredAbilityImpl { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (permanent != null && permanent.getOwnerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isOwnedBy(this.getControllerId())) { if (StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT.match(permanent, sourceId, controllerId, game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/s/SealOfTheGuildpact.java b/Mage.Sets/src/mage/cards/s/SealOfTheGuildpact.java index 3cd5899623d..6bd3881998a 100644 --- a/Mage.Sets/src/mage/cards/s/SealOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/s/SealOfTheGuildpact.java @@ -143,7 +143,7 @@ class SealOfTheGuildpactCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - return abilityToModify.getControllerId().equals(source.getControllerId()) + return abilityToModify.isControlledBy(source.getControllerId()) && abilityToModify instanceof SpellAbility; } diff --git a/Mage.Sets/src/mage/cards/s/SearingBlaze.java b/Mage.Sets/src/mage/cards/s/SearingBlaze.java index 0deaae3341f..cda4d3ce257 100644 --- a/Mage.Sets/src/mage/cards/s/SearingBlaze.java +++ b/Mage.Sets/src/mage/cards/s/SearingBlaze.java @@ -100,7 +100,7 @@ class SearingBlazeTarget extends TargetPermanent { } UUID firstTarget = player.getId(); Permanent permanent = game.getPermanent(id); - if (firstTarget != null && permanent != null && permanent.getControllerId().equals(firstTarget)) { + if (firstTarget != null && permanent != null && permanent.isControlledBy(firstTarget)) { return super.canTarget(id, source, game); } return false; @@ -117,7 +117,7 @@ class SearingBlazeTarget extends TargetPermanent { if (player != null) { for (UUID targetId : availablePossibleTargets) { Permanent permanent = game.getPermanent(targetId); - if (permanent != null && permanent.getControllerId().equals(player.getId())) { + if (permanent != null && permanent.isControlledBy(player.getId())) { possibleTargets.add(targetId); } } diff --git a/Mage.Sets/src/mage/cards/s/SelflessSquire.java b/Mage.Sets/src/mage/cards/s/SelflessSquire.java index adcd11469e6..eac10d15e67 100644 --- a/Mage.Sets/src/mage/cards/s/SelflessSquire.java +++ b/Mage.Sets/src/mage/cards/s/SelflessSquire.java @@ -74,7 +74,7 @@ class SelflessSquireTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(event.getTargetId())) { + if (isControlledBy(event.getTargetId())) { getEffects().clear(); getEffects().add(new AddCountersSourceEffect(CounterType.P1P1.createInstance(event.getAmount()))); return true; diff --git a/Mage.Sets/src/mage/cards/s/SemblanceAnvil.java b/Mage.Sets/src/mage/cards/s/SemblanceAnvil.java index 1f39b373f4e..34372611f2f 100644 --- a/Mage.Sets/src/mage/cards/s/SemblanceAnvil.java +++ b/Mage.Sets/src/mage/cards/s/SemblanceAnvil.java @@ -109,7 +109,7 @@ class SemblanceAnvilCostReductionEffect extends CostModificationEffectImpl { public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { Card sourceCard = game.getCard(abilityToModify.getSourceId()); - if (sourceCard != null && sourceCard.getOwnerId().equals(source.getControllerId())) { + if (sourceCard != null && sourceCard.isOwnedBy(source.getControllerId())) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null) { List imprinted = permanent.getImprinted(); diff --git a/Mage.Sets/src/mage/cards/s/SenTriplets.java b/Mage.Sets/src/mage/cards/s/SenTriplets.java index e0681a13080..e1d6ed588ba 100644 --- a/Mage.Sets/src/mage/cards/s/SenTriplets.java +++ b/Mage.Sets/src/mage/cards/s/SenTriplets.java @@ -147,7 +147,7 @@ class SenTripletsPlayFromOpponentsHandEffect extends AsThoughEffectImpl { public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { Card card = game.getCard(objectId); return card != null && - card.getOwnerId().equals(getTargetPointer().getFirst(game, source)) && + card.isOwnedBy(getTargetPointer().getFirst(game, source)) && game.getState().getZone(objectId) == Zone.HAND && affectedControllerId.equals(source.getControllerId()); } diff --git a/Mage.Sets/src/mage/cards/s/SenatorLottDod.java b/Mage.Sets/src/mage/cards/s/SenatorLottDod.java index 903bb71b243..2c6f13cddcc 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorLottDod.java +++ b/Mage.Sets/src/mage/cards/s/SenatorLottDod.java @@ -75,7 +75,7 @@ class SenatorLottDodSpellsTargetingCreatureCostReductionEffect extends CostModif for (Target target : mode.getTargets()) { for (UUID targetUUID : target.getTargets()) { Permanent permanent = game.getPermanent(targetUUID); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/SerumPowder.java b/Mage.Sets/src/mage/cards/s/SerumPowder.java index cdc8e4b6e8b..955f9a5bf62 100644 --- a/Mage.Sets/src/mage/cards/s/SerumPowder.java +++ b/Mage.Sets/src/mage/cards/s/SerumPowder.java @@ -87,7 +87,7 @@ class SerumPowderReplaceEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java index af2cdf3a2a8..cca4023c354 100644 --- a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java +++ b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java @@ -81,7 +81,7 @@ class SeshiroTheAnointedAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; Permanent p = game.getPermanent(event.getSourceId()); - if (damageEvent.isCombatDamage() && p != null && p.hasSubtype(SubType.SNAKE, game) && p.getControllerId().equals(controllerId)) { + if (damageEvent.isCombatDamage() && p != null && p.hasSubtype(SubType.SNAKE, game) && p.isControlledBy(controllerId)) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/s/SettleTheWreckage.java b/Mage.Sets/src/mage/cards/s/SettleTheWreckage.java index b68584e3c43..4a2a86accd7 100644 --- a/Mage.Sets/src/mage/cards/s/SettleTheWreckage.java +++ b/Mage.Sets/src/mage/cards/s/SettleTheWreckage.java @@ -73,7 +73,7 @@ class SettleTheWreckageEffect extends OneShotEffect { Iterator creatureIds = game.getCombat().getAttackers().iterator(); while (creatureIds.hasNext()) { Permanent creature = game.getPermanent(creatureIds.next()); - if (creature != null && creature.getControllerId().equals(player.getId())) { + if (creature != null && creature.isControlledBy(player.getId())) { toExile.add(creature); attackers++; } diff --git a/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java b/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java index 8839aaea5e5..c85fcab35df 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java +++ b/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java @@ -63,7 +63,7 @@ class ShadowOfTheGraveEffect extends OneShotEffect { && watcher != null) { for (Card card : watcher.getCardsCycledOrDiscardedThisTurn(controller.getId()).getCards(game)) { if (game.getState().getZone(card.getId()) == Zone.GRAVEYARD //must come from their graveyard - && card.getOwnerId().equals(controller.getId())) { //confirm ownership, but it should not be possible to get not ownwd cards here + && card.isOwnedBy(controller.getId())) { //confirm ownership, but it should not be possible to get not ownwd cards here controller.moveCardToHandWithInfo(card, source.getId(), game, true); } } diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java index 8a3d88c5ec2..8718cc44df4 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java @@ -92,7 +92,7 @@ class ShamanOfForgottenWaysManaCondition implements Condition { @Override public boolean apply(Game game, Ability source) { MageObject object = source.getSourceObject(game); - return object != null && (object instanceof Spell) && object.isCreature(); + return object instanceof Spell && object.isCreature(); } } diff --git a/Mage.Sets/src/mage/cards/s/ShannaSisaysLegacy.java b/Mage.Sets/src/mage/cards/s/ShannaSisaysLegacy.java index 5477904286e..6041c378550 100644 --- a/Mage.Sets/src/mage/cards/s/ShannaSisaysLegacy.java +++ b/Mage.Sets/src/mage/cards/s/ShannaSisaysLegacy.java @@ -104,7 +104,7 @@ class ShannaSisaysLegacyEffect extends ContinuousRuleModifyingEffectImpl { StackObject stackObject = (StackObject) game.getStack().getStackObject(event.getSourceId()); if (targetCard != null && stackObject != null && targetCard.getId().equals(source.getSourceId())) { if (stackObject instanceof Ability) { - if (!stackObject.getControllerId().equals(source.getControllerId())) { + if (!stackObject.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/s/ShapersSanctuary.java b/Mage.Sets/src/mage/cards/s/ShapersSanctuary.java index 60c09594412..76469436309 100644 --- a/Mage.Sets/src/mage/cards/s/ShapersSanctuary.java +++ b/Mage.Sets/src/mage/cards/s/ShapersSanctuary.java @@ -61,7 +61,7 @@ class CreaturesYouControlTargetedTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); Player targetter = game.getPlayer(event.getPlayerId()); - if (permanent != null && permanent.getControllerId().equals(this.getControllerId()) && permanent.isCreature()) { + if (permanent != null && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { Object object = game.getObject(event.getSourceId()); if (object != null && targetter != null && targetter.hasOpponent(this.getControllerId(), game)) { return true; diff --git a/Mage.Sets/src/mage/cards/s/ShiningShoal.java b/Mage.Sets/src/mage/cards/s/ShiningShoal.java index 861eef89810..5733872da8c 100644 --- a/Mage.Sets/src/mage/cards/s/ShiningShoal.java +++ b/Mage.Sets/src/mage/cards/s/ShiningShoal.java @@ -111,7 +111,7 @@ class ShiningShoalRedirectDamageTargetEffect extends RedirectDamageFromSourceToT // check creature first Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature()) { - if (permanent.getControllerId().equals(source.getControllerId())) { + if (permanent.isControlledBy(source.getControllerId())) { // it's your creature redirectTarget = source.getTargets().get(1); return true; diff --git a/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java b/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java index a0f0afcd480..d43cfaed037 100644 --- a/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java +++ b/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java @@ -90,7 +90,7 @@ class ShipbreakerKrakenReplacementEffect extends ContinuousRuleModifyingEffectIm // the battlefield triggered ability the source dies (or will be exiled), then the ZONE_CHANGE or LOST_CONTROL // event will happen before this effect is applied ever) Permanent sourcePermanent = game.getPermanent(source.getSourceId()); - if (sourcePermanent == null || !sourcePermanent.getControllerId().equals(source.getControllerId())) { + if (sourcePermanent == null || !sourcePermanent.isControlledBy(source.getControllerId())) { discard(); return false; } diff --git a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java index 003933e4937..6e0d7d255f4 100644 --- a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java +++ b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java @@ -80,7 +80,7 @@ class ShireiShizosCaretakerTriggeredAbility extends TriggeredAbilityImpl { Card card = game.getCard(zEvent.getTargetId()); if (card != null && LKIpermanent != null - && card.getOwnerId().equals(this.controllerId) + && card.isOwnedBy(this.controllerId) && zEvent.getToZone() == Zone.GRAVEYARD && zEvent.getFromZone() == Zone.BATTLEFIELD && card.isCreature() diff --git a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java index 3a3c4e1f8a8..933cbb20ce9 100644 --- a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java +++ b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java @@ -78,7 +78,7 @@ class SidisiBroodTyrantTriggeredAbility extends TriggeredAbilityImpl { Set cardType = card.getCardType(); if (cardOwnerId != null - && card.getOwnerId().equals(getControllerId()) + && card.isOwnedBy(getControllerId()) && cardType != null && card.isCreature()) { return true; diff --git a/Mage.Sets/src/mage/cards/s/SigilCaptain.java b/Mage.Sets/src/mage/cards/s/SigilCaptain.java index c216469dfd1..e14f9428f69 100644 --- a/Mage.Sets/src/mage/cards/s/SigilCaptain.java +++ b/Mage.Sets/src/mage/cards/s/SigilCaptain.java @@ -69,7 +69,7 @@ class SigilCaptainTriggeredAbility extends TriggeredAbilityImpl { if (permanent == null) { return false; } - if (permanent.getControllerId().equals(controllerId) + if (permanent.isControlledBy(controllerId) && permanent.getPower().getValue() == 1 && permanent.getToughness().getValue() == 1) { for (Effect effect : this.getEffects()) { diff --git a/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java b/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java index 040f3ae781f..9343d54c7d9 100644 --- a/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java +++ b/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java @@ -79,7 +79,7 @@ class SilasRennSeekerAdeptPlayEffect extends AsThoughEffectImpl { UUID targetId = getTargetPointer().getFirst(game, source); if (targetId != null) { return targetId.equals(objectId) - && source.getControllerId().equals(affectedControllerId); + && source.isControlledBy(affectedControllerId); } else { // the target card has changed zone meanwhile, so the effect is no longer needed discard(); diff --git a/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java b/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java index b7c15d5eaad..4caebce8f99 100644 --- a/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java +++ b/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java @@ -75,7 +75,7 @@ class CreaturesYouControlBecomesTargetTriggeredAbility extends TriggeredAbilityI @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(this.controllerId) && (permanent.hasSubtype(SubType.WOLF, game) || permanent.hasSubtype(SubType.WEREWOLF, game))) { + if (permanent != null && permanent.isControlledBy(this.controllerId) && (permanent.hasSubtype(SubType.WOLF, game) || permanent.hasSubtype(SubType.WEREWOLF, game))) { MageObject object = game.getObject(event.getSourceId()); if (object != null && object instanceof Spell) { Card c = (Spell) object; diff --git a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java index 0a5fe6fefd5..45d3b6eec78 100644 --- a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java @@ -110,7 +110,7 @@ class MoveCounterFromTargetToTargetEffect extends OneShotEffect { if (source.getTargets().size() > 1) { toPermanent = game.getPermanent(source.getTargets().get(1).getFirstTarget()); } - if (fromPermanent == null || toPermanent == null || !fromPermanent.getControllerId().equals(toPermanent.getControllerId())) { + if (fromPermanent == null || toPermanent == null || !fromPermanent.isControlledBy(toPermanent.getControllerId())) { return false; } fromPermanent.removeCounters(CounterType.P1P1.createInstance(1), game); @@ -136,7 +136,7 @@ class SameControllerPredicate implements ObjectSourcePlayerPredicate choices = new TreeSet<>(); Collection cards = game.getCards(); for (Card gameCard : cards) { - if (gameCard.getOwnerId().equals(targetPlayer.getId())) { + if (gameCard.isOwnedBy(targetPlayer.getId())) { choices.add(gameCard.getName()); } } diff --git a/Mage.Sets/src/mage/cards/s/SqueeTheImmortal.java b/Mage.Sets/src/mage/cards/s/SqueeTheImmortal.java index adfc361ed05..4e08bb419d1 100644 --- a/Mage.Sets/src/mage/cards/s/SqueeTheImmortal.java +++ b/Mage.Sets/src/mage/cards/s/SqueeTheImmortal.java @@ -71,7 +71,7 @@ class SqueePlayEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(source.getSourceId()); - if (card != null && card.getOwnerId().equals(affectedControllerId) + if (card != null && card.isOwnedBy(affectedControllerId) && (game.getState().getZone(source.getSourceId()) == Zone.EXILED || game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD)) { return true; diff --git a/Mage.Sets/src/mage/cards/s/SquirrelPoweredScheme.java b/Mage.Sets/src/mage/cards/s/SquirrelPoweredScheme.java index 3534b19b439..d717fb812e4 100644 --- a/Mage.Sets/src/mage/cards/s/SquirrelPoweredScheme.java +++ b/Mage.Sets/src/mage/cards/s/SquirrelPoweredScheme.java @@ -62,7 +62,7 @@ class SquirrelPoweredSchemeEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { // ignore planar dies (dice roll amount of planar dies is equal to 0) - return event.getAmount() > 0 && source.getControllerId().equals(event.getPlayerId()); + return event.getAmount() > 0 && source.isControlledBy(event.getPlayerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/s/SteelSquirrel.java b/Mage.Sets/src/mage/cards/s/SteelSquirrel.java index 0a5f82b69c2..c8f992ceec2 100644 --- a/Mage.Sets/src/mage/cards/s/SteelSquirrel.java +++ b/Mage.Sets/src/mage/cards/s/SteelSquirrel.java @@ -76,7 +76,7 @@ class SteelSquirrelTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { if (event.getAmount() >= 5) { for (Effect effect : this.getEffects()) { effect.setValue("rolled", event.getAmount()); diff --git a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java index 3716bc5fa36..61f2a5dc8ac 100644 --- a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java +++ b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java @@ -88,7 +88,7 @@ class StensiaMasqueradeTriggeredAbility extends TriggeredAbilityImpl { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; Permanent permanent = game.getPermanent(event.getSourceId()); if (damageEvent.isCombatDamage() && permanent != null - && permanent.hasSubtype(SubType.VAMPIRE, game) && permanent.getControllerId().equals(controllerId)) { + && permanent.hasSubtype(SubType.VAMPIRE, game) && permanent.isControlledBy(controllerId)) { this.getEffects().clear(); AddCountersTargetEffect effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); effect.setTargetPointer(new FixedTarget(permanent.getId())); diff --git a/Mage.Sets/src/mage/cards/s/StolenStrategy.java b/Mage.Sets/src/mage/cards/s/StolenStrategy.java index 07b0556f1e9..18e01088465 100644 --- a/Mage.Sets/src/mage/cards/s/StolenStrategy.java +++ b/Mage.Sets/src/mage/cards/s/StolenStrategy.java @@ -133,7 +133,7 @@ class StolenStrategyCastFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(cardId) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(cardId) && source.isControlledBy(affectedControllerId)) { ExileZone exileZone = game.getState().getExile().getExileZone(exileId); return exileZone != null && exileZone.contains(cardId); } @@ -164,7 +164,7 @@ class StolenStrategySpendAnyManaEffect extends AsThoughEffectImpl implements AsT @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && Objects.equals(objectId, ((FixedTarget) getTargetPointer()).getTarget()) && ((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId) && (((FixedTarget) getTargetPointer()).getZoneChangeCounter() + 1 == game.getState().getZoneChangeCounter(objectId)) diff --git a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java index 7e0974aa053..ff3405bd2a5 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java @@ -117,7 +117,7 @@ class StromkirkOccultistPlayFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && objectId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java b/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java index e90d03fbb7a..a0c40edbe7c 100644 --- a/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java +++ b/Mage.Sets/src/mage/cards/s/SunbirdsInvocation.java @@ -65,7 +65,7 @@ class SunbirdsInvocationTriggeredAbility extends SpellCastControllerTriggeredAbi Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && spell.getFromZone().equals(Zone.HAND) - && spell.getOwnerId().equals(getControllerId())) { // must be from the controller's hand + && spell.isOwnedBy(getControllerId())) { // must be from the controller's hand if (spell.getCard() != null) { for (Effect effect : getEffects()) { effect.setTargetPointer(new FixedTarget(spell.getId())); diff --git a/Mage.Sets/src/mage/cards/t/TajuruPreserver.java b/Mage.Sets/src/mage/cards/t/TajuruPreserver.java index f077b37d8d7..27f8fac2ced 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruPreserver.java +++ b/Mage.Sets/src/mage/cards/t/TajuruPreserver.java @@ -72,7 +72,7 @@ class TajuruPreserverEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { MageObject object = game.getObject(event.getSourceId()); if (object instanceof PermanentCard) { if (game.getOpponents(source.getControllerId()).contains(((PermanentCard)object).getControllerId())) { diff --git a/Mage.Sets/src/mage/cards/t/TalusPaladin.java b/Mage.Sets/src/mage/cards/t/TalusPaladin.java index 87db0899133..2619c545e02 100644 --- a/Mage.Sets/src/mage/cards/t/TalusPaladin.java +++ b/Mage.Sets/src/mage/cards/t/TalusPaladin.java @@ -82,7 +82,7 @@ class TalusPaladinTriggeredAbility extends TriggeredAbilityImpl { Permanent ally = game.getPermanent(event.getTargetId()); if (ally != null) { if (ally.hasSubtype(SubType.ALLY, game) - && ally.getControllerId().equals(this.getControllerId())) { + && ally.isControlledBy(this.getControllerId())) { if (event.getTargetId().equals(this.getSourceId()) || event.getTargetId().equals(ally.getId())) { return true; diff --git a/Mage.Sets/src/mage/cards/t/Tamanoa.java b/Mage.Sets/src/mage/cards/t/Tamanoa.java index 58d3f70fed5..a567e0c2c0c 100644 --- a/Mage.Sets/src/mage/cards/t/Tamanoa.java +++ b/Mage.Sets/src/mage/cards/t/Tamanoa.java @@ -72,7 +72,7 @@ class TamanoaDealsDamageTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { MageObject eventSourceObject = game.getObject(event.getSourceId()); if (eventSourceObject != null && !eventSourceObject.isCreature()) { - if (getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if (isControlledBy(game.getControllerId(event.getSourceId()))) { this.getEffects().forEach((effect) -> { effect.setValue("damage", event.getAmount()); }); diff --git a/Mage.Sets/src/mage/cards/t/TangleKelp.java b/Mage.Sets/src/mage/cards/t/TangleKelp.java index 25ae12d2858..d4dde772dfe 100644 --- a/Mage.Sets/src/mage/cards/t/TangleKelp.java +++ b/Mage.Sets/src/mage/cards/t/TangleKelp.java @@ -106,7 +106,7 @@ class DontUntapIfAttackedLastTurnEnchantedEffect extends ContinuousRuleModifying Permanent enchantment = game.getPermanent(source.getSourceId()); if (enchantment != null && enchantment.getAttachedTo() != null && event.getTargetId().equals(enchantment.getAttachedTo())) { Permanent permanent = game.getPermanent(enchantment.getAttachedTo()); - if (permanent != null && permanent.getControllerId().equals(game.getActivePlayerId())) { + if (permanent != null && permanent.isControlledBy(game.getActivePlayerId())) { AttackedLastTurnWatcher watcher = (AttackedLastTurnWatcher) game.getState().getWatchers().get(AttackedLastTurnWatcher.class.getSimpleName()); if (watcher != null) { Set attackingCreatures = watcher.getAttackedLastTurnCreatures(permanent.getControllerId()); diff --git a/Mage.Sets/src/mage/cards/t/Taunt.java b/Mage.Sets/src/mage/cards/t/Taunt.java index 377d64a8993..ed2e4444293 100644 --- a/Mage.Sets/src/mage/cards/t/Taunt.java +++ b/Mage.Sets/src/mage/cards/t/Taunt.java @@ -55,7 +55,7 @@ class TauntEffect extends RequirementEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getControllerId().equals(this.getTargetPointer().getFirst(game, source)); + return permanent.isControlledBy(this.getTargetPointer().getFirst(game, source)); } @Override diff --git a/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java b/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java index 9f9672c7285..be586c41a5b 100644 --- a/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java +++ b/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java @@ -89,13 +89,13 @@ class TeferiMageOfZhalfirAddFlashEffect extends ContinuousEffectImpl { } // in Exile for (Card card : game.getState().getExile().getAllCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.isCreature()) { + if (card.isOwnedBy(controller.getId()) && card.isCreature()) { game.getState().addOtherAbility(card, FlashAbility.getInstance()); } } // in Library (e.g. for Mystical Teachings) for (Card card : controller.getLibrary().getCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.isCreature()) { + if (card.isOwnedBy(controller.getId()) && card.isCreature()) { game.getState().addOtherAbility(card, FlashAbility.getInstance()); } } diff --git a/Mage.Sets/src/mage/cards/t/TelimTorsEdict.java b/Mage.Sets/src/mage/cards/t/TelimTorsEdict.java index 7b3b24804dd..e065dbebbbb 100644 --- a/Mage.Sets/src/mage/cards/t/TelimTorsEdict.java +++ b/Mage.Sets/src/mage/cards/t/TelimTorsEdict.java @@ -58,7 +58,7 @@ class TelimTorsEdictPredicate implements ObjectPlayerPredicate input, Game game) { Permanent permanent = input.getObject(); UUID playerId = input.getPlayerId(); - if (permanent.getControllerId().equals(playerId) || permanent.getOwnerId().equals(playerId)) { + if (permanent.isControlledBy(playerId) || permanent.isOwnedBy(playerId)) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/t/TempleAltisaur.java b/Mage.Sets/src/mage/cards/t/TempleAltisaur.java index 2f07f760a1c..c4f1afe7dd5 100644 --- a/Mage.Sets/src/mage/cards/t/TempleAltisaur.java +++ b/Mage.Sets/src/mage/cards/t/TempleAltisaur.java @@ -77,7 +77,7 @@ class TempleAltisaurPreventEffect extends PreventionEffectImpl { if (permanent != null && !permanent.getId().equals(source.getSourceId()) && permanent.hasSubtype(SubType.DINOSAUR, game) - && permanent.getControllerId().equals(source.getControllerId())) { + && permanent.isControlledBy(source.getControllerId())) { return super.applies(event, source, game); } } diff --git a/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java b/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java index 5c0bcb2aa94..e5777b82a6e 100644 --- a/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java +++ b/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java @@ -116,7 +116,7 @@ class ThadaAdelPlayFromExileEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId) + return source.isControlledBy(affectedControllerId) && sourceId.equals(getTargetPointer().getFirst(game, source)); } } diff --git a/Mage.Sets/src/mage/cards/t/TheBigIdea.java b/Mage.Sets/src/mage/cards/t/TheBigIdea.java index 44d3391a6b5..6bb1285d164 100644 --- a/Mage.Sets/src/mage/cards/t/TheBigIdea.java +++ b/Mage.Sets/src/mage/cards/t/TheBigIdea.java @@ -118,7 +118,7 @@ class TheBigIdeaReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (!this.used) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/t/TheFallen.java b/Mage.Sets/src/mage/cards/t/TheFallen.java index 59388577ce8..8676d61c573 100644 --- a/Mage.Sets/src/mage/cards/t/TheFallen.java +++ b/Mage.Sets/src/mage/cards/t/TheFallen.java @@ -65,7 +65,7 @@ class TheFallenEffect extends OneShotEffect { TheFallenWatcher watcher = (TheFallenWatcher) game.getState().getWatchers().get(TheFallenWatcher.class.getSimpleName()); if (watcher != null && watcher.getPlayersAndWalkersDealtDamageThisGame(source.getSourceId()) != null) { for (UUID playerId : watcher.getPlayersAndWalkersDealtDamageThisGame(source.getSourceId())) { - if (!source.getControllerId().equals(playerId)) { + if (!source.isControlledBy(playerId)) { game.damagePlayerOrPlaneswalker(playerId, 1, source.getSourceId(), game, false, true); } } diff --git a/Mage.Sets/src/mage/cards/t/TheFlameOfKeld.java b/Mage.Sets/src/mage/cards/t/TheFlameOfKeld.java index 0e7bcab7161..1fb9383bfb7 100644 --- a/Mage.Sets/src/mage/cards/t/TheFlameOfKeld.java +++ b/Mage.Sets/src/mage/cards/t/TheFlameOfKeld.java @@ -83,7 +83,7 @@ class TheFlameOfKeldDamageEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (source.getControllerId().equals(game.getControllerId(event.getSourceId()))) { + if (source.isControlledBy(game.getControllerId(event.getSourceId()))) { MageObject sourceObject; Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(event.getSourceId()); if (sourcePermanent == null) { diff --git a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java index b126d89cbbd..8fc2ee9ce18 100644 --- a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java +++ b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java @@ -83,7 +83,7 @@ class TheGitrogMonsterTriggeredAbility extends TriggeredAbilityImpl { UUID cardOwnerId = card.getOwnerId(); Set cardType = card.getCardType(); if (cardOwnerId != null - && card.getOwnerId().equals(getControllerId()) + && card.isOwnedBy(getControllerId()) && cardType != null && card.isLand()) { return true; diff --git a/Mage.Sets/src/mage/cards/t/TheUrDragon.java b/Mage.Sets/src/mage/cards/t/TheUrDragon.java index 0c425272e5f..ac9fbb04948 100644 --- a/Mage.Sets/src/mage/cards/t/TheUrDragon.java +++ b/Mage.Sets/src/mage/cards/t/TheUrDragon.java @@ -94,7 +94,7 @@ class TheUrDragonTriggeredAbility extends TriggeredAbilityImpl { Permanent creature = game.getPermanent(attacker); if (creature != null && creature.getControllerId() != null - && creature.getControllerId().equals(this.getControllerId()) + && creature.isControlledBy(this.getControllerId()) && creature.hasSubtype(SubType.DRAGON, game)) { attackingDragons++; } diff --git a/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java b/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java index 7b9393e5bb3..8514dc92551 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java +++ b/Mage.Sets/src/mage/cards/t/ThopterSpyNetwork.java @@ -108,7 +108,7 @@ class ThopterSpyNetworkDamageTriggeredAbility extends TriggeredAbilityImpl { if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER) { if (((DamagedPlayerEvent) event).isCombatDamage()) { Permanent creature = game.getPermanent(event.getSourceId()); - if (creature != null && creature.getControllerId().equals(controllerId) + if (creature != null && creature.isControlledBy(controllerId) && creature.isArtifact() && !damagedPlayerIds.contains(event.getTargetId())) { damagedPlayerIds.add(event.getTargetId()); return true; diff --git a/Mage.Sets/src/mage/cards/t/ThousandYearElixir.java b/Mage.Sets/src/mage/cards/t/ThousandYearElixir.java index c41b0293b9f..41ed3921e2d 100644 --- a/Mage.Sets/src/mage/cards/t/ThousandYearElixir.java +++ b/Mage.Sets/src/mage/cards/t/ThousandYearElixir.java @@ -76,6 +76,6 @@ class ThousandYearElixirEffect extends AsThoughEffectImpl { Permanent permanent = game.getPermanent(sourceId); return permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(source.getControllerId()); + && permanent.isControlledBy(source.getControllerId()); } } diff --git a/Mage.Sets/src/mage/cards/t/ThreeWishes.java b/Mage.Sets/src/mage/cards/t/ThreeWishes.java index b6d14874cca..a88b1df88d8 100644 --- a/Mage.Sets/src/mage/cards/t/ThreeWishes.java +++ b/Mage.Sets/src/mage/cards/t/ThreeWishes.java @@ -187,7 +187,7 @@ class ThreeWishesPlayFromExileEffect extends AsThoughEffectImpl { return exile != null && getTargetPointer().getFirst(game, source) != null && getTargetPointer().getFirst(game, source).equals(sourceId) - && source.getControllerId().equals(affectedControllerId) + && source.isControlledBy(affectedControllerId) && game.getState().getZone(sourceId) == Zone.EXILED && exile.contains(sourceId); } diff --git a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java index 4c4d968a162..832e96d5de7 100644 --- a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java +++ b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java @@ -96,7 +96,7 @@ class TianaShipsCaretakerTriggeredAbility extends TriggeredAbilityImpl { && zEvent.getFromZone() == Zone.BATTLEFIELD && (permanent.isArtifact() && permanent.hasSubtype(SubType.EQUIPMENT, game) || permanent.isEnchantment() && permanent.hasSubtype(SubType.AURA, game)) - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { this.getEffects().setTargetPointer(new FixedTarget(zEvent.getTargetId())); return true; } diff --git a/Mage.Sets/src/mage/cards/t/TidebinderMage.java b/Mage.Sets/src/mage/cards/t/TidebinderMage.java index cdc97d7c4a8..e2ba1780fd4 100644 --- a/Mage.Sets/src/mage/cards/t/TidebinderMage.java +++ b/Mage.Sets/src/mage/cards/t/TidebinderMage.java @@ -97,7 +97,7 @@ class TidebinderMageEffect extends ContinuousRuleModifyingEffectImpl { // the battlefield triggered ability the source dies (or will be exiled), then the ZONE_CHANGE or LOST_CONTROL // event will happen before this effect is applied ever) Permanent sourcePermanent = game.getPermanent(source.getSourceId()); - if (sourcePermanent == null || !sourcePermanent.getControllerId().equals(source.getControllerId())) { + if (sourcePermanent == null || !sourcePermanent.isControlledBy(source.getControllerId())) { discard(); return false; } diff --git a/Mage.Sets/src/mage/cards/t/TimeOfIce.java b/Mage.Sets/src/mage/cards/t/TimeOfIce.java index fddf8a086e0..10780d7b643 100644 --- a/Mage.Sets/src/mage/cards/t/TimeOfIce.java +++ b/Mage.Sets/src/mage/cards/t/TimeOfIce.java @@ -119,7 +119,7 @@ class TimeOfIceEffect extends ContinuousRuleModifyingEffectImpl { if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getTargetId().equals(targetPointer.getFirst(game, source))) { Permanent targetCreature = game.getPermanent(targetPointer.getFirst(game, source)); if (targetCreature != null) { - return targetCreature.getControllerId().equals(game.getActivePlayerId()); + return targetCreature.isControlledBy(game.getActivePlayerId()); } else { discard(); return false; diff --git a/Mage.Sets/src/mage/cards/t/TimeVault.java b/Mage.Sets/src/mage/cards/t/TimeVault.java index 3e559518512..7586d9f3a89 100644 --- a/Mage.Sets/src/mage/cards/t/TimeVault.java +++ b/Mage.Sets/src/mage/cards/t/TimeVault.java @@ -78,7 +78,7 @@ class TimeVaultReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (source.getControllerId().equals(event.getPlayerId())) { + if (source.isControlledBy(event.getPlayerId())) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null && permanent.isTapped()) { return true; diff --git a/Mage.Sets/src/mage/cards/t/TreacherousTerrain.java b/Mage.Sets/src/mage/cards/t/TreacherousTerrain.java index 8650e8c92b0..248c68496b8 100644 --- a/Mage.Sets/src/mage/cards/t/TreacherousTerrain.java +++ b/Mage.Sets/src/mage/cards/t/TreacherousTerrain.java @@ -61,7 +61,7 @@ class TreacherousTerrainEffect extends OneShotEffect { if (player != null) { int amount = 0; for (Permanent permanent : permanents) { - if (permanent.getControllerId().equals(playerId)) { + if (permanent.isControlledBy(playerId)) { amount++; } } diff --git a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java index 9e23a771fe8..5d1a729b304 100644 --- a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java +++ b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java @@ -78,7 +78,7 @@ class TrostaniSelesnyasVoiceTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId) + && permanent.isControlledBy(this.controllerId) && !Objects.equals(event.getTargetId(), this.getSourceId())) { Effect effect = this.getEffects().get(0); // life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution) diff --git a/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java b/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java index 2ed94431b8c..bc5fefd8179 100644 --- a/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java +++ b/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java @@ -84,16 +84,16 @@ class ProtectionFromPlayerAbility extends ProtectionAbility { UUID playerId = (UUID) game.getState().getValue(this.getSourceId() + "_player"); if (playerId != null && source != null) { if (source instanceof Permanent) { - return !((Permanent) source).getControllerId().equals(playerId); + return !((Permanent) source).isControlledBy(playerId); } if (source instanceof Spell) { - return !((Spell) source).getControllerId().equals(playerId); + return !((Spell) source).isControlledBy(playerId); } if (source instanceof StackObject) { - return !((StackObject) source).getControllerId().equals(playerId); + return !((StackObject) source).isControlledBy(playerId); } if (source instanceof Card) { // e.g. for Vengeful Pharaoh - return !((Card) source).getOwnerId().equals(playerId); + return !((Card) source).isOwnedBy(playerId); } } return true; diff --git a/Mage.Sets/src/mage/cards/t/TsabosDecree.java b/Mage.Sets/src/mage/cards/t/TsabosDecree.java index 325c3479d46..422d34b0756 100644 --- a/Mage.Sets/src/mage/cards/t/TsabosDecree.java +++ b/Mage.Sets/src/mage/cards/t/TsabosDecree.java @@ -84,7 +84,7 @@ class TsabosDecreeEffect extends OneShotEffect { FilterCreaturePermanent filterCreaturePermanent = new FilterCreaturePermanent(); filterCreaturePermanent.add(new SubtypePredicate(SubType.byDescription(typeChoice.getChoice()))); for (Permanent creature : game.getBattlefield().getActivePermanents(filterCreaturePermanent, source.getSourceId(), game)) { - if (creature.getControllerId().equals(targetPlayer.getId())) { + if (creature.isControlledBy(targetPlayer.getId())) { creature.destroy(source.getSourceId(), game, true); } } diff --git a/Mage.Sets/src/mage/cards/t/TuktukScrapper.java b/Mage.Sets/src/mage/cards/t/TuktukScrapper.java index f2b30cff515..c7b772f03cf 100644 --- a/Mage.Sets/src/mage/cards/t/TuktukScrapper.java +++ b/Mage.Sets/src/mage/cards/t/TuktukScrapper.java @@ -78,7 +78,7 @@ class TuktukScrapperTriggeredAbility extends TriggeredAbilityImpl { return true; } if (permanent.hasSubtype(SubType.ALLY, game) - && permanent.getControllerId().equals(this.getControllerId())) { + && permanent.isControlledBy(this.getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/t/Turnabout.java b/Mage.Sets/src/mage/cards/t/Turnabout.java index 7a0c468d93a..47e2ae27a84 100644 --- a/Mage.Sets/src/mage/cards/t/Turnabout.java +++ b/Mage.Sets/src/mage/cards/t/Turnabout.java @@ -112,14 +112,14 @@ class TurnaboutEffect extends OneShotEffect { if (choiceImpl.getChoice().equals("Untap")) { filter.add(new TappedPredicate()); for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { - if (permanent.getControllerId().equals(target)) { + if (permanent.isControlledBy(target)) { permanent.untap(game); } } } else { filter.add(Predicates.not(new TappedPredicate())); for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { - if (permanent.getControllerId().equals(target)) { + if (permanent.isControlledBy(target)) { permanent.tap(game); } } diff --git a/Mage.Sets/src/mage/cards/t/TwilightShepherd.java b/Mage.Sets/src/mage/cards/t/TwilightShepherd.java index a6de912d3dc..fe12c72f726 100644 --- a/Mage.Sets/src/mage/cards/t/TwilightShepherd.java +++ b/Mage.Sets/src/mage/cards/t/TwilightShepherd.java @@ -90,7 +90,7 @@ class TwilightShepherdEffect extends OneShotEffect { if (game.getState().getZoneChangeCounter(mor.getSourceId()) == mor.getZoneChangeCounter()) { Card card = game.getCard(mor.getSourceId()); if (card != null - && card.getOwnerId().equals(source.getControllerId())) { + && card.isOwnedBy(source.getControllerId())) { cardsToHand.add(card); } } diff --git a/Mage.Sets/src/mage/cards/t/TwistAllegiance.java b/Mage.Sets/src/mage/cards/t/TwistAllegiance.java index 19527d1eab0..625aa011232 100644 --- a/Mage.Sets/src/mage/cards/t/TwistAllegiance.java +++ b/Mage.Sets/src/mage/cards/t/TwistAllegiance.java @@ -67,8 +67,8 @@ class TwistAllegianceEffect extends OneShotEffect { if (controller != null) { for (Permanent permanent : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, source.getControllerId(), source.getSourceId(), game)) { // only creatures of controller & target opponent - if (permanent.getControllerId().equals(source.getControllerId()) || permanent.getControllerId().equals(targetOpponent.getId())) { - UUID newController = permanent.getControllerId().equals(source.getControllerId()) ? targetOpponent.getId() : source.getControllerId(); + if (permanent.isControlledBy(source.getControllerId()) || permanent.isControlledBy(targetOpponent.getId())) { + UUID newController = permanent.isControlledBy(source.getControllerId()) ? targetOpponent.getId() : source.getControllerId(); ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfTurn, true, newController); effect.setTargetPointer(new FixedTarget(permanent.getId())); game.addEffect(effect, source); diff --git a/Mage.Sets/src/mage/cards/u/UnconventionalTactics.java b/Mage.Sets/src/mage/cards/u/UnconventionalTactics.java index edf1e272102..81b45ca9078 100644 --- a/Mage.Sets/src/mage/cards/u/UnconventionalTactics.java +++ b/Mage.Sets/src/mage/cards/u/UnconventionalTactics.java @@ -92,7 +92,7 @@ class UnconventionalTacticsTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId) + && permanent.isControlledBy(this.controllerId) && filter.match(permanent, game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java b/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java index 4a9e3c16905..2953587af90 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java +++ b/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java @@ -124,7 +124,7 @@ class UndeadAlchemistEffect extends ReplacementEffectImpl { if (damageEvent.isCombatDamage()) { UUID controllerId = source.getControllerId(); Permanent permanent = game.getPermanent(event.getSourceId()); - if (permanent != null && permanent.hasSubtype(SubType.ZOMBIE, game) && permanent.getControllerId().equals(controllerId)) { + if (permanent != null && permanent.hasSubtype(SubType.ZOMBIE, game) && permanent.isControlledBy(controllerId)) { return true; } } diff --git a/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java b/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java index 0fe34235226..d48aeec950d 100644 --- a/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java +++ b/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java @@ -98,7 +98,7 @@ class UneshCriosphinxSovereignTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null - && permanent.getOwnerId().equals(controllerId) + && permanent.isOwnedBy(controllerId) && permanent.isCreature() && (event.getTargetId().equals(getSourceId()) || filter.match(permanent, game))) { return true; diff --git a/Mage.Sets/src/mage/cards/v/ValakutTheMoltenPinnacle.java b/Mage.Sets/src/mage/cards/v/ValakutTheMoltenPinnacle.java index 85ceb9e6644..be270c64770 100644 --- a/Mage.Sets/src/mage/cards/v/ValakutTheMoltenPinnacle.java +++ b/Mage.Sets/src/mage/cards/v/ValakutTheMoltenPinnacle.java @@ -80,7 +80,7 @@ class ValakutTheMoltenPinnacleTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.isLand() && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isLand() && permanent.isControlledBy(this.getControllerId())) { if (permanent.hasSubtype(SubType.MOUNTAIN, game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/v/ValeronWardens.java b/Mage.Sets/src/mage/cards/v/ValeronWardens.java index 905fbed1c20..e2d71a168f1 100644 --- a/Mage.Sets/src/mage/cards/v/ValeronWardens.java +++ b/Mage.Sets/src/mage/cards/v/ValeronWardens.java @@ -69,7 +69,7 @@ class ValeronWardensTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - return permanent != null && permanent.getControllerId().equals(getControllerId()); + return permanent != null && permanent.isControlledBy(getControllerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java index b57f1eed130..c29c57a9a21 100644 --- a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java +++ b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java @@ -120,7 +120,7 @@ class CastFromNonHandZoneTargetEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { if (getTargetPointer().getTargets(game, source).contains(objectId) - && source.getControllerId().equals(affectedControllerId)) { + && source.isControlledBy(affectedControllerId)) { Card card = game.getCard(objectId); if (card != null) { return true; diff --git a/Mage.Sets/src/mage/cards/v/VanquishersBanner.java b/Mage.Sets/src/mage/cards/v/VanquishersBanner.java index 327fef11cf4..87a0cc004f9 100644 --- a/Mage.Sets/src/mage/cards/v/VanquishersBanner.java +++ b/Mage.Sets/src/mage/cards/v/VanquishersBanner.java @@ -87,7 +87,7 @@ class DrawCardIfCreatureTypeAbility extends TriggeredAbilityImpl { if (spell != null && spell.isCreature() && spell.hasSubtype(subType, game) - && spell.getControllerId().equals(getControllerId())) { + && spell.isControlledBy(getControllerId())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/v/VeilstoneAmulet.java b/Mage.Sets/src/mage/cards/v/VeilstoneAmulet.java index 9d8b3643944..b08a759db3c 100644 --- a/Mage.Sets/src/mage/cards/v/VeilstoneAmulet.java +++ b/Mage.Sets/src/mage/cards/v/VeilstoneAmulet.java @@ -72,7 +72,7 @@ class VeilstoneAmuletEffect extends ContinuousRuleModifyingEffectImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { if (permanent.isCreature() && - permanent.getControllerId().equals(ability.getControllerId()) && + permanent.isControlledBy(ability.getControllerId()) && game.getPlayer(ability.getControllerId()).hasOpponent(event.getPlayerId(), game)) { return true; } diff --git a/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java b/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java index a1e545299ff..25d66d6245b 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java +++ b/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java @@ -109,7 +109,7 @@ class VengefulPharaohTriggeredAbility extends TriggeredAbilityImpl { } if (event.getType() == EventType.DAMAGED_PLANESWALKER && ((DamagedEvent) event).isCombatDamage()) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(this.getControllerId())) { + if (permanent != null && permanent.isControlledBy(this.getControllerId())) { if (!game.getPhase().getStep().equals(stepTriggeredPlansewalker) || game.getTurnNum() != turnTriggeredPlaneswalker) { stepTriggeredPlansewalker = game.getPhase().getStep(); turnTriggeredPlaneswalker = game.getTurnNum(); diff --git a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java index 65c86cf7d69..130a1948602 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java @@ -66,7 +66,7 @@ class VerdantSunsAvatarTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { Effect effect = this.getEffects().get(0); // Life is determined during resolution so it has to be retrieved there (e.g. Giant Growth before resolution) effect.setValue("lifeSource", event.getTargetId()); diff --git a/Mage.Sets/src/mage/cards/v/VigilForTheLost.java b/Mage.Sets/src/mage/cards/v/VigilForTheLost.java index 463316ebc78..b5de68f55e5 100644 --- a/Mage.Sets/src/mage/cards/v/VigilForTheLost.java +++ b/Mage.Sets/src/mage/cards/v/VigilForTheLost.java @@ -66,7 +66,7 @@ class VigilForTheLostTriggeredAbility extends TriggeredAbilityImpl { if (((ZoneChangeEvent)event).getToZone() == Zone.GRAVEYARD && ((ZoneChangeEvent)event).getFromZone() == Zone.BATTLEFIELD) { Permanent p = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (p.getControllerId().equals(this.getControllerId()) && p.isCreature()) { + if (p.isControlledBy(this.getControllerId()) && p.isCreature()) { return true; } } diff --git a/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java b/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java index 9eb1d5063c2..2823ffa75b1 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java @@ -76,7 +76,7 @@ class VizierOfRemediesReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (source != null && source.getControllerId() != null) { - if (source.getControllerId().equals(game.getControllerId(event.getTargetId())) + if (source.isControlledBy(game.getControllerId(event.getTargetId())) && event.getData() != null && event.getData().equals(CounterType.M1M1.getName()) && event.getAmount() > 0) { return true; diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java b/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java index f55d382826a..cfca3c4884a 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java @@ -160,7 +160,7 @@ class VizierOfTheMenagerieManaEffect extends AsThoughEffectImpl implements AsTho @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (source.getControllerId().equals(affectedControllerId)) { + if (source.isControlledBy(affectedControllerId)) { MageObject mageObject = game.getObject(objectId); return mageObject != null && mageObject.isCreature(); diff --git a/Mage.Sets/src/mage/cards/w/WakeThrasher.java b/Mage.Sets/src/mage/cards/w/WakeThrasher.java index c801aba05de..cea61f17380 100644 --- a/Mage.Sets/src/mage/cards/w/WakeThrasher.java +++ b/Mage.Sets/src/mage/cards/w/WakeThrasher.java @@ -67,7 +67,7 @@ class BecomesUntappedControlledPermanentTriggeredAbility extends TriggeredAbilit @Override public boolean checkTrigger(GameEvent event, Game game) { - return game.getPermanent(event.getTargetId()).getControllerId().equals(this.controllerId); + return game.getPermanent(event.getTargetId()).isControlledBy(this.controllerId); } @Override diff --git a/Mage.Sets/src/mage/cards/w/Warbringer.java b/Mage.Sets/src/mage/cards/w/Warbringer.java index bf29775672e..4d40a5f31ed 100644 --- a/Mage.Sets/src/mage/cards/w/Warbringer.java +++ b/Mage.Sets/src/mage/cards/w/Warbringer.java @@ -71,7 +71,7 @@ class WarbringerSpellsCostReductionEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return DashedCondition.instance.apply(game, abilityToModify); diff --git a/Mage.Sets/src/mage/cards/w/WarstormSurge.java b/Mage.Sets/src/mage/cards/w/WarstormSurge.java index 0849d7e543b..71475721b2d 100644 --- a/Mage.Sets/src/mage/cards/w/WarstormSurge.java +++ b/Mage.Sets/src/mage/cards/w/WarstormSurge.java @@ -62,7 +62,7 @@ class WarstormSurgeTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.isCreature() - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { Effect effect = this.getEffects().get(0); effect.setValue("damageSource", event.getTargetId()); return true; diff --git a/Mage.Sets/src/mage/cards/w/WebOfInertia.java b/Mage.Sets/src/mage/cards/w/WebOfInertia.java index 8d099bd7cdf..6739e5cf828 100644 --- a/Mage.Sets/src/mage/cards/w/WebOfInertia.java +++ b/Mage.Sets/src/mage/cards/w/WebOfInertia.java @@ -105,7 +105,7 @@ class WebOfInertiaRestrictionEffect extends RestrictionEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getControllerId().equals(attackerID); + return permanent.isControlledBy(attackerID); } @Override diff --git a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java index a4dc0e26eb4..207fd6e1288 100644 --- a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java +++ b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java @@ -83,7 +83,7 @@ class WharfInfiltratorDiscardAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { Card card = game.getCard(event.getTargetId()); - if (getControllerId().equals(event.getPlayerId()) && card != null && card.isCreature()) { + if (isControlledBy(event.getPlayerId()) && card != null && card.isCreature()) { return true; } return false; diff --git a/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java b/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java index 662038c9b84..af23559ad45 100644 --- a/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java +++ b/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java @@ -85,7 +85,7 @@ class WheelOfSunAndMoonEffect extends ReplacementEffectImpl { if (card != null) { Permanent enchantment = game.getPermanent(source.getSourceId()); if (enchantment != null && enchantment.getAttachedTo() != null - && card.getOwnerId().equals(enchantment.getAttachedTo())) { + && card.isOwnedBy(enchantment.getAttachedTo())) { return true; } } diff --git a/Mage.Sets/src/mage/cards/w/WildDefiance.java b/Mage.Sets/src/mage/cards/w/WildDefiance.java index fa2787c9955..6d2fd536150 100644 --- a/Mage.Sets/src/mage/cards/w/WildDefiance.java +++ b/Mage.Sets/src/mage/cards/w/WildDefiance.java @@ -63,7 +63,7 @@ class CreaturesYouControlBecomesTargetTriggeredAbility extends TriggeredAbilityI @Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(this.controllerId) && permanent.isCreature()) { + if (permanent != null && permanent.isControlledBy(this.controllerId) && permanent.isCreature()) { MageObject object = game.getObject(event.getSourceId()); if (object != null && object instanceof Spell) { Card c = (Spell) object; diff --git a/Mage.Sets/src/mage/cards/w/Willbreaker.java b/Mage.Sets/src/mage/cards/w/Willbreaker.java index 32c6e2669c0..0c1faff0ba3 100644 --- a/Mage.Sets/src/mage/cards/w/Willbreaker.java +++ b/Mage.Sets/src/mage/cards/w/Willbreaker.java @@ -67,7 +67,7 @@ class WillbreakerTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (getControllerId().equals(event.getPlayerId())) { + if (isControlledBy(event.getPlayerId())) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature()) { Player controller = game.getPlayer(getControllerId()); diff --git a/Mage.Sets/src/mage/cards/w/WillingTestSubject.java b/Mage.Sets/src/mage/cards/w/WillingTestSubject.java index e68c4c3eb03..5b48449d828 100644 --- a/Mage.Sets/src/mage/cards/w/WillingTestSubject.java +++ b/Mage.Sets/src/mage/cards/w/WillingTestSubject.java @@ -79,7 +79,7 @@ class WillingTestSubjectTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (this.getControllerId().equals(event.getPlayerId()) && event.getFlag()) { + if (this.isControlledBy(event.getPlayerId()) && event.getFlag()) { if (event.getAmount() >= 4) { return true; } diff --git a/Mage.Sets/src/mage/cards/w/WindingConstrictor.java b/Mage.Sets/src/mage/cards/w/WindingConstrictor.java index 0d780cdf00a..3d113229f5e 100644 --- a/Mage.Sets/src/mage/cards/w/WindingConstrictor.java +++ b/Mage.Sets/src/mage/cards/w/WindingConstrictor.java @@ -79,7 +79,7 @@ class WindingConstrictorPermanentEffect extends ReplacementEffectImpl { } return permanent != null && (permanent.isCreature() || permanent.isArtifact()) - && permanent.getControllerId().equals(source.getControllerId()); + && permanent.isControlledBy(source.getControllerId()); } @Override diff --git a/Mage.Sets/src/mage/cards/w/WordOfUndoing.java b/Mage.Sets/src/mage/cards/w/WordOfUndoing.java index a249db86de7..af5518c6ff0 100644 --- a/Mage.Sets/src/mage/cards/w/WordOfUndoing.java +++ b/Mage.Sets/src/mage/cards/w/WordOfUndoing.java @@ -67,7 +67,7 @@ class WordOfUndoingReturnToHandEffect extends OneShotEffect { if (target != null) { for (UUID attachmentId : target.getAttachments()) { Permanent attachment = game.getPermanent(attachmentId); - if (attachment != null && attachment.getControllerId().equals(source.getControllerId()) + if (attachment != null && attachment.isControlledBy(source.getControllerId()) && attachment.hasSubtype(SubType.AURA, game) && attachment.getColor(game).isWhite()) { attachments.add(attachment); } diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWar.java b/Mage.Sets/src/mage/cards/w/WordsOfWar.java index 86cd074ca96..927d2d5b3e5 100644 --- a/Mage.Sets/src/mage/cards/w/WordsOfWar.java +++ b/Mage.Sets/src/mage/cards/w/WordsOfWar.java @@ -95,7 +95,7 @@ class WordsOfWarEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (!this.used) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWaste.java b/Mage.Sets/src/mage/cards/w/WordsOfWaste.java index dbbe02e3d49..3db705865eb 100644 --- a/Mage.Sets/src/mage/cards/w/WordsOfWaste.java +++ b/Mage.Sets/src/mage/cards/w/WordsOfWaste.java @@ -75,6 +75,6 @@ class WordsOfWasteEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWilding.java b/Mage.Sets/src/mage/cards/w/WordsOfWilding.java index 4363863c312..ffe65dcdb54 100644 --- a/Mage.Sets/src/mage/cards/w/WordsOfWilding.java +++ b/Mage.Sets/src/mage/cards/w/WordsOfWilding.java @@ -75,6 +75,6 @@ class WordsOfWildingEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } } diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWind.java b/Mage.Sets/src/mage/cards/w/WordsOfWind.java index 13f7ad58513..da3860a0893 100644 --- a/Mage.Sets/src/mage/cards/w/WordsOfWind.java +++ b/Mage.Sets/src/mage/cards/w/WordsOfWind.java @@ -95,7 +95,7 @@ class WordsOfWindEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (!this.used) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/w/WordsOfWorship.java b/Mage.Sets/src/mage/cards/w/WordsOfWorship.java index 7e2716d8efa..907167a2657 100644 --- a/Mage.Sets/src/mage/cards/w/WordsOfWorship.java +++ b/Mage.Sets/src/mage/cards/w/WordsOfWorship.java @@ -81,7 +81,7 @@ class WordsOfWorshipEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { if (!this.used) { - return source.getControllerId().equals(event.getPlayerId()); + return source.isControlledBy(event.getPlayerId()); } return false; } diff --git a/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java b/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java index 3e0d059b641..12af950b7b8 100644 --- a/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java +++ b/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java @@ -80,7 +80,7 @@ public final class WorldheartPhoenix extends CardImpl { @Override public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - if (sourceId.equals(source.getSourceId()) && source.getControllerId().equals(affectedControllerId)) { + if (sourceId.equals(source.getSourceId()) && source.isControlledBy(affectedControllerId)) { if (game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) { Player player = game.getPlayer(affectedControllerId); if (player != null) { diff --git a/Mage.Sets/src/mage/cards/w/Worship.java b/Mage.Sets/src/mage/cards/w/Worship.java index 53220fb1e14..3290eea0cfe 100644 --- a/Mage.Sets/src/mage/cards/w/Worship.java +++ b/Mage.Sets/src/mage/cards/w/Worship.java @@ -58,7 +58,7 @@ class WorshipReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (source.getControllerId().equals(event.getPlayerId())) { + if (source.isControlledBy(event.getPlayerId())) { Player controller = game.getPlayer(source.getControllerId()); if (controller != null && (controller.getLife() - event.getAmount()) < 1 diff --git a/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java b/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java index bc160dda183..6fae1461700 100644 --- a/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java +++ b/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java @@ -81,7 +81,7 @@ class WortGainConspireEffect extends ContinuousEffectImpl { public boolean apply(Game game, Ability source) { for (StackObject stackObject : game.getStack()) { // only spells cast, so no copies of spells - if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.getControllerId().equals(source.getControllerId())) { + if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; if (filter.match(stackObject, game)) { game.getState().addOtherAbility(spell.getCard(), conspireAbility); diff --git a/Mage.Sets/src/mage/cards/y/YawgmothsAgenda.java b/Mage.Sets/src/mage/cards/y/YawgmothsAgenda.java index b03f24343fb..fbf46de1dab 100644 --- a/Mage.Sets/src/mage/cards/y/YawgmothsAgenda.java +++ b/Mage.Sets/src/mage/cards/y/YawgmothsAgenda.java @@ -135,7 +135,7 @@ class YawgmothsAgendaReplacementEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(source.getControllerId())) { + if (card != null && card.isOwnedBy(source.getControllerId())) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); if (permanent == null || !(permanent instanceof PermanentToken)) { return true; diff --git a/Mage.Sets/src/mage/cards/y/YawgmothsWill.java b/Mage.Sets/src/mage/cards/y/YawgmothsWill.java index ada8e06646c..8690dbd141a 100644 --- a/Mage.Sets/src/mage/cards/y/YawgmothsWill.java +++ b/Mage.Sets/src/mage/cards/y/YawgmothsWill.java @@ -125,7 +125,7 @@ class YawgmothsWillReplacementEffect extends ReplacementEffectImpl { public boolean applies(GameEvent event, Ability source, Game game) { if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD) { Card card = game.getCard(event.getTargetId()); - if (card != null && card.getOwnerId().equals(source.getControllerId())) { + if (card != null && card.isOwnedBy(source.getControllerId())) { Permanent permanent = ((ZoneChangeEvent) event).getTarget(); if (permanent == null || !(permanent instanceof PermanentToken)) { return true; diff --git a/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java b/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java index 2d2ccb801c2..2f73bc50243 100644 --- a/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java +++ b/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java @@ -71,7 +71,7 @@ class YidrisMaelstromWielderGainCascadeEffect extends ContinuousEffectImpl { if (controller != null) { for (StackObject stackObject : game.getStack()) { // only spells cast, so no copies of spells - if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.getControllerId().equals(source.getControllerId())) { + if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; if (spell.getFromZone() == Zone.HAND) { game.getState().addOtherAbility(spell.getCard(), cascadeAbility); diff --git a/Mage.Sets/src/mage/cards/z/ZadaHedronGrinder.java b/Mage.Sets/src/mage/cards/z/ZadaHedronGrinder.java index 8c7f524cf91..7b76cdcb2f4 100644 --- a/Mage.Sets/src/mage/cards/z/ZadaHedronGrinder.java +++ b/Mage.Sets/src/mage/cards/z/ZadaHedronGrinder.java @@ -100,7 +100,7 @@ class ZadaHedronGrinderTriggeredAbility extends TriggeredAbilityImpl { private boolean isControlledInstantOrSorcery(Spell spell) { return spell != null - && (spell.getControllerId().equals(this.getControllerId())) + && (spell.isControlledBy(this.getControllerId())) && (spell.isInstant() || spell.isSorcery()); } diff --git a/Mage.Sets/src/mage/cards/z/ZameckGuildmage.java b/Mage.Sets/src/mage/cards/z/ZameckGuildmage.java index 4706cd7ccb6..4c785c41979 100644 --- a/Mage.Sets/src/mage/cards/z/ZameckGuildmage.java +++ b/Mage.Sets/src/mage/cards/z/ZameckGuildmage.java @@ -69,7 +69,7 @@ class ZameckGuildmageEntersBattlefieldEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); - return permanent != null && permanent.getControllerId().equals(source.getControllerId()) && permanent.isCreature(); + return permanent != null && permanent.isControlledBy(source.getControllerId()) && permanent.isCreature(); } @Override diff --git a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java index e39ab59a368..bf2a95d8702 100644 --- a/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java +++ b/Mage.Tests/src/test/java/org/mage/test/serverside/base/impl/CardTestPlayerAPIImpl.java @@ -985,7 +985,7 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement int actualCount = 0; for (ExileZone exile : currentGame.getExile().getExileZones()) { for (Card card : exile.getCards(currentGame)) { - if (card.getOwnerId().equals(owner.getId())) { + if (card.isOwnedBy(owner.getId())) { actualCount++; } } @@ -1005,7 +1005,7 @@ public abstract class CardTestPlayerAPIImpl extends MageTestPlayerBase implement int actualCount = 0; for (ExileZone exile : currentGame.getExile().getExileZones()) { for (Card card : exile.getCards(currentGame)) { - if (card.getOwnerId().equals(owner.getId()) && card.getName().equals(cardName)) { + if (card.isOwnedBy(owner.getId()) && card.getName().equals(cardName)) { actualCount++; } } diff --git a/Mage/src/main/java/mage/abilities/ActivatedAbilityImpl.java b/Mage/src/main/java/mage/abilities/ActivatedAbilityImpl.java index aaf3ece4068..6b48461d8f7 100644 --- a/Mage/src/main/java/mage/abilities/ActivatedAbilityImpl.java +++ b/Mage/src/main/java/mage/abilities/ActivatedAbilityImpl.java @@ -178,7 +178,7 @@ public abstract class ActivatedAbilityImpl extends AbilityImpl implements Activa break; case OWNER: Permanent permanent = game.getPermanent(getSourceId()); - if (!permanent.getOwnerId().equals(playerId)) { + if (!permanent.isOwnedBy(playerId)) { return ActivationStatus.getFalse(); } break; @@ -191,7 +191,7 @@ public abstract class ActivatedAbilityImpl extends AbilityImpl implements Activa Permanent enchantment = game.getPermanent(getSourceId()); if (enchantment != null && enchantment.getAttachedTo() != null) { Permanent enchanted = game.getPermanent(enchantment.getAttachedTo()); - if (enchanted != null && enchanted.getControllerId().equals(playerId)) { + if (enchanted != null && enchanted.isControlledBy(playerId)) { break; } } @@ -223,7 +223,7 @@ public abstract class ActivatedAbilityImpl extends AbilityImpl implements Activa } else if (mageObject instanceof Plane) { return ((Plane) mageObject).getControllerId().equals(playerId); } else if (game.getState().getZone(this.sourceId) != Zone.BATTLEFIELD) { - return ((Card) mageObject).getOwnerId().equals(playerId); + return ((Card) mageObject).isOwnedBy(playerId); } } return false; diff --git a/Mage/src/main/java/mage/abilities/SpecialActions.java b/Mage/src/main/java/mage/abilities/SpecialActions.java index 716acff4d18..ed2da19d372 100644 --- a/Mage/src/main/java/mage/abilities/SpecialActions.java +++ b/Mage/src/main/java/mage/abilities/SpecialActions.java @@ -27,7 +27,7 @@ public class SpecialActions extends AbilitiesImpl { public LinkedHashMap getControlledBy(UUID controllerId, boolean manaAction) { LinkedHashMap controlledBy = new LinkedHashMap<>(); for (SpecialAction action: this) { - if (action.getControllerId().equals(controllerId) && action.isManaAction() == manaAction) { + if (action.isControlledBy(controllerId) && action.isManaAction() == manaAction) { controlledBy.put(action.id, action); } } diff --git a/Mage/src/main/java/mage/abilities/SpellAbility.java b/Mage/src/main/java/mage/abilities/SpellAbility.java index d6e29580d61..04e9d0cbc77 100644 --- a/Mage/src/main/java/mage/abilities/SpellAbility.java +++ b/Mage/src/main/java/mage/abilities/SpellAbility.java @@ -76,7 +76,7 @@ public class SpellAbility extends ActivatedAbilityImpl { MageObjectReference permittingSource = game.getContinuousEffects().asThough(getSourceId(), AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, null, playerId, game); if (permittingSource == null) { Card card = game.getCard(sourceId); - if (!(card != null && card.getOwnerId().equals(playerId))) { + if (!(card != null && card.isOwnedBy(playerId))) { return ActivationStatus.getFalse(); } } diff --git a/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java index 7ef05216fdc..85716ef8017 100644 --- a/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/AllyEntersBattlefieldTriggeredAbility.java @@ -31,7 +31,7 @@ public class AllyEntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl @Override public boolean checkTrigger(GameEvent event, Game game) { EntersTheBattlefieldEvent ebe = (EntersTheBattlefieldEvent) event; - return ebe.getTarget().getControllerId().equals(this.controllerId) + return ebe.getTarget().isControlledBy(this.controllerId) && (event.getTargetId().equals(this.getSourceId()) || (ebe.getTarget().hasSubtype(SubType.ALLY, game) && !event.getTargetId().equals(this.getSourceId()))); } diff --git a/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java index d0272977943..89c0741a67b 100644 --- a/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/AttackedByCreatureTriggeredAbility.java @@ -60,7 +60,7 @@ public class AttackedByCreatureTriggeredAbility extends TriggeredAbilityImpl { UUID defendingPlayer = game.getCombat().getDefendingPlayerId(event.getSourceId(), game); Permanent attackingCreature = game.getPermanent(event.getSourceId()); if (filter.match(attackingCreature, game) - && getControllerId().equals(defendingPlayer) + && isControlledBy(defendingPlayer) && attackingCreature != null) { switch (setTargetPointer) { case PERMANENT: diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java index 14e601238f3..3b47bc1c16f 100644 --- a/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/AttacksAllTriggeredAbility.java @@ -67,7 +67,7 @@ public class AttacksAllTriggeredAbility extends TriggeredAbilityImpl { check = true; } else { Permanent planeswalker = game.getPermanent(event.getTargetId()); - if (planeswalker != null && planeswalker.isPlaneswalker() && planeswalker.getControllerId().equals(getControllerId())) { + if (planeswalker != null && planeswalker.isPlaneswalker() && planeswalker.isControlledBy(getControllerId())) { check = true; } } diff --git a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java index 41ddae73ad1..70eeed7514e 100644 --- a/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/BecomesMonstrousTriggeredAbility.java @@ -41,7 +41,7 @@ public class BecomesMonstrousTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature() - && (permanent.getControllerId().equals(getControllerId()))) { + && (permanent.isControlledBy(getControllerId()))) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java index 04c2da9409f..bb91497e55a 100644 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java @@ -77,7 +77,7 @@ public class BeginningOfDrawTriggeredAbility extends TriggeredAbilityImpl { Permanent attachment = game.getPermanent(sourceId); if (attachment != null && attachment.getAttachedTo() != null) { Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.getControllerId().equals(event.getPlayerId())) { + if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { if (getTargets().isEmpty()) { this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); } diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java index 9b725a36538..abbebcf05e3 100644 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/BeginningOfEndStepTriggeredAbility.java @@ -79,7 +79,7 @@ public class BeginningOfEndStepTriggeredAbility extends TriggeredAbilityImpl { Permanent attachment = game.getPermanent(sourceId); if (attachment != null && attachment.getAttachedTo() != null) { Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.getControllerId().equals(event.getPlayerId())) { + if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { if (getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java index ee91ec32cb4..49d7c0a70e3 100644 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java @@ -91,7 +91,7 @@ public class BeginningOfUpkeepTriggeredAbility extends TriggeredAbilityImpl { Permanent attachment = game.getPermanent(sourceId); if (attachment != null && attachment.getAttachedTo() != null) { Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.getControllerId().equals(event.getPlayerId())) { + if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { if (setTargetPointer && getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); diff --git a/Mage/src/main/java/mage/abilities/common/ControlledCreaturesDealCombatDamagePlayerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ControlledCreaturesDealCombatDamagePlayerTriggeredAbility.java index e16db409c8e..71c0d50bde7 100644 --- a/Mage/src/main/java/mage/abilities/common/ControlledCreaturesDealCombatDamagePlayerTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/ControlledCreaturesDealCombatDamagePlayerTriggeredAbility.java @@ -55,7 +55,7 @@ public class ControlledCreaturesDealCombatDamagePlayerTriggeredAbility extends T if (event.getType() == EventType.DAMAGED_PLAYER) { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; Permanent p = game.getPermanent(event.getSourceId()); - if (damageEvent.isCombatDamage() && p != null && p.getControllerId().equals(this.getControllerId())) { + if (damageEvent.isCombatDamage() && p != null && p.isControlledBy(this.getControllerId())) { madeDamage = true; damagedPlayerIds.add(event.getPlayerId()); } diff --git a/Mage/src/main/java/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java index 19ee35058a9..ba3e9555d74 100644 --- a/Mage/src/main/java/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/CreatureEntersBattlefieldTriggeredAbility.java @@ -94,7 +94,7 @@ public class CreatureEntersBattlefieldTriggeredAbility extends TriggeredAbilityI public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); if (filter.match(permanent, sourceId, controllerId, game) - && (permanent.getControllerId().equals(this.controllerId) ^ opponentController)) { + && (permanent.isControlledBy(this.controllerId) ^ opponentController)) { if (!this.getTargets().isEmpty()) { Target target = this.getTargets().get(0); if (target instanceof TargetPlayer) { diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java index d3ff537c9bb..9fdf532e9f7 100644 --- a/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToAPlayerAttachedTriggeredAbility.java @@ -67,7 +67,7 @@ public class DealsDamageToAPlayerAttachedTriggeredAbility extends TriggeredAbili } } if (targetController == TargetController.YOU) { - if (!this.getControllerId().equals(event.getPlayerId())) { + if (!this.isControlledBy(event.getPlayerId())) { return false; } } diff --git a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldControlledTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldControlledTriggeredAbility.java index 1b5434c9501..0d273a2c80e 100644 --- a/Mage/src/main/java/mage/abilities/common/EntersBattlefieldControlledTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/EntersBattlefieldControlledTriggeredAbility.java @@ -53,7 +53,7 @@ public class EntersBattlefieldControlledTriggeredAbility extends EntersBattlefie public boolean checkTrigger(GameEvent event, Game game) { if (super.checkTrigger(event, game)) { Permanent permanent = game.getPermanent(event.getTargetId()); - return permanent != null && permanent.getControllerId().equals(this.getControllerId()); + return permanent != null && permanent.isControlledBy(this.getControllerId()); } return false; } diff --git a/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java index ff91f35fb00..8598ec694ea 100644 --- a/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/ExertCreatureControllerTriggeredAbility.java @@ -27,7 +27,7 @@ public class ExertCreatureControllerTriggeredAbility extends TriggeredAbilityImp @Override public boolean checkTrigger(GameEvent event, Game game) { - boolean weAreExerting = getControllerId().equals(event.getPlayerId()); + boolean weAreExerting = isControlledBy(event.getPlayerId()); Permanent exerted = game.getPermanent(event.getTargetId()); boolean exertedIsCreature = (exerted != null) && exerted.isCreature(); return weAreExerting && exertedIsCreature; diff --git a/Mage/src/main/java/mage/abilities/common/LandfallAbility.java b/Mage/src/main/java/mage/abilities/common/LandfallAbility.java index e31252feb01..3718685a67a 100644 --- a/Mage/src/main/java/mage/abilities/common/LandfallAbility.java +++ b/Mage/src/main/java/mage/abilities/common/LandfallAbility.java @@ -48,7 +48,7 @@ public class LandfallAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isLand() - && permanent.getControllerId().equals(this.controllerId)) { + && permanent.isControlledBy(this.controllerId)) { triggeringLand = permanent; if (setTargetPointer == SetTargetPointer.PERMANENT) { for (Effect effect : getAllEffects()) { diff --git a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java index a67372514e4..df73e1f2efa 100644 --- a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldAllTriggeredAbility.java @@ -51,7 +51,7 @@ public class PutIntoGraveFromBattlefieldAllTriggeredAbility extends TriggeredAbi if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { if (filter.match(zEvent.getTarget(), this.getSourceId(), this.getControllerId(), game)) { - if (onlyToControllerGraveyard && !this.getControllerId().equals(game.getOwnerId(zEvent.getTargetId()))) { + if (onlyToControllerGraveyard && !this.isControlledBy(game.getOwnerId(zEvent.getTargetId()))) { return false; } if (setTargetPointer) { diff --git a/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java index ffa9768a1df..a0d3c0f0e84 100644 --- a/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/SpellCounteredControllerTriggeredAbility.java @@ -48,7 +48,7 @@ public class SpellCounteredControllerTriggeredAbility extends TriggeredAbilityIm if (stackObjectThatCountered == null) { stackObjectThatCountered = (StackObject) game.getLastKnownInformation(event.getSourceId(), Zone.STACK); } - if (stackObjectThatCountered != null && stackObjectThatCountered.getControllerId().equals(getControllerId())) { + if (stackObjectThatCountered != null && stackObjectThatCountered.isControlledBy(getControllerId())) { StackObject counteredStackObject = (StackObject) game.getLastKnownInformation(event.getTargetId(), Zone.STACK); return counteredStackObject != null && (counteredStackObject instanceof Spell); } diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java index 310986bb28b..23b8331c9ce 100644 --- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfMainPhaseDelayedTriggeredAbility.java @@ -78,7 +78,7 @@ public class AtTheBeginOfMainPhaseDelayedTriggeredAbility extends DelayedTrigger Permanent attachment = game.getPermanent(sourceId); if (attachment != null && attachment.getAttachedTo() != null) { Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.getControllerId().equals(event.getPlayerId())) { + if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java index 81b502a4052..0fff4ee32ad 100644 --- a/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/delayed/AtTheBeginOfNextEndStepDelayedTriggeredAbility.java @@ -69,7 +69,7 @@ public class AtTheBeginOfNextEndStepDelayedTriggeredAbility extends DelayedTrigg Permanent attachment = game.getPermanent(sourceId); if (attachment != null && attachment.getAttachedTo() != null) { Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.getControllerId().equals(event.getPlayerId())) { + if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { correctEndPhase = true; } } diff --git a/Mage/src/main/java/mage/abilities/condition/common/CommanderInPlayCondition.java b/Mage/src/main/java/mage/abilities/condition/common/CommanderInPlayCondition.java index ffe21e2839b..ac0d85ce0e3 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/CommanderInPlayCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/CommanderInPlayCondition.java @@ -24,7 +24,7 @@ public enum CommanderInPlayCondition implements Condition { if (controller != null) { for (UUID commanderId : controller.getCommandersIds()) { Permanent commander = game.getPermanent(commanderId); - if (commander != null && commander.getControllerId().equals(source.getControllerId())) { + if (commander != null && commander.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/condition/common/ControllerAttackedThisTurnCondition.java b/Mage/src/main/java/mage/abilities/condition/common/ControllerAttackedThisTurnCondition.java index d609bb85d6c..b327e6e2141 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/ControllerAttackedThisTurnCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/ControllerAttackedThisTurnCondition.java @@ -16,6 +16,6 @@ public enum ControllerAttackedThisTurnCondition implements Condition { @Override public boolean apply(Game game, Ability source) { AttackedThisTurnWatcher watcher = (AttackedThisTurnWatcher) game.getState().getWatchers().get(AttackedThisTurnWatcher.class.getSimpleName()); - return source.getControllerId().equals(game.getActivePlayerId()) && watcher != null && !watcher.getAttackedThisTurnCreatures().isEmpty(); + return source.isControlledBy(game.getActivePlayerId()) && watcher != null && !watcher.getAttackedThisTurnCreatures().isEmpty(); } } diff --git a/Mage/src/main/java/mage/abilities/condition/common/MeldCondition.java b/Mage/src/main/java/mage/abilities/condition/common/MeldCondition.java index 30905d724ea..4b95507e5a6 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/MeldCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/MeldCondition.java @@ -27,8 +27,8 @@ public class MeldCondition implements Condition { MageObject sourceMageObject = source.getSourceObjectIfItStillExists(game); if (sourceMageObject != null && sourceMageObject instanceof Permanent) { Permanent sourcePermanent = (Permanent) sourceMageObject; - if (sourcePermanent.getControllerId().equals(source.getControllerId()) - && sourcePermanent.getOwnerId().equals(source.getControllerId())) { + if (sourcePermanent.isControlledBy(source.getControllerId()) + && sourcePermanent.isOwnedBy(source.getControllerId())) { FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent(); filter.add(new NamePredicate(this.meldWithName)); filter.add(new OwnerIdPredicate(source.getControllerId())); diff --git a/Mage/src/main/java/mage/abilities/condition/common/MonarchIsSourceControllerCondition.java b/Mage/src/main/java/mage/abilities/condition/common/MonarchIsSourceControllerCondition.java index 2576e5c9ba9..deffa175d8e 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/MonarchIsSourceControllerCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/MonarchIsSourceControllerCondition.java @@ -15,7 +15,7 @@ public enum MonarchIsSourceControllerCondition implements Condition { @Override public boolean apply(Game game, Ability source) { - return source.getControllerId().equals(game.getMonarchId()); + return source.isControlledBy(game.getMonarchId()); } @Override diff --git a/Mage/src/main/java/mage/abilities/dynamicvalue/common/PermanentsYouOwnThatOpponentsControlCount.java b/Mage/src/main/java/mage/abilities/dynamicvalue/common/PermanentsYouOwnThatOpponentsControlCount.java index 69a7ce93153..66c49c96185 100644 --- a/Mage/src/main/java/mage/abilities/dynamicvalue/common/PermanentsYouOwnThatOpponentsControlCount.java +++ b/Mage/src/main/java/mage/abilities/dynamicvalue/common/PermanentsYouOwnThatOpponentsControlCount.java @@ -17,7 +17,7 @@ public class PermanentsYouOwnThatOpponentsControlCount implements DynamicValue { int count = 0; for (Permanent permanent : game.getBattlefield().getActivePermanents(sourceAbility.getControllerId(), game)) { - if (!permanent.getOwnerId().equals(permanent.getControllerId()) && permanent.getOwnerId().equals(sourceAbility.getControllerId())) { + if (!permanent.isOwnedBy(permanent.getControllerId()) && permanent.isOwnedBy(sourceAbility.getControllerId())) { if (opponentIds.contains(permanent.getControllerId())) { count++; } diff --git a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java index c0427d341ed..374c7e3db3d 100644 --- a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java @@ -465,7 +465,7 @@ public class ContinuousEffects implements Serializable { for (SpliceCardEffect effect : spliceCardEffects) { Set abilities = spliceCardEffects.getAbility(effect.getId()); for (Ability ability : abilities) { - if (ability.getControllerId().equals(playerId) && (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, null))) { + if (ability.isControlledBy(playerId) && (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, null))) { if (effect.getDuration() != Duration.OneUse || !effect.isUsed()) { spliceEffects.add(effect); break; diff --git a/Mage/src/main/java/mage/abilities/effects/GainAbilitySpellsEffect.java b/Mage/src/main/java/mage/abilities/effects/GainAbilitySpellsEffect.java index 6804ff9b867..11545d7d271 100644 --- a/Mage/src/main/java/mage/abilities/effects/GainAbilitySpellsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/GainAbilitySpellsEffect.java @@ -41,7 +41,7 @@ public class GainAbilitySpellsEffect extends ContinuousEffectImpl { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { for (Card card : game.getExile().getAllCards(game)) { - if (card.getOwnerId().equals(source.getControllerId()) && filter.match(card, game)) { + if (card.isOwnedBy(source.getControllerId()) && filter.match(card, game)) { game.getState().addOtherAbility(card, ability); } } @@ -61,7 +61,7 @@ public class GainAbilitySpellsEffect extends ContinuousEffectImpl { } } for (StackObject stackObject : game.getStack()) { - if (stackObject.getControllerId().equals(source.getControllerId())) { + if (stackObject.isControlledBy(source.getControllerId())) { Card card = game.getCard(stackObject.getSourceId()); if (card != null && filter.match(card, game)) { if (!card.getAbilities().contains(ability)) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/CantBeCounteredControlledEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CantBeCounteredControlledEffect.java index 820431e0f1e..78aafb7885c 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CantBeCounteredControlledEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CantBeCounteredControlledEffect.java @@ -61,7 +61,7 @@ public class CantBeCounteredControlledEffect extends ContinuousRuleModifyingEffe @Override public boolean applies(GameEvent event, Ability source, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); - if (spell != null && spell.getControllerId().equals(source.getControllerId()) + if (spell != null && spell.isControlledBy(source.getControllerId()) && filterTarget.match(spell, source.getSourceId(), source.getControllerId(), game)) { if (filterSource == null) { return true; diff --git a/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java b/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java index 3ccefeef6bd..12654a1b432 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CreatureExploresTriggeredAbility.java @@ -26,7 +26,7 @@ public class CreatureExploresTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { Permanent creature = game.getPermanentOrLKIBattlefield(event.getTargetId()); if (creature != null) { - return creature.getControllerId().equals(getControllerId()); + return creature.isControlledBy(getControllerId()); } return false; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepAllEffect.java index e95c011f0c6..f7d139f97c5 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepAllEffect.java @@ -61,7 +61,7 @@ public class DontUntapInControllersUntapStepAllEffect extends ContinuousRuleModi if (permanent != null) { switch(targetController) { case YOU: - if (!permanent.getControllerId().equals(source.getControllerId())) { + if (!permanent.isControlledBy(source.getControllerId())) { return false; } break; diff --git a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepEnchantedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepEnchantedEffect.java index 541bdd908e9..9371f56249b 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepEnchantedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepEnchantedEffect.java @@ -60,7 +60,7 @@ public class DontUntapInControllersUntapStepEnchantedEffect extends ContinuousRu Permanent enchantment = game.getPermanent(source.getSourceId()); if (enchantment != null && enchantment.getAttachedTo() != null && event.getTargetId().equals(enchantment.getAttachedTo())) { Permanent permanent = game.getPermanent(enchantment.getAttachedTo()); - if (permanent != null && permanent.getControllerId().equals(game.getActivePlayerId())) { + if (permanent != null && permanent.isControlledBy(game.getActivePlayerId())) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepSourceEffect.java index 636677a5544..8c2d9842beb 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInControllersUntapStepSourceEffect.java @@ -50,7 +50,7 @@ public class DontUntapInControllersUntapStepSourceEffect extends ContinuousRuleM if (game.getTurn().getStepType() == PhaseStep.UNTAP && event.getTargetId().equals(source.getSourceId())) { Permanent permanent = game.getPermanent(source.getSourceId()); - if (permanent != null && permanent.getControllerId().equals(game.getActivePlayerId())) { + if (permanent != null && permanent.isControlledBy(game.getActivePlayerId())) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInPlayersNextUntapStepAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInPlayersNextUntapStepAllEffect.java index 9fca3ecdb77..82f48cce45e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/DontUntapInPlayersNextUntapStepAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/DontUntapInPlayersNextUntapStepAllEffect.java @@ -94,7 +94,7 @@ public class DontUntapInPlayersNextUntapStepAllEffect extends ContinuousRuleModi Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { Player controller = game.getPlayer(source.getControllerId()); - if (!permanent.getControllerId().equals(getTargetPointer().getFirst(game, source))) { + if (!permanent.isControlledBy(getTargetPointer().getFirst(game, source))) { return false; } if (controller != null && !game.isOpponent(controller, permanent.getControllerId())) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java index c6a2ab15429..f0cd06bc606 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PutOnLibraryTargetEffect.java @@ -78,7 +78,7 @@ public class PutOnLibraryTargetEffect extends OneShotEffect { Cards cardsPlayer = new CardsImpl(); for (Iterator iterator = cards.iterator(); iterator.hasNext();) { Card next = iterator.next(); - if (next.getOwnerId().equals(owner.getId())) { + if (next.isOwnedBy(owner.getId())) { cardsPlayer.add(next); iterator.remove(); } @@ -97,7 +97,7 @@ public class PutOnLibraryTargetEffect extends OneShotEffect { Cards cardsPlayer = new CardsImpl(); for (Iterator iterator = permanents.iterator(); iterator.hasNext();) { Permanent next = iterator.next(); - if (next.getOwnerId().equals(owner.getId())) { + if (next.isOwnedBy(owner.getId())) { cardsPlayer.add(next); iterator.remove(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ReturnToHandTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ReturnToHandTargetEffect.java index c3f6ed2d72a..51252895a9d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ReturnToHandTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ReturnToHandTargetEffect.java @@ -57,7 +57,7 @@ public class ReturnToHandTargetEffect extends OneShotEffect { for (Target target : source.getTargets()) { for (UUID targetId : target.getTargets()) { MageObject mageObject = game.getObject(targetId); - if (mageObject instanceof Spell && ((Spell) mageObject).isCopy()) { + if (mageObject instanceof Spell && mageObject.isCopy()) { copyIds.add(targetId); } else if (mageObject instanceof Card) { cards.add((Card) mageObject); @@ -68,7 +68,7 @@ public class ReturnToHandTargetEffect extends OneShotEffect { for (UUID targetId : targetPointer.getTargets(game, source)) { MageObject mageObject = game.getObject(targetId); if (mageObject != null) { - if (mageObject instanceof Spell && ((Spell) mageObject).isCopy()) { + if (mageObject instanceof Spell && mageObject.isCopy()) { copyIds.add(targetId); } else { cards.add((Card) mageObject); diff --git a/Mage/src/main/java/mage/abilities/effects/common/SacrificeSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SacrificeSourceEffect.java index 26e828dc580..b4e9339de44 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/SacrificeSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/SacrificeSourceEffect.java @@ -44,7 +44,7 @@ public class SacrificeSourceEffect extends OneShotEffect { if (sourceObject instanceof Permanent) { Permanent permanent = (Permanent) sourceObject; // you can only sacrifice a permanent you control - if (source.getControllerId().equals(permanent.getControllerId())) { + if (source.isControlledBy(permanent.getControllerId())) { return permanent.sacrifice(source.getSourceId(), game); } return true; diff --git a/Mage/src/main/java/mage/abilities/effects/common/SkipUntapOptionalSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/SkipUntapOptionalSourceEffect.java index 667c0bb2950..dbe05cd6b7f 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/SkipUntapOptionalSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/SkipUntapOptionalSourceEffect.java @@ -27,7 +27,7 @@ public class SkipUntapOptionalSourceEffect extends RestrictionEffect { @Override public boolean applies(Permanent permanent, Ability source, Game game) { return permanent.getId().equals(source.getSourceId()) - && permanent.getControllerId().equals(game.getActivePlayerId()) && // your untap step + && permanent.isControlledBy(game.getActivePlayerId()) && // your untap step permanent.isTapped(); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/WishEffect.java b/Mage/src/main/java/mage/abilities/effects/common/WishEffect.java index 5841feef03b..62f74e35980 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/WishEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/WishEffect.java @@ -86,7 +86,7 @@ public class WishEffect extends OneShotEffect { } if (alsoFromExile) { for (Card exileCard : exile) { - if (exileCard.getOwnerId().equals(source.getControllerId()) && filter.match(exileCard, game)) { + if (exileCard.isOwnedBy(source.getControllerId()) && filter.match(exileCard, game)) { filteredCards.add(exileCard); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackControllerAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackControllerAttachedEffect.java index 04aae7f845e..09e122ede9e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackControllerAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackControllerAttachedEffect.java @@ -38,7 +38,7 @@ public class CantAttackControllerAttachedEffect extends RestrictionEffect { return false; } Permanent planeswalker = game.getPermanent(defenderId); - return planeswalker == null || !planeswalker.getControllerId().equals(source.getControllerId()); + return planeswalker == null || !planeswalker.isControlledBy(source.getControllerId()); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouOrPlaneswalkerAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouOrPlaneswalkerAllEffect.java index fa228c16e67..b603326ddff 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouOrPlaneswalkerAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouOrPlaneswalkerAllEffect.java @@ -44,7 +44,7 @@ public class CantAttackYouOrPlaneswalkerAllEffect extends RestrictionEffect { return false; } Permanent planeswalker = game.getPermanent(defenderId); - return planeswalker == null || !planeswalker.getControllerId().equals(source.getControllerId()); + return planeswalker == null || !planeswalker.isControlledBy(source.getControllerId()); } @Override diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouUnlessPayManaAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouUnlessPayManaAllEffect.java index ebf276e5612..0eef90ee664 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouUnlessPayManaAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackYouUnlessPayManaAllEffect.java @@ -56,7 +56,7 @@ public class CantAttackYouUnlessPayManaAllEffect extends PayCostToAttackBlockEff } } // attack target is controlling player - if (source.getControllerId().equals(event.getTargetId())) { + if (source.isControlledBy(event.getTargetId())) { return true; } // or attack target is a planeswalker of the controlling player @@ -64,7 +64,7 @@ public class CantAttackYouUnlessPayManaAllEffect extends PayCostToAttackBlockEff Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isPlaneswalker() - && permanent.getControllerId().equals(source.getControllerId())) { + && permanent.isControlledBy(source.getControllerId())) { return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/GoadAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/GoadAllEffect.java index d525e0b372c..c24a7630db6 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/GoadAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/GoadAllEffect.java @@ -33,7 +33,7 @@ public class GoadAllEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { for (Permanent creature : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, source.getControllerId(), game)) { - if (!creature.getControllerId().equals(source.getControllerId())) { + if (!creature.isControlledBy(source.getControllerId())) { Effect effect = new GoadTargetEffect(); effect.setTargetPointer(new FixedTarget(creature, game)); effect.apply(game, source); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/ActivateAbilitiesAnyTimeYouCouldCastInstantEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/ActivateAbilitiesAnyTimeYouCouldCastInstantEffect.java index 3d4470dd573..4f76c81b722 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/ActivateAbilitiesAnyTimeYouCouldCastInstantEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/ActivateAbilitiesAnyTimeYouCouldCastInstantEffect.java @@ -44,7 +44,7 @@ public class ActivateAbilitiesAnyTimeYouCouldCastInstantEffect extends AsThoughE @Override public boolean applies(UUID objectId, Ability affectedAbility, Ability source, Game game) { - return affectedAbility.getControllerId().equals(source.getControllerId()) + return affectedAbility.isControlledBy(source.getControllerId()) && activatedAbility.isInstance(affectedAbility); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/CastAsThoughItHadFlashAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/CastAsThoughItHadFlashAllEffect.java index 62d34920388..762e6539aef 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/CastAsThoughItHadFlashAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/CastAsThoughItHadFlashAllEffect.java @@ -51,7 +51,7 @@ public class CastAsThoughItHadFlashAllEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID affectedSpellId, Ability source, UUID affectedControllerId, Game game) { - if (anyPlayer || source.getControllerId().equals(affectedControllerId)) { + if (anyPlayer || source.isControlledBy(affectedControllerId)) { Card card = game.getCard(affectedSpellId); return card != null && filter.match(card, game); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/ExchangeControlTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/ExchangeControlTargetEffect.java index e79074f1bc3..37c32f864a9 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/ExchangeControlTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/ExchangeControlTargetEffect.java @@ -98,7 +98,7 @@ public class ExchangeControlTargetEffect extends ContinuousEffectImpl { } if (permanent1 != null && permanent2 != null) { // exchange works only for two different controllers - if (permanent1.getControllerId().equals(permanent2.getControllerId())) { + if (permanent1.isControlledBy(permanent2.getControllerId())) { // discard effect if controller of both permanents is the same discard(); return; diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java index 01becdd24b6..e58f88cda63 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledSpellsEffect.java @@ -48,7 +48,7 @@ public class GainAbilityControlledSpellsEffect extends ContinuousEffectImpl { if (player != null && permanent != null) { for (StackObject stackObject : game.getStack()) { // only spells cast, so no copies of spells - if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.getControllerId().equals(source.getControllerId())) { + if ((stackObject instanceof Spell) && !stackObject.isCopy() && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; if (filter.match(spell, game)) { if (!spell.getAbilities().contains(ability)) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainControlTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainControlTargetEffect.java index 455fb38e09d..993134026fa 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainControlTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainControlTargetEffect.java @@ -83,7 +83,7 @@ public class GainControlTargetEffect extends ContinuousEffectImpl { Permanent permanent = game.getPermanent(permanentId); if (permanent != null) { targetStillExists = true; - if (!permanent.getControllerId().equals(controllingPlayerId)) { + if (!permanent.isControlledBy(controllingPlayerId)) { GameEvent loseControlEvent = GameEvent.getEvent(GameEvent.EventType.LOSE_CONTROL, permanentId, source.getId(), permanent.getControllerId()); if (game.replaceEvent(loseControlEvent)) { return false; diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/PlayTheTopCardEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/PlayTheTopCardEffect.java index 5dd1ffdc771..35e63cc3619 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/PlayTheTopCardEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/PlayTheTopCardEffect.java @@ -50,7 +50,7 @@ public class PlayTheTopCardEffect extends AsThoughEffectImpl { Card cardOnTop = game.getCard(objectId); if (cardOnTop != null && affectedControllerId.equals(source.getControllerId()) - && cardOnTop.getOwnerId().equals(source.getControllerId()) + && cardOnTop.isOwnedBy(source.getControllerId()) && (!cardOnTop.getManaCost().isEmpty() || cardOnTop.isLand()) && filter.match(cardOnTop, game)) { Player player = game.getPlayer(cardOnTop.getOwnerId()); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapAllDuringEachOtherPlayersUntapStepEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapAllDuringEachOtherPlayersUntapStepEffect.java index 1fd92243eca..76999b4f193 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapAllDuringEachOtherPlayersUntapStepEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapAllDuringEachOtherPlayersUntapStepEffect.java @@ -44,7 +44,7 @@ public class UntapAllDuringEachOtherPlayersUntapStepEffect extends ContinuousEff applied = Boolean.FALSE; } if (!applied && layer == Layer.RulesEffects) { - if (!source.getControllerId().equals(game.getActivePlayerId()) && game.getStep().getType() == PhaseStep.UNTAP) { + if (!source.isControlledBy(game.getActivePlayerId()) && game.getStep().getType() == PhaseStep.UNTAP) { game.getState().setValue(source.getSourceId() + "applied", true); for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) { boolean untap = true; diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapSourceDuringEachOtherPlayersUntapStepEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapSourceDuringEachOtherPlayersUntapStepEffect.java index aa2dcbe44db..d1ede8e3a3b 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapSourceDuringEachOtherPlayersUntapStepEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/UntapSourceDuringEachOtherPlayersUntapStepEffect.java @@ -39,7 +39,7 @@ public class UntapSourceDuringEachOtherPlayersUntapStepEffect extends Continuous applied = Boolean.FALSE; } if (!applied && layer == Layer.RulesEffects) { - if (!source.getControllerId().equals(game.getActivePlayerId()) + if (!source.isControlledBy(game.getActivePlayerId()) && game.getStep() != null && game.getStep().getType() == PhaseStep.UNTAP) { game.getState().setValue(source.getSourceId() + "applied", true); diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/AbilitiesCostReductionControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/AbilitiesCostReductionControllerEffect.java index 75e4ade46e6..b0b53d2d82c 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/AbilitiesCostReductionControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/AbilitiesCostReductionControllerEffect.java @@ -44,7 +44,7 @@ public class AbilitiesCostReductionControllerEffect extends CostModificationEffe @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - return abilityToModify.getControllerId().equals(source.getControllerId()) + return abilityToModify.isControlledBy(source.getControllerId()) && activatedAbility.isInstance(abilityToModify); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementControllerEffect.java index 9c1631f0717..7023fc78847 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostIncreasementControllerEffect.java @@ -69,7 +69,7 @@ public class SpellsCostIncreasementControllerEffect extends CostModificationEffe @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return this.filter.match(spell, game); diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java index bc2f1e2382f..4947acadf22 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java @@ -120,10 +120,10 @@ public class SpellsCostReductionAllEffect extends CostModificationEffectImpl { @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { - if (onlyControlled && !abilityToModify.getControllerId().equals(source.getControllerId())) { + if (onlyControlled && !abilityToModify.isControlledBy(source.getControllerId())) { return false; } - if (controllerId != null && !abilityToModify.getControllerId().equals(controllerId)) { + if (controllerId != null && !abilityToModify.isControlledBy(controllerId)) { return false; } if (abilityToModify instanceof SpellAbility) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionControllerEffect.java index 55068aec822..a58c1a2cb0f 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionControllerEffect.java @@ -114,7 +114,7 @@ public class SpellsCostReductionControllerEffect extends CostModificationEffectI @Override public boolean applies(Ability abilityToModify, Ability source, Game game) { if (abilityToModify instanceof SpellAbility) { - if (abilityToModify.getControllerId().equals(source.getControllerId())) { + if (abilityToModify.isControlledBy(source.getControllerId())) { Spell spell = (Spell) game.getStack().getStackObject(abilityToModify.getId()); if (spell != null) { return this.filter.match(spell, source.getSourceId(), source.getControllerId(), game); diff --git a/Mage/src/main/java/mage/abilities/keyword/AuraSwapAbility.java b/Mage/src/main/java/mage/abilities/keyword/AuraSwapAbility.java index ef351303bff..8e443916432 100644 --- a/Mage/src/main/java/mage/abilities/keyword/AuraSwapAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/AuraSwapAbility.java @@ -69,7 +69,7 @@ class AuraSwapEffect extends OneShotEffect { Permanent auraSourcePermanent = game.getPermanent(source.getSourceId()); if (auraSourcePermanent != null && auraSourcePermanent.hasSubtype(SubType.AURA, game) - && auraSourcePermanent.getOwnerId().equals(source.getControllerId())) { + && auraSourcePermanent.isOwnedBy(source.getControllerId())) { Permanent enchantedPermanent = game.getPermanent(auraSourcePermanent.getAttachedTo()); filterCardToCheck.add(new AuraCardCanAttachToPermanentId(enchantedPermanent.getId())); TargetCardInHand target = new TargetCardInHand(filterCardToCheck); diff --git a/Mage/src/main/java/mage/abilities/keyword/EvolveAbility.java b/Mage/src/main/java/mage/abilities/keyword/EvolveAbility.java index 66d3f4f063c..7e2183feb28 100644 --- a/Mage/src/main/java/mage/abilities/keyword/EvolveAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/EvolveAbility.java @@ -84,7 +84,7 @@ public class EvolveAbility extends TriggeredAbilityImpl { Permanent triggeringCreature = game.getPermanent(event.getTargetId()); if (triggeringCreature != null && triggeringCreature.isCreature() - && triggeringCreature.getControllerId().equals(this.controllerId)) { + && triggeringCreature.isControlledBy(this.controllerId)) { Permanent sourceCreature = game.getPermanent(sourceId); if (sourceCreature != null && isPowerOrThoughnessGreater(sourceCreature, triggeringCreature)) { this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getTargetId())); diff --git a/Mage/src/main/java/mage/abilities/keyword/HideawayAbility.java b/Mage/src/main/java/mage/abilities/keyword/HideawayAbility.java index 28fab9980a2..2d0c6829bf4 100644 --- a/Mage/src/main/java/mage/abilities/keyword/HideawayAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/HideawayAbility.java @@ -140,7 +140,7 @@ class HideawayLookAtFaceDownCardEffect extends AsThoughEffectImpl { // TODO: Does not handle if a player had the control of the land permanent some time before // we would need to add a watcher to handle this Permanent sourcePermanet = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (sourcePermanet != null && sourcePermanet.getControllerId().equals(affectedControllerId)) { + if (sourcePermanet != null && sourcePermanet.isControlledBy(affectedControllerId)) { ExileZone exile = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)); Card card = game.getCard(objectId); if (exile != null && exile.contains(objectId) && card != null) { diff --git a/Mage/src/main/java/mage/abilities/keyword/OfferingAbility.java b/Mage/src/main/java/mage/abilities/keyword/OfferingAbility.java index b32005c0537..9a1de9fd982 100644 --- a/Mage/src/main/java/mage/abilities/keyword/OfferingAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/OfferingAbility.java @@ -107,7 +107,7 @@ class OfferingAsThoughEffect extends AsThoughEffectImpl { public boolean applies(UUID sourceId, Ability affectedAbility, Ability source, Game game) { if (sourceId.equals(source.getSourceId())) { Card card = game.getCard(sourceId); - if (!card.getOwnerId().equals(source.getControllerId())) { + if (!card.isOwnedBy(source.getControllerId())) { return false; } // because can activate is always called twice, result from first call will be used diff --git a/Mage/src/main/java/mage/abilities/keyword/RecoverAbility.java b/Mage/src/main/java/mage/abilities/keyword/RecoverAbility.java index 12bf54f5aac..c6bac07f934 100644 --- a/Mage/src/main/java/mage/abilities/keyword/RecoverAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/RecoverAbility.java @@ -49,7 +49,7 @@ public class RecoverAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getToZone() == Zone.GRAVEYARD) { - if (zEvent.getTarget().getOwnerId().equals(getControllerId()) + if (zEvent.getTarget().isOwnedBy(getControllerId()) && zEvent.getTarget().isCreature() && !zEvent.getTarget().getId().equals(getSourceId())) { return true; diff --git a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java index 46e22d57fa8..713b0d11fc5 100644 --- a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java @@ -84,7 +84,7 @@ class RepairCastFromGraveyardEffect extends AsThoughEffectImpl { @Override public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - return source.getControllerId().equals(affectedControllerId); + return source.isControlledBy(affectedControllerId); } } diff --git a/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java b/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java index e9289e3b8e2..da422af6d8f 100644 --- a/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/SoulbondAbility.java @@ -78,7 +78,7 @@ public class SoulbondAbility extends EntersBattlefieldTriggeredAbility { for (Permanent permanent : game.getBattlefield().getAllActivePermanents(getControllerId())) { if (permanent.isCreature()) { if (permanent.getId().equals(getSourceId())) { - if (permanent.getControllerId().equals(getControllerId())) { + if (permanent.isControlledBy(getControllerId())) { self = true; if (other) { return true; @@ -195,7 +195,7 @@ class SoulbondEntersOtherAbility extends EntersBattlefieldAllTriggeredAbility { // if you control both this creature and another creature and both are unpaired if (game.getBattlefield().countAll(filter, getControllerId(), game) > 0) { Permanent sourcePermanent = game.getPermanent(getSourceId()); - if (sourcePermanent != null && sourcePermanent.getControllerId().equals(getControllerId()) && sourcePermanent.getPairedCard() == null) { + if (sourcePermanent != null && sourcePermanent.isControlledBy(getControllerId()) && sourcePermanent.getPairedCard() == null) { return true; } } diff --git a/Mage/src/main/java/mage/cards/Card.java b/Mage/src/main/java/mage/cards/Card.java index 7408bc8b9c2..bac8f59d403 100644 --- a/Mage/src/main/java/mage/cards/Card.java +++ b/Mage/src/main/java/mage/cards/Card.java @@ -168,4 +168,8 @@ public interface Card extends MageObject { boolean addAttachment(UUID permanentId, Game game); boolean removeAttachment(UUID permanentId, Game game); + + default boolean isOwnedBy(UUID controllerId){ + return getOwnerId().equals(controllerId); + } } diff --git a/Mage/src/main/java/mage/filter/predicate/other/OwnerPredicate.java b/Mage/src/main/java/mage/filter/predicate/other/OwnerPredicate.java index f70c92b5cb9..1050e0d04a1 100644 --- a/Mage/src/main/java/mage/filter/predicate/other/OwnerPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/other/OwnerPredicate.java @@ -30,18 +30,18 @@ public class OwnerPredicate implements ObjectPlayerPredicate> switch (targetOwner) { case YOU: - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { return true; } break; case OPPONENT: - if (!card.getOwnerId().equals(playerId) + if (!card.isOwnedBy(playerId) && game.getPlayer(playerId).hasOpponent(card.getOwnerId(), game)) { return true; } break; case NOT_YOU: - if (!card.getOwnerId().equals(playerId)) { + if (!card.isOwnedBy(playerId)) { return true; } break; diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/AttachedToControlledPermanentPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/AttachedToControlledPermanentPredicate.java index afcbfc3eaa4..c8257e2c2dd 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/AttachedToControlledPermanentPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/AttachedToControlledPermanentPredicate.java @@ -17,7 +17,7 @@ public class AttachedToControlledPermanentPredicate implements ObjectPlayerPredi Permanent attachement = input.getObject(); if (attachement != null) { Permanent permanent = game.getPermanent(attachement.getAttachedTo()); - if (permanent != null && permanent.getControllerId().equals(input.getPlayerId())) { + if (permanent != null && permanent.isControlledBy(input.getPlayerId())) { return true; } } diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/ControllerPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/ControllerPredicate.java index 1a90b57cb49..d77c180f958 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/ControllerPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/ControllerPredicate.java @@ -28,7 +28,7 @@ public class ControllerPredicate implements ObjectPlayerPredicate input, Game game) { - return input.getObject().getControllerId().equals(game.getCombat().getDefendingPlayerId(input.getSourceId(), game)); + return input.getObject().isControlledBy(game.getCombat().getDefendingPlayerId(input.getSourceId(), game)); } @Override diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerOwnsCardPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerOwnsCardPredicate.java index a0326cb54ec..fe044d827e1 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerOwnsCardPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/DefendingPlayerOwnsCardPredicate.java @@ -14,7 +14,7 @@ public class DefendingPlayerOwnsCardPredicate implements ObjectSourcePlayerPredi @Override public boolean apply(ObjectSourcePlayer input, Game game) { - return input.getObject().getOwnerId().equals(game.getCombat().getDefendingPlayerId(input.getSourceId(), game)); + return input.getObject().isOwnedBy(game.getCombat().getDefendingPlayerId(input.getSourceId(), game)); } @Override diff --git a/Mage/src/main/java/mage/game/Controllable.java b/Mage/src/main/java/mage/game/Controllable.java index aad1d744d13..025b8f3720d 100644 --- a/Mage/src/main/java/mage/game/Controllable.java +++ b/Mage/src/main/java/mage/game/Controllable.java @@ -10,4 +10,8 @@ import java.util.UUID; public interface Controllable { UUID getControllerId(); UUID getId(); + + default boolean isControlledBy(UUID controllerID){ + return getControllerId().equals(controllerID); + } } diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 51e85962e72..abfd93c49dc 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -1865,7 +1865,7 @@ public abstract class GameImpl implements Game, Serializable { //702.93e.: ...another player gains control // ...or the creature it's paired with leaves the battlefield. Permanent paired = perm.getPairedCard().getPermanent(this); - if (paired == null || !perm.getControllerId().equals(paired.getControllerId()) || paired.getPairedCard() == null) { + if (paired == null || !perm.isControlledBy(paired.getControllerId()) || paired.getPairedCard() == null) { perm.setPairedCard(null); if (paired != null && paired.getPairedCard() != null) { paired.setPairedCard(null); @@ -1876,7 +1876,7 @@ public abstract class GameImpl implements Game, Serializable { if (perm.getBandedCards() != null && !perm.getBandedCards().isEmpty()) { for (UUID bandedId : new ArrayList<>(perm.getBandedCards())) { Permanent banded = getPermanent(bandedId); - if (banded == null || !perm.getControllerId().equals(banded.getControllerId()) || !banded.getBandedCards().contains(perm.getId())) { + if (banded == null || !perm.isControlledBy(banded.getControllerId()) || !banded.getBandedCards().contains(perm.getId())) { perm.removeBandedCard(bandedId); if (banded != null && banded.getBandedCards().contains(perm.getId())) { banded.removeBandedCard(perm.getId()); @@ -1993,7 +1993,7 @@ public abstract class GameImpl implements Game, Serializable { } else if (target instanceof TargetCard) { Card attachedTo = getCard(perm.getAttachedTo()); if (attachedTo == null - || !((TargetCard) spellAbility.getTargets().get(0)).canTarget(perm.getControllerId(), perm.getAttachedTo(), spellAbility, this)) { + || !(spellAbility.getTargets().get(0)).canTarget(perm.getControllerId(), perm.getAttachedTo(), spellAbility, this)) { if (movePermanentToGraveyardWithInfo(perm)) { if (attachedTo != null) { attachedTo.removeAttachment(perm.getId(), this); @@ -2482,7 +2482,7 @@ public abstract class GameImpl implements Game, Serializable { Set toOutside = new HashSet<>(); for (Iterator it = getBattlefield().getAllPermanents().iterator(); it.hasNext();) { Permanent perm = it.next(); - if (perm.getOwnerId().equals(playerId)) { + if (perm.isOwnedBy(playerId)) { if (perm.getAttachedTo() != null) { Permanent attachedTo = getPermanent(perm.getAttachedTo()); if (attachedTo != null) { @@ -2500,7 +2500,7 @@ public abstract class GameImpl implements Game, Serializable { } toOutside.add(perm); // it.remove(); - } else if (perm.getControllerId().equals(player.getId())) { + } else if (perm.isControlledBy(player.getId())) { // and any effects which give that player control of any objects or players end Effects: for (ContinuousEffect effect : getContinuousEffects().getLayeredEffects(this)) { @@ -2533,7 +2533,7 @@ public abstract class GameImpl implements Game, Serializable { } // Then, if that player controlled any objects on the stack not represented by cards, those objects cease to exist. this.getState().getContinuousEffects().removeInactiveEffects(this); - getStack().removeIf(object -> object.getControllerId().equals(playerId)); + getStack().removeIf(object -> object.isControlledBy(playerId)); // Then, if there are any objects still controlled by that player, those objects are exiled. applyEffects(); // to remove control from effects removed meanwhile List permanents = this.getBattlefield().getAllActivePermanents(playerId); @@ -2545,7 +2545,7 @@ public abstract class GameImpl implements Game, Serializable { for (ExileZone exile : this.getExile().getExileZones()) { for (Iterator it = exile.iterator(); it.hasNext();) { Card card = this.getCard(it.next()); - if (card != null && card.getOwnerId().equals(playerId)) { + if (card != null && card.isOwnedBy(playerId)) { it.remove(); } } @@ -2579,13 +2579,12 @@ public abstract class GameImpl implements Game, Serializable { } } } - Iterator> it = gameCards.entrySet().iterator(); while (it.hasNext()) { Entry entry = it.next(); Card card = entry.getValue(); - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { it.remove(); } } diff --git a/Mage/src/main/java/mage/game/combat/Combat.java b/Mage/src/main/java/mage/game/combat/Combat.java index 8fecec7c636..b9620a42cbb 100644 --- a/Mage/src/main/java/mage/game/combat/Combat.java +++ b/Mage/src/main/java/mage/game/combat/Combat.java @@ -209,7 +209,7 @@ public class Combat implements Serializable, Copyable { possibleDefenders = new HashSet<>(); for (UUID objectId : defenders) { Permanent planeswalker = game.getPermanent(objectId); - if (planeswalker != null && planeswalker.getControllerId().equals(playerToAttack)) { + if (planeswalker != null && planeswalker.isControlledBy(playerToAttack)) { possibleDefenders.add(objectId); } else if (playerToAttack.equals(objectId)) { possibleDefenders.add(objectId); @@ -964,7 +964,7 @@ public class Combat implements Serializable, Copyable { if (creatureForcedToBlock == null) { break; } - if (!creatureForcedToBlock.getControllerId().equals(player.getId())) { + if (!creatureForcedToBlock.isControlledBy(player.getId())) { // ignore creatures controlled by other players continue; } @@ -1473,7 +1473,7 @@ public class Combat implements Serializable, Copyable { } if (group.defenderIsPlaneswalker) { Permanent permanent = game.getPermanent(group.getDefenderId()); - if (permanent.getControllerId().equals(defenderId)) { + if (permanent.isControlledBy(defenderId)) { return true; } } diff --git a/Mage/src/main/java/mage/game/command/emblems/AjaniSteadfastEmblem.java b/Mage/src/main/java/mage/game/command/emblems/AjaniSteadfastEmblem.java index 40675d7daf9..755291e0392 100644 --- a/Mage/src/main/java/mage/game/command/emblems/AjaniSteadfastEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/AjaniSteadfastEmblem.java @@ -60,7 +60,7 @@ class AjaniSteadfastPreventEffect extends PreventionEffectImpl { if (event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + if (permanent != null && permanent.isControlledBy(source.getControllerId())) { return super.applies(event, source, game); } } diff --git a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java index 8e91c02d57d..246f783855c 100644 --- a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java @@ -59,7 +59,7 @@ class DarettiScrapSavantTriggeredAbility extends TriggeredAbilityImpl { if (zEvent.getToZone() == Zone.GRAVEYARD && zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getTarget().isArtifact() - && zEvent.getTarget().getOwnerId().equals(this.controllerId)) { + && zEvent.getTarget().isOwnedBy(this.controllerId)) { this.getEffects().setTargetPointer(new FixedTarget(zEvent.getTargetId())); return true; } diff --git a/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java b/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java index 318f07c375c..1af66697987 100644 --- a/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java +++ b/Mage/src/main/java/mage/game/command/planes/TrailOfTheMageRingsPlane.java @@ -115,7 +115,7 @@ class TrailOfTheMageRingsReboundEffect extends ContinuousEffectImpl { } for (Iterator iterator = game.getStack().iterator(); iterator.hasNext();) { StackObject stackObject = iterator.next(); - if (stackObject instanceof Spell && stackObject.getControllerId().equals(source.getControllerId())) { + if (stackObject instanceof Spell && stackObject.isControlledBy(source.getControllerId())) { Spell spell = (Spell) stackObject; Card card = spell.getCard(); if (card != null) { diff --git a/Mage/src/main/java/mage/game/permanent/Battlefield.java b/Mage/src/main/java/mage/game/permanent/Battlefield.java index 58eac0788e4..c9df6b058c6 100644 --- a/Mage/src/main/java/mage/game/permanent/Battlefield.java +++ b/Mage/src/main/java/mage/game/permanent/Battlefield.java @@ -58,7 +58,7 @@ public class Battlefield implements Serializable { public int countAll(FilterPermanent filter, UUID controllerId, Game game) { return (int) field.values() .stream() - .filter(permanent -> permanent.getControllerId().equals(controllerId) + .filter(permanent -> permanent.isControlledBy(controllerId) && filter.match(permanent, game) && permanent.isPhasedIn()) .count(); @@ -124,7 +124,7 @@ public class Battlefield implements Serializable { public boolean contains(FilterPermanent filter, UUID controllerId, int num, Game game) { return field.values() .stream() - .filter(permanent -> permanent.getControllerId().equals(controllerId) + .filter(permanent -> permanent.isControlledBy(controllerId) && filter.match(permanent, game) && permanent.isPhasedIn()) .count() >= num; @@ -213,7 +213,7 @@ public class Battlefield implements Serializable { return field.values() .stream() .filter(perm -> perm.isPhasedIn() - && perm.getControllerId().equals(controllerId)) + && perm.isControlledBy(controllerId)) .collect(Collectors.toList()); } @@ -261,7 +261,7 @@ public class Battlefield implements Serializable { public List getAllActivePermanents(FilterPermanent filter, UUID controllerId, Game game) { return field.values() .stream() - .filter(perm -> perm.isPhasedIn() && perm.getControllerId().equals(controllerId) && filter.match(perm, game)) + .filter(perm -> perm.isPhasedIn() && perm.isControlledBy(controllerId) && filter.match(perm, game)) .collect(Collectors.toList()); } @@ -333,14 +333,14 @@ public class Battlefield implements Serializable { .stream() .filter(perm -> perm.getAbilities().containsKey(PhasingAbility.getInstance().getId()) && perm.isPhasedIn() && - perm.getControllerId().equals(controllerId)) + perm.isControlledBy(controllerId)) .collect(Collectors.toList()); } public List getPhasedOut(UUID controllerId) { return field.values() .stream() - .filter(perm -> !perm.isPhasedIn() && perm.getControllerId().equals(controllerId)) + .filter(perm -> !perm.isPhasedIn() && perm.isControlledBy(controllerId)) .collect(Collectors.toList()); } diff --git a/Mage/src/main/java/mage/game/stack/Spell.java b/Mage/src/main/java/mage/game/stack/Spell.java index c729298ce46..3d137719f8a 100644 --- a/Mage/src/main/java/mage/game/stack/Spell.java +++ b/Mage/src/main/java/mage/game/stack/Spell.java @@ -244,7 +244,7 @@ public class Spell extends StackObjImpl implements Card { // card will be copied during putOntoBattlefield, so the card of CardPermanent has to be changed // TODO: Find a better way to prevent bestow creatures from being effected by creature affecting abilities Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null && permanent instanceof PermanentCard) { + if (permanent instanceof PermanentCard) { permanent.setSpellAbility(ability); // otherwise spell ability without bestow will be set if (!card.getCardType().contains(CardType.CREATURE)) { card.addCardType(CardType.CREATURE); @@ -264,7 +264,7 @@ public class Spell extends StackObjImpl implements Card { updateOptionalCosts(0); if (controller.moveCards(card, Zone.BATTLEFIELD, ability, game, false, faceDown, false, null)) { Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null && permanent instanceof PermanentCard) { + if (permanent instanceof PermanentCard) { ((PermanentCard) permanent).getCard().addCardType(CardType.CREATURE); ((PermanentCard) permanent).getCard().getSubtype(game).remove(SubType.AURA); return true; diff --git a/Mage/src/main/java/mage/players/Library.java b/Mage/src/main/java/mage/players/Library.java index 5841a85ce91..3c896d5b837 100644 --- a/Mage/src/main/java/mage/players/Library.java +++ b/Mage/src/main/java/mage/players/Library.java @@ -101,7 +101,7 @@ public class Library implements Serializable { } public void putOnTop(Card card, Game game) { - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { card.setZone(Zone.LIBRARY, game); library.addFirst(card.getId()); } else { @@ -125,7 +125,7 @@ public class Library implements Serializable { } public void putOnBottom(Card card, Game game) { - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { card.setZone(Zone.LIBRARY, game); library.remove(card.getId()); library.add(card.getId()); diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index a552eb9ae1d..423ae4e208a 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -645,7 +645,7 @@ public abstract class PlayerImpl implements Player, Serializable { */ @Override public boolean putInHand(Card card, Game game) { - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { card.setZone(Zone.HAND, game); this.hand.add(card); } else { @@ -834,7 +834,7 @@ public abstract class PlayerImpl implements Player, Serializable { @Override public boolean putInGraveyard(Card card, Game game) { - if (card.getOwnerId().equals(playerId)) { + if (card.isOwnedBy(playerId)) { this.graveyard.add(card); } else { return game.getPlayer(card.getOwnerId()).putInGraveyard(card, game); @@ -885,7 +885,7 @@ public abstract class PlayerImpl implements Player, Serializable { @Override public boolean putCardOnTopXOfLibrary(Card card, Game game, Ability source, int xFromTheTop) { - if (card.getOwnerId().equals(getId())) { + if (card.isOwnedBy(getId())) { if (library.size() + 1 < xFromTheTop) { putCardsOnBottomOfLibrary(new CardsImpl(card), game, source, true); } else { @@ -1556,7 +1556,7 @@ public abstract class PlayerImpl implements Player, Serializable { // that phased out indirectly won't phase in by itself, but instead phases in // along with the card it's attached to. Permanent attachedTo = game.getPermanent(permanent.getAttachedTo()); - if (!(attachedTo != null && attachedTo.getControllerId().equals(this.getId()))) { + if (!(attachedTo != null && attachedTo.isControlledBy(this.getId()))) { permanent.phaseOut(game, false); } } @@ -2325,7 +2325,7 @@ public abstract class PlayerImpl implements Player, Serializable { setStoredBookmark(game.bookmarkState()); // makes it possible to UNDO a declared attacker with costs from e.g. Propaganda } Permanent attacker = game.getPermanent(attackerId); - if (attacker != null && attacker.canAttack(defenderId, game) && attacker.getControllerId().equals(playerId)) { + if (attacker != null && attacker.canAttack(defenderId, game) && attacker.isControlledBy(playerId)) { if (!game.getCombat().declareAttacker(attackerId, defenderId, playerId, game)) { game.undo(playerId); } @@ -3023,7 +3023,7 @@ public abstract class PlayerImpl implements Player, Serializable { // activated abilities from objects in the command zone (emblems or commanders) for (CommandObject commandObject : game.getState().getCommand()) { for (ActivatedAbility ability : commandObject.getAbilities().getActivatedAbilities(Zone.COMMAND)) { - if (ability.getControllerId().equals(getId()) && canPlay(ability, availableMana, game.getObject(ability.getSourceId()), game)) { + if (ability.isControlledBy(getId()) && canPlay(ability, availableMana, game.getObject(ability.getSourceId()), game)) { playableActivated.put(ability.toString(), ability); } @@ -3578,7 +3578,7 @@ public abstract class PlayerImpl implements Player, Serializable { game.informPlayers(getLogName() + " puts " + (withName ? card.getLogName() : (card.isFaceDown(game) ? "a face down card" : "a card")) + " from " + fromZone.toString().toLowerCase(Locale.ENGLISH) + ' ' - + (card.getOwnerId().equals(this.getId()) ? "into their hand" : "into its owner's hand") + + (card.isOwnedBy(this.getId()) ? "into their hand" : "into its owner's hand") ); } result = true; @@ -3601,7 +3601,7 @@ public abstract class PlayerImpl implements Player, Serializable { if (cards.isEmpty()) { ownerId = card.getOwnerId(); } - if (card.getOwnerId().equals(ownerId)) { + if (card.isOwnedBy(ownerId)) { it.remove(); cards.add(card); } @@ -3672,7 +3672,7 @@ public abstract class PlayerImpl implements Player, Serializable { StringBuilder sb = new StringBuilder(this.getLogName()) .append(" puts ").append(card.getLogName()).append(' ').append(card.isCopy() ? "(Copy) " : "") .append(fromZone != null ? "from " + fromZone.toString().toLowerCase(Locale.ENGLISH) + ' ' : ""); - if (card.getOwnerId().equals(getId())) { + if (card.isOwnedBy(getId())) { sb.append("into their graveyard"); } else { sb.append("it into its owner's graveyard"); @@ -3704,7 +3704,7 @@ public abstract class PlayerImpl implements Player, Serializable { sb.append("from ").append(fromZone.toString().toLowerCase(Locale.ENGLISH)).append(' '); } sb.append("to the ").append(toTop ? "top" : "bottom"); - if (card.getOwnerId().equals(getId())) { + if (card.isOwnedBy(getId())) { sb.append(" of their library"); } else { Player player = game.getPlayer(card.getOwnerId()); diff --git a/Mage/src/main/java/mage/target/common/TargetCardInASingleGraveyard.java b/Mage/src/main/java/mage/target/common/TargetCardInASingleGraveyard.java index b2a4e937e3b..86721777d32 100644 --- a/Mage/src/main/java/mage/target/common/TargetCardInASingleGraveyard.java +++ b/Mage/src/main/java/mage/target/common/TargetCardInASingleGraveyard.java @@ -34,7 +34,7 @@ public class TargetCardInASingleGraveyard extends TargetCard { Card card = game.getCard(firstTarget); Card targetCard = game.getCard(id); if (card == null || targetCard == null - || !card.getOwnerId().equals(targetCard.getOwnerId())) { + || !card.isOwnedBy(targetCard.getOwnerId())) { return false; } } diff --git a/Mage/src/main/java/mage/target/common/TargetCardInOpponentsGraveyard.java b/Mage/src/main/java/mage/target/common/TargetCardInOpponentsGraveyard.java index 13676b8da12..4ebbfa167fd 100644 --- a/Mage/src/main/java/mage/target/common/TargetCardInOpponentsGraveyard.java +++ b/Mage/src/main/java/mage/target/common/TargetCardInOpponentsGraveyard.java @@ -40,7 +40,7 @@ public class TargetCardInOpponentsGraveyard extends TargetCard { if (game.getPlayer(source.getControllerId()).hasOpponent(card.getOwnerId(), game)) { if (allFromOneOpponent && !targets.isEmpty()) { Card firstCard = game.getCard(targets.keySet().iterator().next()); - if (firstCard != null && !card.getOwnerId().equals(firstCard.getOwnerId())) { + if (firstCard != null && !card.isOwnedBy(firstCard.getOwnerId())) { return false; } } diff --git a/Mage/src/main/java/mage/target/common/TargetCreaturePermanentSameController.java b/Mage/src/main/java/mage/target/common/TargetCreaturePermanentSameController.java index 107a65d47f6..642440373a3 100644 --- a/Mage/src/main/java/mage/target/common/TargetCreaturePermanentSameController.java +++ b/Mage/src/main/java/mage/target/common/TargetCreaturePermanentSameController.java @@ -31,7 +31,7 @@ public class TargetCreaturePermanentSameController extends TargetCreaturePermane Permanent targetPermanent = game.getPermanent(targetId); if (targetPermanent != null) { if (!firstTargetPermanent.getId().equals(targetPermanent.getId())) { - if (!firstTargetPermanent.getControllerId().equals(targetPermanent.getOwnerId())) { + if (!firstTargetPermanent.isControlledBy(targetPermanent.getOwnerId())) { return false; } } diff --git a/Mage/src/main/java/mage/target/common/TargetTriggeredAbility.java b/Mage/src/main/java/mage/target/common/TargetTriggeredAbility.java index b0bad5fe749..5efeb3552d5 100644 --- a/Mage/src/main/java/mage/target/common/TargetTriggeredAbility.java +++ b/Mage/src/main/java/mage/target/common/TargetTriggeredAbility.java @@ -40,7 +40,7 @@ public class TargetTriggeredAbility extends TargetObject { return stackObject.getStackAbility() != null && (stackObject.getStackAbility() instanceof TriggeredAbility) && source != null - && stackObject.getStackAbility().getControllerId().equals(source.getControllerId()); + && stackObject.getStackAbility().isControlledBy(source.getControllerId()); } @Override @@ -53,7 +53,7 @@ public class TargetTriggeredAbility extends TargetObject { for (StackObject stackObject : game.getStack()) { if (stackObject.getStackAbility() != null && stackObject.getStackAbility() instanceof TriggeredAbility - && stackObject.getStackAbility().getControllerId().equals(sourceControllerId)) { + && stackObject.getStackAbility().isControlledBy(sourceControllerId)) { return true; } } @@ -71,7 +71,7 @@ public class TargetTriggeredAbility extends TargetObject { for (StackObject stackObject : game.getStack()) { if (stackObject.getStackAbility() != null && stackObject.getStackAbility() instanceof TriggeredAbility - && stackObject.getStackAbility().getControllerId().equals(sourceControllerId)) { + && stackObject.getStackAbility().isControlledBy(sourceControllerId)) { possibleTargets.add(stackObject.getStackAbility().getId()); } }