From f9fc2246e8cac72bf146a8b25951191fcc60deee Mon Sep 17 00:00:00 2001 From: Quercitron Date: Fri, 13 Jun 2014 16:35:31 +0400 Subject: [PATCH] Remove unnecessary set of required status with setRequired method --- Mage.Sets/src/mage/sets/alarareborn/ArchitectsOfWill.java | 1 - Mage.Sets/src/mage/sets/alarareborn/DefilerOfSouls.java | 1 - Mage.Sets/src/mage/sets/alarareborn/NulltreadGargantuan.java | 1 - Mage.Sets/src/mage/sets/alarareborn/QasaliPridemage.java | 1 - Mage.Sets/src/mage/sets/alarareborn/SagesOfTheAnima.java | 1 - Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java | 1 - Mage.Sets/src/mage/sets/alliances/Browse.java | 1 - Mage.Sets/src/mage/sets/alliances/LordOfTresserhorn.java | 1 - Mage.Sets/src/mage/sets/alliances/MysticCompass.java | 1 - Mage.Sets/src/mage/sets/alliances/SoldeviSage.java | 1 - Mage.Sets/src/mage/sets/apocalypse/GoblinRingleader.java | 1 - Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java | 1 - Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java | 1 - Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java | 1 - Mage.Sets/src/mage/sets/apocalypse/SylvanMessenger.java | 1 - .../src/mage/sets/avacynrestored/AmassTheComponents.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/BloodArtist.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/DriverOfTheDead.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/LairDelve.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/PollutedDead.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/RiteOfRuin.java | 1 - .../src/mage/sets/avacynrestored/TamiyoTheMoonSage.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/TimberlandGuide.java | 1 - Mage.Sets/src/mage/sets/avacynrestored/TriumphOfCruelty.java | 1 - .../src/mage/sets/betrayersofkamigawa/HokoriDustDrinker.java | 1 - .../src/mage/sets/betrayersofkamigawa/MinamoSightbender.java | 1 - Mage.Sets/src/mage/sets/bornofthegods/OracleOfBones.java | 1 - Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java | 1 - Mage.Sets/src/mage/sets/bornofthegods/RetractionHelix.java | 1 - Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java | 1 - .../mage/sets/championsofkamigawa/EightAndAHalfTails.java | 1 - .../src/mage/sets/championsofkamigawa/GiftsUngiven.java | 1 - Mage.Sets/src/mage/sets/championsofkamigawa/HearthKami.java | 1 - .../src/mage/sets/championsofkamigawa/NezumiGraverobber.java | 1 - Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java | 1 - .../mage/sets/championsofkamigawa/ShellOfTheLastKappa.java | 1 - .../sets/championsofkamigawa/ShimatsuTheBloodcloaked.java | 1 - Mage.Sets/src/mage/sets/championsofkamigawa/WearAway.java | 1 - Mage.Sets/src/mage/sets/commander/AEthersnipe.java | 1 - Mage.Sets/src/mage/sets/commander/BladewingTheRisen.java | 1 - Mage.Sets/src/mage/sets/commander/Faultgrinder.java | 1 - Mage.Sets/src/mage/sets/commander/KodamasReach.java | 1 - Mage.Sets/src/mage/sets/commander/SewerNemesis.java | 1 - Mage.Sets/src/mage/sets/commander/Shriekmaw.java | 1 - Mage.Sets/src/mage/sets/commander/TenebTheHarvester.java | 1 - Mage.Sets/src/mage/sets/commander2013/CrosissCharm.java | 1 - Mage.Sets/src/mage/sets/commander2013/DeadwoodTreefolk.java | 1 - Mage.Sets/src/mage/sets/commander2013/EyeOfDoom.java | 1 - Mage.Sets/src/mage/sets/commander2013/HullBreach.java | 4 ---- Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java | 1 - Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java | 1 - Mage.Sets/src/mage/sets/commander2013/Reincarnation.java | 1 - Mage.Sets/src/mage/sets/commander2013/Restore.java | 1 - .../src/mage/sets/commander2013/ShattergangBrothers.java | 1 - Mage.Sets/src/mage/sets/commander2013/StrategicPlanning.java | 1 - .../src/mage/sets/commander2013/TemptWithImmortality.java | 2 -- Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java | 1 - Mage.Sets/src/mage/sets/conflux/GrixisIllusionist.java | 1 - Mage.Sets/src/mage/sets/conflux/MaelstromArchangel.java | 1 - Mage.Sets/src/mage/sets/conflux/Malfegor.java | 1 - Mage.Sets/src/mage/sets/conflux/MasterTransmuter.java | 1 - Mage.Sets/src/mage/sets/conflux/Nyxathid.java | 1 - Mage.Sets/src/mage/sets/conflux/UnstableFrontier.java | 1 - Mage.Sets/src/mage/sets/conflux/WorldlyCounsel.java | 1 - Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java | 1 - Mage.Sets/src/mage/sets/darkascension/CallToTheKindred.java | 1 - .../src/mage/sets/darkascension/CurseOfMisfortunes.java | 1 - Mage.Sets/src/mage/sets/darkascension/DungeonGeists.java | 1 - Mage.Sets/src/mage/sets/darkascension/GruesomeDiscovery.java | 1 - Mage.Sets/src/mage/sets/darkascension/HollowhengeSpirit.java | 1 - .../src/mage/sets/darkascension/HuntmasterOfTheFells.java | 1 - .../src/mage/sets/darkascension/IncreasingVengeance.java | 1 - Mage.Sets/src/mage/sets/darkascension/JarOfEyeballs.java | 1 - Mage.Sets/src/mage/sets/darkascension/MarkovWarlord.java | 1 - Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java | 1 - Mage.Sets/src/mage/sets/darksteel/PanopticMirror.java | 1 - Mage.Sets/src/mage/sets/darksteel/SunderingTitan.java | 1 - Mage.Sets/src/mage/sets/dissension/HideSeek.java | 1 - Mage.Sets/src/mage/sets/dissension/InfernalTutor.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/BreakingEntering.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/CatchRelease.java | 5 ----- Mage.Sets/src/mage/sets/dragonsmaze/ClearAPath.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/DeputyOfAcquittals.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/FleshBlood.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/HaazdaSnareSquad.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/PunishTheEnemy.java | 2 -- Mage.Sets/src/mage/sets/dragonsmaze/Showstopper.java | 1 - .../src/mage/sets/dragonsmaze/SmeltWardGatekeepers.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/UbulSarGatekeepers.java | 1 - Mage.Sets/src/mage/sets/dragonsmaze/WearTear.java | 2 -- Mage.Sets/src/mage/sets/elspethvstezzeret/EchoingTruth.java | 1 - Mage.Sets/src/mage/sets/eventide/CrumblingAshes.java | 1 - Mage.Sets/src/mage/sets/eventide/Doomgape.java | 1 - Mage.Sets/src/mage/sets/eventide/RazorfinAbolisher.java | 1 - Mage.Sets/src/mage/sets/eventide/TalarasBane.java | 1 - Mage.Sets/src/mage/sets/exodus/Cataclysm.java | 4 ---- Mage.Sets/src/mage/sets/exodus/EntropicSpecter.java | 1 - Mage.Sets/src/mage/sets/exodus/OathOfDruids.java | 1 - Mage.Sets/src/mage/sets/fifthedition/Brainstorm.java | 1 - Mage.Sets/src/mage/sets/fifthedition/Juxtapose.java | 1 - Mage.Sets/src/mage/sets/fifthedition/SylvanLibrary.java | 2 -- Mage.Sets/src/mage/sets/fourthedition/EbonyHorse.java | 1 - Mage.Sets/src/mage/sets/fourthedition/TheRack.java | 1 - Mage.Sets/src/mage/sets/futuresight/VenserShaperSavant.java | 1 - Mage.Sets/src/mage/sets/gatecrash/BaneAlleyBroker.java | 1 - Mage.Sets/src/mage/sets/gatecrash/DevourFlesh.java | 1 - Mage.Sets/src/mage/sets/gatecrash/DimirCharm.java | 1 - Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java | 1 - Mage.Sets/src/mage/sets/gatecrash/ExecutionersSwing.java | 1 - Mage.Sets/src/mage/sets/gatecrash/LordOfTheVoid.java | 1 - Mage.Sets/src/mage/sets/gatecrash/MartialGlory.java | 2 -- Mage.Sets/src/mage/sets/gatecrash/VizkopaConfessor.java | 2 -- Mage.Sets/src/mage/sets/guildpact/AbsolverThrull.java | 1 - Mage.Sets/src/mage/sets/guildpact/OrzhovEuthanist.java | 1 - Mage.Sets/src/mage/sets/iceage/GlacialChasm.java | 1 - .../src/mage/sets/innistrad/AngelOfFlightAlabaster.java | 1 - Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java | 1 - Mage.Sets/src/mage/sets/innistrad/BurningVengeance.java | 1 - Mage.Sets/src/mage/sets/innistrad/DivineReckoning.java | 1 - Mage.Sets/src/mage/sets/innistrad/FiendHunter.java | 1 - Mage.Sets/src/mage/sets/innistrad/ForbiddenAlchemy.java | 1 - Mage.Sets/src/mage/sets/innistrad/GraveyardShovel.java | 1 - Mage.Sets/src/mage/sets/innistrad/GrimgrinCorpseBorn.java | 1 - Mage.Sets/src/mage/sets/innistrad/NightTerrors.java | 1 - Mage.Sets/src/mage/sets/innistrad/PreyUpon.java | 1 - Mage.Sets/src/mage/sets/innistrad/TributeToHunger.java | 1 - Mage.Sets/src/mage/sets/invasion/DreamThrush.java | 1 - Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java | 1 - Mage.Sets/src/mage/sets/journeyintonyx/BrainMaggot.java | 1 - Mage.Sets/src/mage/sets/journeyintonyx/ConsignToDust.java | 1 - Mage.Sets/src/mage/sets/journeyintonyx/DaringThief.java | 1 - .../src/mage/sets/journeyintonyx/NessianGameWarden.java | 1 - .../src/mage/sets/journeyintonyx/PharikaGodOfAffliction.java | 1 - Mage.Sets/src/mage/sets/journeyintonyx/SpitefulBlow.java | 1 - .../src/mage/sets/journeyintonyx/TethmosHighPriest.java | 1 - Mage.Sets/src/mage/sets/judgment/FlashOfInsight.java | 1 - Mage.Sets/src/mage/sets/legions/MagmaSliver.java | 1 - Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java | 1 - Mage.Sets/src/mage/sets/limitedalpha/SpellBlast.java | 1 - Mage.Sets/src/mage/sets/lorwyn/BurrentonForgeTender.java | 1 - Mage.Sets/src/mage/sets/lorwyn/Dawnfluke.java | 1 - Mage.Sets/src/mage/sets/lorwyn/IngotChewer.java | 1 - Mage.Sets/src/mage/sets/lorwyn/MerrowReejerey.java | 1 - Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java | 1 - Mage.Sets/src/mage/sets/lorwyn/StreambedAquitects.java | 2 -- Mage.Sets/src/mage/sets/lorwyn/SyggRiverGuide.java | 1 - Mage.Sets/src/mage/sets/lorwyn/Wispmare.java | 1 - Mage.Sets/src/mage/sets/magic2010/AcidicSlime.java | 1 - Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java | 1 - Mage.Sets/src/mage/sets/magic2010/MirrorOfFate.java | 1 - Mage.Sets/src/mage/sets/magic2011/AncientHellkite.java | 1 - Mage.Sets/src/mage/sets/magic2011/Cultivate.java | 1 - Mage.Sets/src/mage/sets/magic2011/ManicVandal.java | 1 - Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java | 1 - Mage.Sets/src/mage/sets/magic2011/PhylacteryLich.java | 1 - Mage.Sets/src/mage/sets/magic2011/SunTitan.java | 1 - Mage.Sets/src/mage/sets/magic2011/WarPriestOfThune.java | 1 - Mage.Sets/src/mage/sets/magic2012/AegisAngel.java | 1 - Mage.Sets/src/mage/sets/magic2012/Monomania.java | 1 - Mage.Sets/src/mage/sets/magic2012/PhantasmalImage.java | 1 - Mage.Sets/src/mage/sets/magic2012/StonehornDignitary.java | 1 - Mage.Sets/src/mage/sets/magic2013/Archaeomancer.java | 1 - Mage.Sets/src/mage/sets/magic2013/MindclawShaman.java | 1 - Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java | 1 - Mage.Sets/src/mage/sets/magic2014/AdvocateOfTheBeast.java | 1 - Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java | 1 - Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java | 1 - Mage.Sets/src/mage/sets/magic2014/EliteArcanist.java | 1 - Mage.Sets/src/mage/sets/magic2014/GarrukCallerOfBeasts.java | 1 - Mage.Sets/src/mage/sets/magic2014/GlimpseTheFuture.java | 1 - Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java | 1 - Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java | 1 - Mage.Sets/src/mage/sets/magic2014/MasterOfDiversion.java | 1 - Mage.Sets/src/mage/sets/magic2014/PayNoHeed.java | 1 - Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java | 1 - Mage.Sets/src/mage/sets/magic2014/TidebinderMage.java | 1 - Mage.Sets/src/mage/sets/magic2014/TrainedCondor.java | 1 - Mage.Sets/src/mage/sets/mercadianmasques/DustBowl.java | 1 - Mage.Sets/src/mage/sets/mirage/PainfulMemories.java | 1 - Mage.Sets/src/mage/sets/mirrodin/GoblinCharbelcher.java | 1 - Mage.Sets/src/mage/sets/mirrodin/IsochronScepter.java | 1 - .../src/mage/sets/mirrodinbesieged/DistantMemories.java | 1 - .../src/mage/sets/mirrodinbesieged/LeoninRelicWarder.java | 1 - .../src/mage/sets/mirrodinbesieged/MitoticManipulation.java | 1 - .../src/mage/sets/mirrodinbesieged/ViridianCorrupter.java | 1 - Mage.Sets/src/mage/sets/modernmasters/IncrementalGrowth.java | 1 - Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java | 1 - Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java | 3 --- Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java | 1 - Mage.Sets/src/mage/sets/morningtide/Deglamer.java | 1 - Mage.Sets/src/mage/sets/morningtide/Nevermaker.java | 1 - Mage.Sets/src/mage/sets/morningtide/NogginWhack.java | 2 -- Mage.Sets/src/mage/sets/morningtide/Offalsnout.java | 1 - Mage.Sets/src/mage/sets/morningtide/Scapeshift.java | 1 - Mage.Sets/src/mage/sets/morningtide/Slithermuse.java | 1 - Mage.Sets/src/mage/sets/nemesis/TangleWire.java | 1 - Mage.Sets/src/mage/sets/newphyrexia/BrutalizerExarch.java | 1 - Mage.Sets/src/mage/sets/newphyrexia/EntomberExarch.java | 1 - Mage.Sets/src/mage/sets/newphyrexia/PsychicSurgery.java | 1 - .../src/mage/sets/newphyrexia/ShrineOfPiercingVision.java | 1 - Mage.Sets/src/mage/sets/ninthedition/TeferisPuzzleBox.java | 1 - Mage.Sets/src/mage/sets/odyssey/BalancingAct.java | 2 -- Mage.Sets/src/mage/sets/odyssey/BalshanBeguiler.java | 1 - Mage.Sets/src/mage/sets/odyssey/BashToBits.java | 1 - Mage.Sets/src/mage/sets/odyssey/CabalPatriarch.java | 1 - Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java | 1 - Mage.Sets/src/mage/sets/odyssey/Dreamwinder.java | 1 - Mage.Sets/src/mage/sets/odyssey/DruidLyrist.java | 1 - Mage.Sets/src/mage/sets/odyssey/GracefulAntelope.java | 1 - Mage.Sets/src/mage/sets/odyssey/RottingGiant.java | 1 - Mage.Sets/src/mage/sets/odyssey/SadisticHypnotist.java | 1 - Mage.Sets/src/mage/sets/odyssey/ZombieAssassin.java | 1 - Mage.Sets/src/mage/sets/onslaught/ContestedCliffs.java | 2 -- Mage.Sets/src/mage/sets/onslaught/VoidmageProdigy.java | 1 - Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java | 1 - Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java | 1 - Mage.Sets/src/mage/sets/planarchaos/Stingscourger.java | 1 - Mage.Sets/src/mage/sets/planechase/BeaconOfUnrest.java | 1 - Mage.Sets/src/mage/sets/planeshift/SunkenHope.java | 1 - .../src/mage/sets/portalthreekingdoms/BurningOfXinye.java | 1 - .../mage/sets/portalthreekingdoms/DiaochanArtfulBeauty.java | 1 - Mage.Sets/src/mage/sets/ravnika/CongregationAtDawn.java | 1 - Mage.Sets/src/mage/sets/ravnika/HuntedDragon.java | 1 - Mage.Sets/src/mage/sets/ravnika/HuntedHorror.java | 1 - Mage.Sets/src/mage/sets/ravnika/HuntedLammasu.java | 1 - Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java | 1 - Mage.Sets/src/mage/sets/ravnika/HuntedTroll.java | 1 - Mage.Sets/src/mage/sets/ravnika/Mindmoil.java | 1 - Mage.Sets/src/mage/sets/ravnika/SistersOfStoneDeath.java | 1 - Mage.Sets/src/mage/sets/ravnika/Sunforger.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/AzoriusArrester.java | 1 - .../src/mage/sets/returntoravnica/DestroyTheEvidence.java | 1 - .../src/mage/sets/returntoravnica/InactionInjunction.java | 1 - .../src/mage/sets/returntoravnica/IsperiasSkywatch.java | 1 - .../mage/sets/returntoravnica/JaceArchitectOfThought.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/LyevSkyknight.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/MartialLaw.java | 1 - .../src/mage/sets/returntoravnica/NewPrahvGuildmage.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/Pyroconvergence.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/SkymarkRoc.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/SoulswornSpirit.java | 1 - Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java | 1 - .../src/mage/sets/riseoftheeldrazi/AkoumBoulderfoot.java | 1 - .../src/mage/sets/riseoftheeldrazi/ConsumingVapors.java | 1 - .../src/mage/sets/riseoftheeldrazi/PerishTheThought.java | 1 - .../src/mage/sets/riseoftheeldrazi/RealmsUncharted.java | 1 - Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java | 1 - .../src/mage/sets/saviorsofkamigawa/ChoiceOfDamnations.java | 1 - .../src/mage/sets/saviorsofkamigawa/CutTheEarthlyBond.java | 1 - .../src/mage/sets/saviorsofkamigawa/ThoughtsOfRuin.java | 1 - .../src/mage/sets/scarsofmirrodin/BleakCovenVampires.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/CloneShell.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionClasp.java | 1 - .../src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java | 1 - .../src/mage/sets/scarsofmirrodin/GlimmerpointStag.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/PrototypePortal.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/Skinrender.java | 1 - .../src/mage/sets/scarsofmirrodin/TrigonOfCorruption.java | 1 - Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfRage.java | 1 - .../src/mage/sets/scarsofmirrodin/VenserTheSojourner.java | 2 -- Mage.Sets/src/mage/sets/scourge/KrosanWarchief.java | 1 - Mage.Sets/src/mage/sets/scourge/SliverOverlord.java | 1 - .../src/mage/sets/seventhedition/AgonizingMemories.java | 1 - .../src/mage/sets/seventhedition/AncestralMemories.java | 1 - Mage.Sets/src/mage/sets/shadowmoor/IncrementalBlight.java | 1 - Mage.Sets/src/mage/sets/shadowmoor/InquisitorsSnare.java | 1 - Mage.Sets/src/mage/sets/shadowmoor/OrderOfWhiteclay.java | 1 - Mage.Sets/src/mage/sets/shadowmoor/PuppeteerClique.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/AgonyWarp.java | 2 -- .../src/mage/sets/shardsofalara/BrilliantUltimatum.java | 2 -- Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java | 1 - .../src/mage/sets/shardsofalara/GiftOfTheGargantuan.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/OblivionRing.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/ResoundingSilence.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/ResoundingWave.java | 1 - Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java | 1 - Mage.Sets/src/mage/sets/stronghold/StrongholdAssassin.java | 1 - Mage.Sets/src/mage/sets/tempest/DreamCache.java | 1 - Mage.Sets/src/mage/sets/tempest/Intuition.java | 2 -- Mage.Sets/src/mage/sets/tempest/Lobotomy.java | 1 - Mage.Sets/src/mage/sets/tempest/ScrollRack.java | 1 - Mage.Sets/src/mage/sets/tenth/TellingTime.java | 1 - Mage.Sets/src/mage/sets/tenth/ThrullSurgeon.java | 1 - Mage.Sets/src/mage/sets/theros/ArborColossus.java | 1 - Mage.Sets/src/mage/sets/theros/ArenaAthlete.java | 1 - Mage.Sets/src/mage/sets/theros/AshiokNightmareWeaver.java | 1 - Mage.Sets/src/mage/sets/theros/BowOfNylea.java | 2 -- Mage.Sets/src/mage/sets/theros/DarkBetrayal.java | 1 - Mage.Sets/src/mage/sets/theros/DestructiveRevelry.java | 1 - Mage.Sets/src/mage/sets/theros/DiscipleOfPhenax.java | 2 -- Mage.Sets/src/mage/sets/theros/Dissolve.java | 1 - Mage.Sets/src/mage/sets/theros/EpharasWarden.java | 1 - Mage.Sets/src/mage/sets/theros/FadeIntoAntiquity.java | 1 - Mage.Sets/src/mage/sets/theros/Gainsay.java | 1 - Mage.Sets/src/mage/sets/theros/GlareOfHeresy.java | 1 - Mage.Sets/src/mage/sets/theros/HeliodsEmissary.java | 2 -- Mage.Sets/src/mage/sets/theros/HerosDownfall.java | 1 - Mage.Sets/src/mage/sets/theros/HuntTheHunter.java | 1 - Mage.Sets/src/mage/sets/theros/KeepsakeGorgon.java | 1 - Mage.Sets/src/mage/sets/theros/LoathsomeCatoblepas.java | 1 - Mage.Sets/src/mage/sets/theros/MeletisCharlatan.java | 1 - Mage.Sets/src/mage/sets/theros/PharikasMender.java | 1 - Mage.Sets/src/mage/sets/theros/PolisCrusher.java | 1 - Mage.Sets/src/mage/sets/theros/PriestOfIroas.java | 1 - Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java | 2 -- Mage.Sets/src/mage/sets/theros/RayOfDissolution.java | 1 - Mage.Sets/src/mage/sets/theros/RescueFromTheUnderworld.java | 1 - Mage.Sets/src/mage/sets/theros/SealockMonster.java | 1 - Mage.Sets/src/mage/sets/theros/ShipwreckSinger.java | 1 - Mage.Sets/src/mage/sets/theros/ShreddingWinds.java | 1 - Mage.Sets/src/mage/sets/theros/SpearOfHeliod.java | 1 - Mage.Sets/src/mage/sets/theros/TimeToFeed.java | 1 - Mage.Sets/src/mage/sets/theros/TriadOfFates.java | 3 --- Mage.Sets/src/mage/sets/theros/VanquishTheFoul.java | 1 - Mage.Sets/src/mage/sets/theros/VoyagingSatyr.java | 1 - Mage.Sets/src/mage/sets/theros/WildCelebrants.java | 1 - Mage.Sets/src/mage/sets/timeshifted/Desert.java | 1 - Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java | 1 - Mage.Sets/src/mage/sets/timespiral/HarmonicSliver.java | 1 - Mage.Sets/src/mage/sets/timespiral/RestoreBalance.java | 3 --- Mage.Sets/src/mage/sets/timespiral/StuffyDoll.java | 1 - Mage.Sets/src/mage/sets/torment/MesmericFiend.java | 1 - Mage.Sets/src/mage/sets/urzasdestiny/SigilOfSleep.java | 1 - Mage.Sets/src/mage/sets/urzaslegacy/HarmonicConvergence.java | 1 - Mage.Sets/src/mage/sets/urzaslegacy/RavenFamiliar.java | 1 - Mage.Sets/src/mage/sets/urzassaga/Exhume.java | 1 - Mage.Sets/src/mage/sets/urzassaga/Smokestack.java | 1 - Mage.Sets/src/mage/sets/urzassaga/SternProctor.java | 1 - Mage.Sets/src/mage/sets/visions/GoblinRecruiter.java | 1 - Mage.Sets/src/mage/sets/visions/MiraculousRecovery.java | 1 - Mage.Sets/src/mage/sets/weatherlight/Doomsday.java | 1 - Mage.Sets/src/mage/sets/weatherlight/Firestorm.java | 1 - Mage.Sets/src/mage/sets/weatherlight/Tariff.java | 1 - Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java | 1 - Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java | 3 --- Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java | 1 - Mage.Sets/src/mage/sets/zendikar/JourneyToNowhere.java | 1 - Mage.Sets/src/mage/sets/zendikar/MerfolkWayfinder.java | 1 - Mage.Sets/src/mage/sets/zendikar/MoldShambler.java | 1 - Mage.Sets/src/mage/sets/zendikar/SummoningTrap.java | 1 - Mage.Sets/src/mage/sets/zendikar/WorldQueller.java | 1 - Mage/src/mage/abilities/costs/common/DiscardXTargetCost.java | 1 - .../mage/abilities/costs/common/ExileXFromYourGraveCost.java | 1 - .../mage/abilities/costs/common/SacrificeXTargetCost.java | 1 - Mage/src/mage/abilities/effects/ContinuousEffects.java | 1 - .../mage/abilities/effects/common/CopyPermanentEffect.java | 1 - .../common/ExileCardFromOwnGraveyardControllerEffect.java | 1 - .../common/ExileCardYouChooseTargetOpponentEffect.java | 1 - .../effects/common/LookLibraryControllerEffect.java | 1 - Mage/src/mage/abilities/effects/common/PopulateEffect.java | 1 - .../common/ReturnToHandChosenControlledPermanentEffect.java | 1 - .../effects/common/RevealLibraryPutIntoHandEffect.java | 1 - Mage/src/mage/abilities/effects/common/SacrificeEffect.java | 1 - Mage/src/mage/abilities/effects/common/ScryEffect.java | 1 - Mage/src/mage/abilities/effects/common/SweepEffect.java | 1 - .../common/discard/DiscardCardYouChooseTargetEffect.java | 2 -- .../effects/common/discard/DiscardEachPlayerEffect.java | 1 - Mage/src/mage/abilities/keyword/FlashbackAbility.java | 3 --- Mage/src/mage/abilities/keyword/HideawayAbility.java | 1 - Mage/src/mage/abilities/keyword/ModularAbility.java | 1 - Mage/src/mage/abilities/keyword/RetraceAbility.java | 3 --- Mage/src/mage/game/GameImpl.java | 3 --- Mage/src/mage/target/TargetAmount.java | 1 - .../src/mage/target/common/TargetCreatureOrPlaneswalker.java | 3 --- Mage/src/mage/target/common/TargetDiscard.java | 1 - Mage/src/mage/target/common/TargetNonBasicLandPermanent.java | 1 - 370 files changed, 415 deletions(-) diff --git a/Mage.Sets/src/mage/sets/alarareborn/ArchitectsOfWill.java b/Mage.Sets/src/mage/sets/alarareborn/ArchitectsOfWill.java index 39bac2325a0..f53b62ff63c 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/ArchitectsOfWill.java +++ b/Mage.Sets/src/mage/sets/alarareborn/ArchitectsOfWill.java @@ -120,7 +120,6 @@ class ArchitectsOfWillEffect extends OneShotEffect { you.lookAtCards("Architects of Will", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the top of target player's library")); - target.setRequired(true); while (you.isInGame() && cards.size() > 1) { you.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/alarareborn/DefilerOfSouls.java b/Mage.Sets/src/mage/sets/alarareborn/DefilerOfSouls.java index f3d6adbc9c6..1c77c801b3e 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/DefilerOfSouls.java +++ b/Mage.Sets/src/mage/sets/alarareborn/DefilerOfSouls.java @@ -104,7 +104,6 @@ class DefilerOfSoulsEffect extends OneShotEffect { amount = Math.min(1, realCount); Target target = new TargetControlledPermanent(amount, amount, filter, false); - target.setRequired(true); target.setNotTarget(true); //A spell or ability could have removed the only legal target this player diff --git a/Mage.Sets/src/mage/sets/alarareborn/NulltreadGargantuan.java b/Mage.Sets/src/mage/sets/alarareborn/NulltreadGargantuan.java index 8d5e9b22cc4..7aec62dea4e 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/NulltreadGargantuan.java +++ b/Mage.Sets/src/mage/sets/alarareborn/NulltreadGargantuan.java @@ -55,7 +55,6 @@ public class NulltreadGargantuan extends CardImpl { this.toughness = new MageInt(6); Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), false); Target target = new TargetControlledCreaturePermanent(); - target.setRequired(true); target.setNotTarget(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/alarareborn/QasaliPridemage.java b/Mage.Sets/src/mage/sets/alarareborn/QasaliPridemage.java index fa0891aa0e3..430057b2a74 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/QasaliPridemage.java +++ b/Mage.Sets/src/mage/sets/alarareborn/QasaliPridemage.java @@ -77,7 +77,6 @@ public class QasaliPridemage extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}")); ability.addCost(new SacrificeSourceCost()); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/alarareborn/SagesOfTheAnima.java b/Mage.Sets/src/mage/sets/alarareborn/SagesOfTheAnima.java index 9b4b9bf0c36..fc396b3e7b5 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/SagesOfTheAnima.java +++ b/Mage.Sets/src/mage/sets/alarareborn/SagesOfTheAnima.java @@ -122,7 +122,6 @@ class SagesOfTheAnimaReplacementEffect extends ReplacementEffectImpl { } } TargetCard target = new TargetCard(Zone.PICK, new FilterCard()); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java b/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java index 5c01eed5aa2..7c3b6f6a2ac 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java +++ b/Mage.Sets/src/mage/sets/alarareborn/VengefulRebirth.java @@ -58,7 +58,6 @@ public class VengefulRebirth extends CardImpl { this.color.setGreen(true); // Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, {this} deals damage equal to that card's converted mana cost to target creature or player Target target = new TargetCardInYourGraveyard(); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); this.getSpellAbility().addEffect(new VengefulRebirthEffect()); diff --git a/Mage.Sets/src/mage/sets/alliances/Browse.java b/Mage.Sets/src/mage/sets/alliances/Browse.java index 70fabb5ca2f..2e3a992ca12 100644 --- a/Mage.Sets/src/mage/sets/alliances/Browse.java +++ b/Mage.Sets/src/mage/sets/alliances/Browse.java @@ -107,7 +107,6 @@ class BrowseEffect extends OneShotEffect { player.lookAtCards("Browse", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand")); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/alliances/LordOfTresserhorn.java b/Mage.Sets/src/mage/sets/alliances/LordOfTresserhorn.java index cde1b70adf5..653913bad9e 100644 --- a/Mage.Sets/src/mage/sets/alliances/LordOfTresserhorn.java +++ b/Mage.Sets/src/mage/sets/alliances/LordOfTresserhorn.java @@ -70,7 +70,6 @@ public class LordOfTresserhorn extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new LoseLifeSourceControllerEffect(2), false); ability.addEffect(new SacrificeTargetEffect(", you sacrifice two creatures")); Target target = new TargetControlledCreaturePermanent(2,2, new FilterControlledCreaturePermanent(), true); - target.setRequired(true); ability.addTarget(target); Effect effect = new DrawCardTargetEffect(2); effect.setText(", and target opponent draws two cards"); diff --git a/Mage.Sets/src/mage/sets/alliances/MysticCompass.java b/Mage.Sets/src/mage/sets/alliances/MysticCompass.java index 7c2e67454cf..995b4f93043 100644 --- a/Mage.Sets/src/mage/sets/alliances/MysticCompass.java +++ b/Mage.Sets/src/mage/sets/alliances/MysticCompass.java @@ -55,7 +55,6 @@ public class MysticCompass extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}")); ability.addCost(new TapSourceCost()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/alliances/SoldeviSage.java b/Mage.Sets/src/mage/sets/alliances/SoldeviSage.java index 7376eb3aa6f..dbacea4d0b9 100644 --- a/Mage.Sets/src/mage/sets/alliances/SoldeviSage.java +++ b/Mage.Sets/src/mage/sets/alliances/SoldeviSage.java @@ -112,7 +112,6 @@ class SoldeviSageEffect extends OneShotEffect { if (drawnCards.size() > 0) { TargetCard cardToDiscard = new TargetCard(Zone.PICK, new FilterCard("card to discard")); - cardToDiscard.setRequired(true); cardToDiscard.setNotTarget(true); if (player.choose(Outcome.Discard, drawnCards, cardToDiscard, game)) { Card card = player.getHand().get(cardToDiscard.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/apocalypse/GoblinRingleader.java b/Mage.Sets/src/mage/sets/apocalypse/GoblinRingleader.java index 5e74d334765..9294c654d76 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/GoblinRingleader.java +++ b/Mage.Sets/src/mage/sets/apocalypse/GoblinRingleader.java @@ -125,7 +125,6 @@ class GoblinRingleaderEffect extends OneShotEffect { player.revealCards(sourceCard.getName(), cards, game); } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards2.size() > 0 && player.choose(Outcome.Detriment, cards2, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java b/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java index 52162fb53fd..c05b4300e48 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java +++ b/Mage.Sets/src/mage/sets/apocalypse/IllusionReality.java @@ -59,7 +59,6 @@ public class IllusionReality extends SplitCard { getLeftHalfCard().getColor().setBlue(true); getLeftHalfCard().getSpellAbility().addEffect(new SetCardColorTargetEffect(Duration.EndOfTurn)); Target target = new TargetSpellOrPermanent(); - target.setRequired(true); getLeftHalfCard().getSpellAbility().addTarget(target); getLeftHalfCard().getSpellAbility().addChoice(new ChoiceColor()); diff --git a/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java b/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java index f6bf2f864bd..2326e8d2cf2 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java +++ b/Mage.Sets/src/mage/sets/apocalypse/LifeDeath.java @@ -72,7 +72,6 @@ public class LifeDeath extends SplitCard { // Return target creature card from your graveyard to the battlefield. You lose life equal to its converted mana cost. getRightHalfCard().getColor().setBlack(true); Target target = new TargetCardInYourGraveyard(1, new FilterCreatureCard("creature card from your graveyard")); - target.setRequired(true); getRightHalfCard().getSpellAbility().addTarget(target); getRightHalfCard().getSpellAbility().addEffect(new DeathEffect()); diff --git a/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java b/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java index c86254ba882..af280d76ead 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java +++ b/Mage.Sets/src/mage/sets/apocalypse/OrderChaos.java @@ -59,7 +59,6 @@ public class OrderChaos extends SplitCard { getLeftHalfCard().getColor().setWhite(true); getLeftHalfCard().getSpellAbility().addEffect(new ExileTargetEffect()); Target target = new TargetAttackingCreature(); - target.setRequired(true); getLeftHalfCard().getSpellAbility().addTarget(target); // Chaos diff --git a/Mage.Sets/src/mage/sets/apocalypse/SylvanMessenger.java b/Mage.Sets/src/mage/sets/apocalypse/SylvanMessenger.java index 667dd0a7825..a331a71b219 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/SylvanMessenger.java +++ b/Mage.Sets/src/mage/sets/apocalypse/SylvanMessenger.java @@ -131,7 +131,6 @@ class SylvanMessengerEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards2.size() > 0 && player.choose(Outcome.Detriment, cards2, target, game)) { Card card = cards2.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/avacynrestored/AmassTheComponents.java b/Mage.Sets/src/mage/sets/avacynrestored/AmassTheComponents.java index 656fca8982e..2e93c3e3b78 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/AmassTheComponents.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/AmassTheComponents.java @@ -95,7 +95,6 @@ class AmassTheComponentsEffect extends OneShotEffect { if (player.getHand().size() > 0) { FilterCard filter = new FilterCard("card from your hand to put on the bottom of your library"); TargetCard target = new TargetCard(Zone.HAND, filter); - target.setRequired(true); if (player.choose(Outcome.Detriment, player.getHand(), target, game)) { Card card = player.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/BloodArtist.java b/Mage.Sets/src/mage/sets/avacynrestored/BloodArtist.java index 4f22e3ba6a8..bc249a2bbf6 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/BloodArtist.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/BloodArtist.java @@ -59,7 +59,6 @@ public class BloodArtist extends CardImpl { Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(new LoseLifeTargetEffect(1), false); ability.addEffect(new GainLifeEffect(1)); Target target = new TargetPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/DriverOfTheDead.java b/Mage.Sets/src/mage/sets/avacynrestored/DriverOfTheDead.java index 4ce0fcda064..d1c44d0e36c 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/DriverOfTheDead.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/DriverOfTheDead.java @@ -65,7 +65,6 @@ public class DriverOfTheDead extends CardImpl { // When Driver of the Dead dies, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. Ability ability = new DiesTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), false); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/LairDelve.java b/Mage.Sets/src/mage/sets/avacynrestored/LairDelve.java index c907d612f68..8b307069f70 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/LairDelve.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/LairDelve.java @@ -108,7 +108,6 @@ class LairDelveEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/PollutedDead.java b/Mage.Sets/src/mage/sets/avacynrestored/PollutedDead.java index e472964e431..03e0d7a560e 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/PollutedDead.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/PollutedDead.java @@ -56,7 +56,6 @@ public class PollutedDead extends CardImpl { // When Polluted Dead dies, destroy target land. Ability ability = new DiesTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/RiteOfRuin.java b/Mage.Sets/src/mage/sets/avacynrestored/RiteOfRuin.java index db63e296ac6..8b3c45ca258 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/RiteOfRuin.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/RiteOfRuin.java @@ -117,7 +117,6 @@ class RiteOfRuinEffect extends OneShotEffect { for (UUID playerId : controller.getInRange()) { int amount = Math.min(count, game.getBattlefield().countAll(filter, playerId, game)); TargetControlledPermanent target = new TargetControlledPermanent(amount, amount, filter, false); - target.setRequired(true); Player player = game.getPlayer(playerId); if (player != null && player.choose(Outcome.Sacrifice, target, source.getSourceId(), game)) { sacrifices.addAll(target.getTargets()); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java b/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java index 0e8bbaa9550..735901f22d4 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TamiyoTheMoonSage.java @@ -81,7 +81,6 @@ public class TamiyoTheMoonSage extends CardImpl { LoyaltyAbility ability = new LoyaltyAbility(new TapTargetEffect(), 1); ability.addEffect(new SkipNextUntapTargetEffect()); Target target = new TargetPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TimberlandGuide.java b/Mage.Sets/src/mage/sets/avacynrestored/TimberlandGuide.java index 2a44b0a48e5..f1b69a5e046 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TimberlandGuide.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TimberlandGuide.java @@ -57,7 +57,6 @@ public class TimberlandGuide extends CardImpl { // When Timberland Guide enters the battlefield, put a +1/+1 counter on target creature. Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance())); TargetCreaturePermanent target = new TargetCreaturePermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfCruelty.java b/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfCruelty.java index 0ad8ce356a0..49cd01066b3 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfCruelty.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/TriumphOfCruelty.java @@ -58,7 +58,6 @@ public class TriumphOfCruelty extends CardImpl { // At the beginning of your upkeep, target opponent discards a card if you control the creature with the greatest power or tied for the greatest power. TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(new ConditionalTriggeredAbility(ability, ControlsBiggestOrTiedCreatureCondition.getInstance(), ruleText)); } diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/HokoriDustDrinker.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HokoriDustDrinker.java index 987ad5f8e9b..c7672f49c79 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/HokoriDustDrinker.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HokoriDustDrinker.java @@ -105,7 +105,6 @@ class HokoriDustDrinkerUntapEffect extends OneShotEffect { FilterLandPermanent filter = new FilterLandPermanent("land you control"); filter.add(new ControllerIdPredicate(game.getActivePlayerId())); Target target = new TargetLandPermanent(filter); - target.setRequired(true); if (player != null && player.chooseTarget(Outcome.Untap, target, source, game)) { for (UUID landId : target.getTargets()) { Permanent land = game.getPermanent(landId); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/MinamoSightbender.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/MinamoSightbender.java index 84b200cc7fe..b1a17eabd6b 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/MinamoSightbender.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/MinamoSightbender.java @@ -74,7 +74,6 @@ public class MinamoSightbender extends CardImpl { // {X}, {T}: Target creature with power X or less is unblockable this turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UnblockableTargetEffect(), new ManaCostsImpl("{X}")); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); ability.addCost(new TapSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/OracleOfBones.java b/Mage.Sets/src/mage/sets/bornofthegods/OracleOfBones.java index 72e12b17cb8..a431e8d3076 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/OracleOfBones.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/OracleOfBones.java @@ -108,7 +108,6 @@ class OracleOfBonesCastEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Target target = new TargetCardInHand(filter); - target.setRequired(true); if (target.canChoose(source.getSourceId(), controller.getId(), game) && controller.chooseUse(outcome, "Cast an instant or sorcery card from your hand without paying its mana cost?", game)) { Card cardToCast = null; diff --git a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java index ecd3206e87e..d69aeab4621 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java @@ -110,7 +110,6 @@ class PeregrinationEffect extends OneShotEffect { player.revealCards("Peregrination", revealed, game); if (target.getTargets().size() == 2) { TargetCard target2 = new TargetCard(Zone.PICK, filter); - target2.setRequired(true); player.choose(Outcome.Benefit, revealed, target2, game); Card card = revealed.get(target2.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/RetractionHelix.java b/Mage.Sets/src/mage/sets/bornofthegods/RetractionHelix.java index 4ec25d7408d..9c0c3b8ca71 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/RetractionHelix.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/RetractionHelix.java @@ -58,7 +58,6 @@ public class RetractionHelix extends CardImpl { // Until end of turn, target creature gains "{T}: Return target nonland permanent to its owner's hand." Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new TapSourceCost()); Target target = new TargetNonlandPermanent(); - target.setRequired(true); gainedAbility.addTarget(target); Effect effect = new GainAbilityTargetEffect(gainedAbility, Duration.EndOfTurn); effect.setText("Until end of turn, target creature gains \"{T}: Return target nonland permanent to its owner's hand.\""); diff --git a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java index 1fe3560c8be..1ce9d6c8416 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java @@ -65,7 +65,6 @@ public class UnravelTheAEther extends CardImpl { // Choose target artifact or enchantment. Its owner shuffles it into his or her library. this.getSpellAbility().addEffect(new UnravelTheAEtherShuffleIntoLibraryEffect()); Target target = new TargetPermanent(1,1,filter,true); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/EightAndAHalfTails.java b/Mage.Sets/src/mage/sets/championsofkamigawa/EightAndAHalfTails.java index f2089009e74..57193dd7205 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/EightAndAHalfTails.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/EightAndAHalfTails.java @@ -79,7 +79,6 @@ public class EightAndAHalfTails extends CardImpl { ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SetCardColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn, "Target spell or permanent becomes white until end of turn"), new ManaCostsImpl("{1}")); target = new TargetSpellOrPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java index eec940c3f31..b6f149ba6d6 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java @@ -121,7 +121,6 @@ class GiftsUngivenEffect extends OneShotEffect { opponent = game.getPlayer(game.getOpponents(player.getId()).iterator().next()); } TargetCard targetDiscard = new TargetCard(2, Zone.PICK, new FilterCard("cards to put in graveyard")); - targetDiscard.setRequired(true); if (opponent != null && opponent.choose(Outcome.Discard, cards, targetDiscard, game)) { cardsToKeep.removeAll(targetDiscard.getTargets()); cards.removeAll(cardsToKeep); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/HearthKami.java b/Mage.Sets/src/mage/sets/championsofkamigawa/HearthKami.java index 82fb734aa05..1ee9ba14813 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/HearthKami.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/HearthKami.java @@ -74,7 +74,6 @@ public class HearthKami extends CardImpl { FilterArtifactPermanent filter = new FilterArtifactPermanent(new StringBuilder("artifact with converted mana cost ").append(xValue).toString()); filter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.Equal, xValue)); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/NezumiGraverobber.java b/Mage.Sets/src/mage/sets/championsofkamigawa/NezumiGraverobber.java index afa5d03a3e4..c2a187ffd75 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/NezumiGraverobber.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/NezumiGraverobber.java @@ -70,7 +70,6 @@ public class NezumiGraverobber extends CardImpl { // {1}{B}: Exile target card from an opponent's graveyard. If no cards are in that graveyard, flip Nezumi Graverobber. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{B}")); Target target = new TargetCardInOpponentsGraveyard(new FilterCard("card from an opponent's graveyard")); - target.setRequired(true); ability.addTarget(target); ability.addEffect(new NezumiGraverobberFlipEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java index 45703d2f652..87605e5a02f 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java @@ -63,7 +63,6 @@ public class Reweave extends CardImpl { // Target permanent's controller sacrifices it. If he or she does, that player reveals cards from the top of his or her library until he or she reveals a permanent card that shares a card type with the sacrificed permanent, puts that card onto the battlefield, then shuffles his or her library. this.getSpellAbility().addEffect(new ReweaveEffect()); Target target = new TargetPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Splice onto Arcane {2}{U}{U} diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/ShellOfTheLastKappa.java b/Mage.Sets/src/mage/sets/championsofkamigawa/ShellOfTheLastKappa.java index 4b9376a939e..9de72170eb9 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/ShellOfTheLastKappa.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/ShellOfTheLastKappa.java @@ -77,7 +77,6 @@ public class ShellOfTheLastKappa extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShellOfTheLastKappaEffect(), new ManaCostsImpl("{3}")); ability.addCost(new TapSourceCost()); Target target = new TargetSpell(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {3}, {tap}, Sacrifice Shell of the Last Kappa: You may cast a card exiled with Shell of the Last Kappa without paying its mana cost. diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/ShimatsuTheBloodcloaked.java b/Mage.Sets/src/mage/sets/championsofkamigawa/ShimatsuTheBloodcloaked.java index 0c711488848..f12a97206a8 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/ShimatsuTheBloodcloaked.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/ShimatsuTheBloodcloaked.java @@ -107,7 +107,6 @@ class ShimatsuTheBloodcloakedEffect extends ReplacementEffectImpl { Player controller = game.getPlayer(source.getControllerId()); if (creature != null && controller != null) { Target target = new TargetControlledPermanent(0, Integer.MAX_VALUE, new FilterPermanent(), true); - target.setRequired(false); if (!target.canChoose(source.getSourceId(), source.getControllerId(), game)) { return false; } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/WearAway.java b/Mage.Sets/src/mage/sets/championsofkamigawa/WearAway.java index 0c9160298f4..f092f89ed28 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/WearAway.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/WearAway.java @@ -60,7 +60,6 @@ public class WearAway extends CardImpl { // Destroy target artifact or enchantment. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Splice onto Arcane {3}{G} this.addAbility(new SpliceOntoArcaneAbility("{3}{G}")); diff --git a/Mage.Sets/src/mage/sets/commander/AEthersnipe.java b/Mage.Sets/src/mage/sets/commander/AEthersnipe.java index 2fbcfe11c57..4648bf8531d 100644 --- a/Mage.Sets/src/mage/sets/commander/AEthersnipe.java +++ b/Mage.Sets/src/mage/sets/commander/AEthersnipe.java @@ -57,7 +57,6 @@ public class AEthersnipe extends CardImpl { // When AEthersnipe enters the battlefield, return target nonland permanent to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()); Target target = new TargetNonlandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/commander/BladewingTheRisen.java b/Mage.Sets/src/mage/sets/commander/BladewingTheRisen.java index 1c28ed9af55..fd4e4824994 100644 --- a/Mage.Sets/src/mage/sets/commander/BladewingTheRisen.java +++ b/Mage.Sets/src/mage/sets/commander/BladewingTheRisen.java @@ -77,7 +77,6 @@ public class BladewingTheRisen extends CardImpl { // When Bladewing the Risen enters the battlefield, you may return target Dragon permanent card from your graveyard to the battlefield. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); Target target = new TargetCardInYourGraveyard(filterCard); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {B}{R}: Dragon creatures get +1/+1 until end of turn. diff --git a/Mage.Sets/src/mage/sets/commander/Faultgrinder.java b/Mage.Sets/src/mage/sets/commander/Faultgrinder.java index 24301a69f69..7b913095369 100644 --- a/Mage.Sets/src/mage/sets/commander/Faultgrinder.java +++ b/Mage.Sets/src/mage/sets/commander/Faultgrinder.java @@ -60,7 +60,6 @@ public class Faultgrinder extends CardImpl { // When Faultgrinder enters the battlefield, destroy target land. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/commander/KodamasReach.java b/Mage.Sets/src/mage/sets/commander/KodamasReach.java index 2ef63067220..bd5f72634fb 100644 --- a/Mage.Sets/src/mage/sets/commander/KodamasReach.java +++ b/Mage.Sets/src/mage/sets/commander/KodamasReach.java @@ -106,7 +106,6 @@ class KodamasReachEffect extends OneShotEffect { player.revealCards("Kodama's Reach", revealed, game); if (target.getTargets().size() == 2) { TargetCard target2 = new TargetCard(Zone.PICK, filter); - target2.setRequired(true); player.choose(Outcome.Benefit, revealed, target2, game); Card card = revealed.get(target2.getFirstTarget(), game); card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId()); diff --git a/Mage.Sets/src/mage/sets/commander/SewerNemesis.java b/Mage.Sets/src/mage/sets/commander/SewerNemesis.java index 601ef6360af..d165d56b7e5 100644 --- a/Mage.Sets/src/mage/sets/commander/SewerNemesis.java +++ b/Mage.Sets/src/mage/sets/commander/SewerNemesis.java @@ -106,7 +106,6 @@ class SewerNemesisChoosePlayerEffect extends OneShotEffect { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { TargetPlayer target = new TargetPlayer(); - target.setRequired(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); if (chosenPlayer != null) { diff --git a/Mage.Sets/src/mage/sets/commander/Shriekmaw.java b/Mage.Sets/src/mage/sets/commander/Shriekmaw.java index d8b63b017b0..386e93dad53 100644 --- a/Mage.Sets/src/mage/sets/commander/Shriekmaw.java +++ b/Mage.Sets/src/mage/sets/commander/Shriekmaw.java @@ -73,7 +73,6 @@ public class Shriekmaw extends CardImpl { // When Shriekmaw enters the battlefield, destroy target nonartifact, nonblack creature. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/commander/TenebTheHarvester.java b/Mage.Sets/src/mage/sets/commander/TenebTheHarvester.java index 22b06675cf6..31e1ac17105 100644 --- a/Mage.Sets/src/mage/sets/commander/TenebTheHarvester.java +++ b/Mage.Sets/src/mage/sets/commander/TenebTheHarvester.java @@ -66,7 +66,6 @@ public class TenebTheHarvester extends CardImpl { Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility( new DoIfCostPaid(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{2}{B}")), false); Target target = new TargetCardInGraveyard(new FilterCreatureCard("creature card from a graveyard")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/commander2013/CrosissCharm.java b/Mage.Sets/src/mage/sets/commander2013/CrosissCharm.java index 81fbc832244..f7b73f5bbe6 100644 --- a/Mage.Sets/src/mage/sets/commander2013/CrosissCharm.java +++ b/Mage.Sets/src/mage/sets/commander2013/CrosissCharm.java @@ -74,7 +74,6 @@ public class CrosissCharm extends CardImpl { mode = new Mode(); mode.getEffects().add(new DestroyTargetEffect(true)); Target target = new TargetArtifactPermanent(); - target.setRequired(true); mode.getTargets().add(target); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/sets/commander2013/DeadwoodTreefolk.java b/Mage.Sets/src/mage/sets/commander2013/DeadwoodTreefolk.java index f0474f040f4..7e2dad1d357 100644 --- a/Mage.Sets/src/mage/sets/commander2013/DeadwoodTreefolk.java +++ b/Mage.Sets/src/mage/sets/commander2013/DeadwoodTreefolk.java @@ -75,7 +75,6 @@ public class DeadwoodTreefolk extends CardImpl { // When Deadwood Treefolk enters the battlefield or leaves the battlefield, return another target creature card from your graveyard to your hand. ability = new EntersBattlefieldOrDiesSourceTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), false); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/commander2013/EyeOfDoom.java b/Mage.Sets/src/mage/sets/commander2013/EyeOfDoom.java index 91b2557441b..219ad9c8d1f 100644 --- a/Mage.Sets/src/mage/sets/commander2013/EyeOfDoom.java +++ b/Mage.Sets/src/mage/sets/commander2013/EyeOfDoom.java @@ -107,7 +107,6 @@ class EyeOfDoomEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { List permanents = new ArrayList<>(); Target target = new TargetNonlandPermanent(); - target.setRequired(true); target.setNotTarget(false); PlayerList playerList = game.getPlayerList().copy(); playerList.setCurrent(game.getActivePlayerId()); diff --git a/Mage.Sets/src/mage/sets/commander2013/HullBreach.java b/Mage.Sets/src/mage/sets/commander2013/HullBreach.java index d464884e920..268a30d4d6b 100644 --- a/Mage.Sets/src/mage/sets/commander2013/HullBreach.java +++ b/Mage.Sets/src/mage/sets/commander2013/HullBreach.java @@ -56,27 +56,23 @@ public class HullBreach extends CardImpl { // Choose one - Destroy target artifact; this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetArtifactPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); // or destroy target enchantment; Mode mode = new Mode(); mode.getEffects().add(new DestroyTargetEffect()); target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); mode.getTargets().add(target); this.getSpellAbility().addMode(mode); // or destroy target artifact and target enchantment. mode = new Mode(); mode.getEffects().add(new DestroyTargetEffect()); target = new TargetArtifactPermanent(); - target.setRequired(true); mode.getTargets().add(target); Effect effect = new DestroyTargetEffect(); effect.setTargetPointer(new SecondTargetPointer()); effect.setText("and target enchantment"); mode.getEffects().add(effect); target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); mode.getTargets().add(target); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java b/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java index bbb50e163f1..f1db5346fff 100644 --- a/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java +++ b/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java @@ -115,7 +115,6 @@ class LimDulsVaultEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard(doAgain ? textBottom : textTop)); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java b/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java index b4b3d466376..a714deaff21 100644 --- a/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java +++ b/Mage.Sets/src/mage/sets/commander2013/MagusOfTheArena.java @@ -118,7 +118,6 @@ class TargetOpponentsChoiceControlledCreaturePermanent extends TargetPermanent { public TargetOpponentsChoiceControlledCreaturePermanent() { super(1, 1, new FilterControlledCreaturePermanent(), false); - this.setRequired(true); this.targetName = filter.getMessage(); } diff --git a/Mage.Sets/src/mage/sets/commander2013/Reincarnation.java b/Mage.Sets/src/mage/sets/commander2013/Reincarnation.java index 0f490d41e16..d7019ff32b9 100644 --- a/Mage.Sets/src/mage/sets/commander2013/Reincarnation.java +++ b/Mage.Sets/src/mage/sets/commander2013/Reincarnation.java @@ -169,7 +169,6 @@ class ReincarnationDelayedEffect extends OneShotEffect { FilterCreatureCard filter = new FilterCreatureCard(new StringBuilder("a creature card from ").append(player.getName()).append("'s graveyard").toString()); filter.add(new OwnerIdPredicate(player.getId())); Target targetCreature = new TargetCardInGraveyard(filter); - targetCreature.setRequired(true); if (targetCreature.canChoose(source.getSourceId(), controller.getId(), game) && controller.chooseTarget(outcome, targetCreature, source, game)) { Card card = game.getCard(targetCreature.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/commander2013/Restore.java b/Mage.Sets/src/mage/sets/commander2013/Restore.java index 1b0cec3e1da..3734cada349 100644 --- a/Mage.Sets/src/mage/sets/commander2013/Restore.java +++ b/Mage.Sets/src/mage/sets/commander2013/Restore.java @@ -59,7 +59,6 @@ public class Restore extends CardImpl { // Put target land card from a graveyard onto the battlefield under your control. this.getSpellAbility().addEffect(new RestoreEffect()); Target target = new TargetCardInGraveyard(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/commander2013/ShattergangBrothers.java b/Mage.Sets/src/mage/sets/commander2013/ShattergangBrothers.java index d7e750463d5..1f2e7f50b23 100644 --- a/Mage.Sets/src/mage/sets/commander2013/ShattergangBrothers.java +++ b/Mage.Sets/src/mage/sets/commander2013/ShattergangBrothers.java @@ -128,7 +128,6 @@ class ShattergangBrothersEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if (player != null) { TargetControlledPermanent target = new TargetControlledPermanent(filter); - target.setRequired(true); target.setNotTarget(true); if (target.canChoose(source.getSourceId(), playerId, game) && player.chooseTarget(outcome, target, source, game)) { diff --git a/Mage.Sets/src/mage/sets/commander2013/StrategicPlanning.java b/Mage.Sets/src/mage/sets/commander2013/StrategicPlanning.java index 2735013070d..dc383fe1945 100644 --- a/Mage.Sets/src/mage/sets/commander2013/StrategicPlanning.java +++ b/Mage.Sets/src/mage/sets/commander2013/StrategicPlanning.java @@ -104,7 +104,6 @@ class StrategicPlanningEffect extends OneShotEffect { player.lookAtCards("Strategic Planning", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand")); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/commander2013/TemptWithImmortality.java b/Mage.Sets/src/mage/sets/commander2013/TemptWithImmortality.java index 3681b1139df..4668a8d12b6 100644 --- a/Mage.Sets/src/mage/sets/commander2013/TemptWithImmortality.java +++ b/Mage.Sets/src/mage/sets/commander2013/TemptWithImmortality.java @@ -102,7 +102,6 @@ class TemptWithImmortalityEffect extends OneShotEffect { filter.add(new OwnerIdPredicate(opponent.getId())); Target targetOpponent = new TargetCardInGraveyard(filter); - targetOpponent.setRequired(true); if (targetOpponent.canChoose(source.getSourceId(), opponent.getId(), game)) { if (opponent.chooseUse(outcome, new StringBuilder("Return a creature card from your graveyard to the battlefield?").toString(), game)) { if (opponent.chooseTarget(outcome, targetOpponent, source, game)) { @@ -129,7 +128,6 @@ class TemptWithImmortalityEffect extends OneShotEffect { private boolean returnCreatureFromGraveToBattlefield(Player player, Ability source, Game game) { Target target = new TargetCardInYourGraveyard(new FilterCreatureCard()); - target.setRequired(true); target.setNotTarget(false); if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) { if (player.chooseTarget(outcome, target, source, game)) { diff --git a/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java b/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java index 1f490d4c0e2..d6367e9109d 100644 --- a/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java +++ b/Mage.Sets/src/mage/sets/conflux/EtherswornAdjudicator.java @@ -76,7 +76,6 @@ public class EtherswornAdjudicator extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{W}{B}")); ability.addCost(new TapSourceCost()); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {2}{U}: Untap Ethersworn Adjudicator. diff --git a/Mage.Sets/src/mage/sets/conflux/GrixisIllusionist.java b/Mage.Sets/src/mage/sets/conflux/GrixisIllusionist.java index 54c933ee555..ff63c71cf31 100644 --- a/Mage.Sets/src/mage/sets/conflux/GrixisIllusionist.java +++ b/Mage.Sets/src/mage/sets/conflux/GrixisIllusionist.java @@ -60,7 +60,6 @@ public class GrixisIllusionist extends CardImpl { // {tap}: Target land you control becomes the basic land type of your choice until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/conflux/MaelstromArchangel.java b/Mage.Sets/src/mage/sets/conflux/MaelstromArchangel.java index 4a3c2ea7715..8789f9acc4a 100644 --- a/Mage.Sets/src/mage/sets/conflux/MaelstromArchangel.java +++ b/Mage.Sets/src/mage/sets/conflux/MaelstromArchangel.java @@ -105,7 +105,6 @@ class MaelstromArchangelCastEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Target target = new TargetCardInHand(filter); - target.setRequired(true); if (target.canChoose(source.getSourceId(), controller.getId(), game) && controller.chooseUse(outcome, "Cast a nonland card from your hand without paying its mana cost?", game)) { Card cardToCast = null; diff --git a/Mage.Sets/src/mage/sets/conflux/Malfegor.java b/Mage.Sets/src/mage/sets/conflux/Malfegor.java index 60ad2882a9f..b190eb3e14e 100644 --- a/Mage.Sets/src/mage/sets/conflux/Malfegor.java +++ b/Mage.Sets/src/mage/sets/conflux/Malfegor.java @@ -103,7 +103,6 @@ class MalfegorEffect extends OneShotEffect { if (opponent != null) { for (int i = 0; i < sacrificeNumber; i++) { Target target = new TargetControlledPermanent(new FilterControlledCreaturePermanent()); - target.setRequired(true); if (target.canChoose(opponentId, game)) { if (opponent.choose(Outcome.Sacrifice, target, source.getSourceId(), game)) { Permanent permanent = game.getPermanent(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/conflux/MasterTransmuter.java b/Mage.Sets/src/mage/sets/conflux/MasterTransmuter.java index 846cf3b5187..d42ce75ebd0 100644 --- a/Mage.Sets/src/mage/sets/conflux/MasterTransmuter.java +++ b/Mage.Sets/src/mage/sets/conflux/MasterTransmuter.java @@ -104,7 +104,6 @@ class MasterTransmuterEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Target target = new TargetCardInHand(new FilterArtifactCard("an artifact card from your hand")); - target.setRequired(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game) && controller.chooseUse(outcome, "Put an artifact from your hand to battlefield??", game) && controller.chooseTarget(outcome, target, source, game)) { diff --git a/Mage.Sets/src/mage/sets/conflux/Nyxathid.java b/Mage.Sets/src/mage/sets/conflux/Nyxathid.java index b455666dd0c..872d47b9fd7 100644 --- a/Mage.Sets/src/mage/sets/conflux/Nyxathid.java +++ b/Mage.Sets/src/mage/sets/conflux/Nyxathid.java @@ -103,7 +103,6 @@ class ChooseOpponent extends OneShotEffect { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { TargetOpponent target = new TargetOpponent(); - target.setRequired(true); target.setNotTarget(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/conflux/UnstableFrontier.java b/Mage.Sets/src/mage/sets/conflux/UnstableFrontier.java index 63cae3376e4..41a12d6f37a 100644 --- a/Mage.Sets/src/mage/sets/conflux/UnstableFrontier.java +++ b/Mage.Sets/src/mage/sets/conflux/UnstableFrontier.java @@ -56,7 +56,6 @@ public class UnstableFrontier extends CardImpl { // {tap}: Target land you control becomes the basic land type of your choice until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/conflux/WorldlyCounsel.java b/Mage.Sets/src/mage/sets/conflux/WorldlyCounsel.java index 5e03f28fbd0..c13d4890bae 100644 --- a/Mage.Sets/src/mage/sets/conflux/WorldlyCounsel.java +++ b/Mage.Sets/src/mage/sets/conflux/WorldlyCounsel.java @@ -125,7 +125,6 @@ class WorldlyCounselEffect extends OneShotEffect { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java b/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java index e0f73b1d2e4..373d4d49bd3 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java +++ b/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java @@ -113,7 +113,6 @@ public class ArchdemonOfGreed extends CardImpl { Player player = game.getPlayer(source.getControllerId()); if (player != null) { TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false); - target.setRequired(true); // if they can pay the cost, then they must pay if (target.canChoose(player.getId(), game)) { player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/darkascension/CallToTheKindred.java b/Mage.Sets/src/mage/sets/darkascension/CallToTheKindred.java index a48b7a89ad2..1a96402906e 100644 --- a/Mage.Sets/src/mage/sets/darkascension/CallToTheKindred.java +++ b/Mage.Sets/src/mage/sets/darkascension/CallToTheKindred.java @@ -155,7 +155,6 @@ class CallToTheKindredEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java b/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java index ef41fa87ec9..d84b396908f 100644 --- a/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java +++ b/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java @@ -115,7 +115,6 @@ class CurseOfMisfortunesEffect extends OneShotEffect { } TargetCardInLibrary targetCard = new TargetCardInLibrary(filter); - targetCard.setRequired(true); if (player.searchLibrary(targetCard, game)) { Card card = game.getCard(targetCard.getFirstTarget()); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/darkascension/DungeonGeists.java b/Mage.Sets/src/mage/sets/darkascension/DungeonGeists.java index a384d027dca..556ef0ecb40 100644 --- a/Mage.Sets/src/mage/sets/darkascension/DungeonGeists.java +++ b/Mage.Sets/src/mage/sets/darkascension/DungeonGeists.java @@ -77,7 +77,6 @@ public class DungeonGeists extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), false); ability.addEffect(new DungeonGeistsEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // watcher needed to send normal events to Dungeon Geists ReplacementEffect diff --git a/Mage.Sets/src/mage/sets/darkascension/GruesomeDiscovery.java b/Mage.Sets/src/mage/sets/darkascension/GruesomeDiscovery.java index 7a7720c1c31..ca94899261b 100644 --- a/Mage.Sets/src/mage/sets/darkascension/GruesomeDiscovery.java +++ b/Mage.Sets/src/mage/sets/darkascension/GruesomeDiscovery.java @@ -107,7 +107,6 @@ class GruesomeDiscoveryEffect extends OneShotEffect { } TargetCard target = new TargetCard(2, Zone.PICK, new FilterCard()); - target.setRequired(true); if (player.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { List targets = target.getTargets(); for (UUID targetId : targets) { diff --git a/Mage.Sets/src/mage/sets/darkascension/HollowhengeSpirit.java b/Mage.Sets/src/mage/sets/darkascension/HollowhengeSpirit.java index e1f3c5af9e3..6ccecf6d528 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HollowhengeSpirit.java +++ b/Mage.Sets/src/mage/sets/darkascension/HollowhengeSpirit.java @@ -60,7 +60,6 @@ public class HollowhengeSpirit extends CardImpl { // When Hollowhenge Spirit enters the battlefield, remove target attacking or blocking creature from combat. Ability ability = new EntersBattlefieldTriggeredAbility(new RemoveFromCombatTargetEffect()); Target target = new TargetAttackingOrBlockingCreature(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java b/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java index 3efdbcedbfa..b57340a82f4 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java +++ b/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java @@ -142,7 +142,6 @@ class RavagerOfTheFellsAbility extends TriggeredAbilityImpl { public RavagerOfTheFellsAbility() { super(Zone.BATTLEFIELD, new RavagerOfTheFellsEffect(), false); Target target1 = new TargetOpponent(); - target1.setRequired(true); this.addTarget(target1); this.addTarget(new RavagerOfTheFellsTarget()); // Rule only shown on the night side diff --git a/Mage.Sets/src/mage/sets/darkascension/IncreasingVengeance.java b/Mage.Sets/src/mage/sets/darkascension/IncreasingVengeance.java index f9aca9bec86..b3336bae57e 100644 --- a/Mage.Sets/src/mage/sets/darkascension/IncreasingVengeance.java +++ b/Mage.Sets/src/mage/sets/darkascension/IncreasingVengeance.java @@ -69,7 +69,6 @@ public class IncreasingVengeance extends CardImpl { // Copy target instant or sorcery spell you control. If Increasing Vengeance was cast from a graveyard, copy that spell twice instead. You may choose new targets for the copies. this.getSpellAbility().addEffect(new IncreasingVengeanceEffect()); Target target = new TargetSpell(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Flashback {3}{R}{R} diff --git a/Mage.Sets/src/mage/sets/darkascension/JarOfEyeballs.java b/Mage.Sets/src/mage/sets/darkascension/JarOfEyeballs.java index f8823d1c3ff..66c65ad09c0 100644 --- a/Mage.Sets/src/mage/sets/darkascension/JarOfEyeballs.java +++ b/Mage.Sets/src/mage/sets/darkascension/JarOfEyeballs.java @@ -213,7 +213,6 @@ class JarOfEyeballsEffect extends OneShotEffect { } target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/darkascension/MarkovWarlord.java b/Mage.Sets/src/mage/sets/darkascension/MarkovWarlord.java index 23b34e06ece..c3228078fdf 100644 --- a/Mage.Sets/src/mage/sets/darkascension/MarkovWarlord.java +++ b/Mage.Sets/src/mage/sets/darkascension/MarkovWarlord.java @@ -58,7 +58,6 @@ public class MarkovWarlord extends CardImpl { // When Markov Warlord enters the battlefield, up to two target creatures can't block this turn. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn)); TargetCreaturePermanent target = new TargetCreaturePermanent(0, 2); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java b/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java index 8e42aaa0d39..b65cf4179c4 100644 --- a/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java +++ b/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java @@ -100,7 +100,6 @@ class WerewolfRansackerAbility extends TriggeredAbilityImpl { public WerewolfRansackerAbility() { super(Zone.BATTLEFIELD, new WerewolfRansackerEffect(), true); Target target = new TargetPermanent(filter); - target.setRequired(true); this.addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/darksteel/PanopticMirror.java b/Mage.Sets/src/mage/sets/darksteel/PanopticMirror.java index 975917ddd52..cc850ad7d53 100644 --- a/Mage.Sets/src/mage/sets/darksteel/PanopticMirror.java +++ b/Mage.Sets/src/mage/sets/darksteel/PanopticMirror.java @@ -172,7 +172,6 @@ class PanopticMirrorCastEffect extends OneShotEffect { } else{ TargetCard target = new TargetCard(1, Zone.EXILED, new FilterCard("card to copy")); - target.setRequired(true); controller.choose(Outcome.Copy, cards, target, game); cardToCopy = cards.get(target.getFirstTarget(), game); } diff --git a/Mage.Sets/src/mage/sets/darksteel/SunderingTitan.java b/Mage.Sets/src/mage/sets/darksteel/SunderingTitan.java index ef3ae0d418a..8964ada7fca 100644 --- a/Mage.Sets/src/mage/sets/darksteel/SunderingTitan.java +++ b/Mage.Sets/src/mage/sets/darksteel/SunderingTitan.java @@ -102,7 +102,6 @@ class SunderingTitanDestroyLandEffect extends OneShotEffect { FilterLandPermanent filter = new FilterLandPermanent(new StringBuilder(landName).append(" to destroy").toString()); filter.add(new SubtypePredicate(landName)); Target target = new TargetLandPermanent(1,1, filter, true); - target.setRequired(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) { controller.chooseTarget(outcome, target, source, game); lands.add(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/dissension/HideSeek.java b/Mage.Sets/src/mage/sets/dissension/HideSeek.java index 26f8c3efe9e..be2c520d6b3 100644 --- a/Mage.Sets/src/mage/sets/dissension/HideSeek.java +++ b/Mage.Sets/src/mage/sets/dissension/HideSeek.java @@ -119,7 +119,6 @@ class SeekEffect extends OneShotEffect { if (player != null && opponent != null) { if (opponent.getLibrary().size() > 0) { TargetCardInLibrary target = new TargetCardInLibrary(); - target.setRequired(true); if (player.searchLibrary(target, game, opponent.getId())) { UUID targetId = target.getFirstTarget(); Card card = opponent.getLibrary().remove(targetId, game); diff --git a/Mage.Sets/src/mage/sets/dissension/InfernalTutor.java b/Mage.Sets/src/mage/sets/dissension/InfernalTutor.java index 7b284ebbc00..55468700ae5 100644 --- a/Mage.Sets/src/mage/sets/dissension/InfernalTutor.java +++ b/Mage.Sets/src/mage/sets/dissension/InfernalTutor.java @@ -105,7 +105,6 @@ class InfernalTutorEffect extends OneShotEffect { Card cardToReveal = null; if (controller.getHand().size() > 1) { Target target = new TargetCardInHand(new FilterCard()); - target.setRequired(true); target.setNotTarget(true); if (controller.chooseTarget(outcome, target, source, game)) { cardToReveal = game.getCard(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/BreakingEntering.java b/Mage.Sets/src/mage/sets/dragonsmaze/BreakingEntering.java index 061a68c0f31..b52d8220f81 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/BreakingEntering.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/BreakingEntering.java @@ -114,7 +114,6 @@ class EnteringReturnFromGraveyardToBattlefieldEffect extends OneShotEffect { if (player != null) { Target target = new TargetCardInGraveyard(new FilterCreatureCard()); target.setNotTarget(true); - target.setRequired(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game) && player.chooseTarget(outcome, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/CatchRelease.java b/Mage.Sets/src/mage/sets/dragonsmaze/CatchRelease.java index f8a01ff6a1d..1dfdfeb51c8 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/CatchRelease.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/CatchRelease.java @@ -140,11 +140,6 @@ class ReleaseSacrificeEffect extends OneShotEffect { Target target4 = new TargetControlledPermanent(1, 1, filter4, false); Target target5 = new TargetControlledPermanent(1, 1, filter5, false); - target1.setRequired(true); - target2.setRequired(true); - target3.setRequired(true); - target4.setRequired(true); - target5.setRequired(true); target1.setNotTarget(false); target2.setNotTarget(false); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/ClearAPath.java b/Mage.Sets/src/mage/sets/dragonsmaze/ClearAPath.java index b7d82fa50fe..c703226db2e 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/ClearAPath.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/ClearAPath.java @@ -60,7 +60,6 @@ public class ClearAPath extends CardImpl { // Destroy target creature with defender. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/DeputyOfAcquittals.java b/Mage.Sets/src/mage/sets/dragonsmaze/DeputyOfAcquittals.java index c05e1d47ca7..df018615de6 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/DeputyOfAcquittals.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/DeputyOfAcquittals.java @@ -71,7 +71,6 @@ public class DeputyOfAcquittals extends CardImpl { // When Deputy of Acquittals enters the battlefield, you may return another target creature you control to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), true); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/FleshBlood.java b/Mage.Sets/src/mage/sets/dragonsmaze/FleshBlood.java index bf547ab3892..7a3fa19bbc0 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/FleshBlood.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/FleshBlood.java @@ -69,7 +69,6 @@ public class FleshBlood extends SplitCard { getLeftHalfCard().getColor().setBlack(true); getLeftHalfCard().getColor().setGreen(true); Target target = new TargetCardInGraveyard(new FilterCreatureCard()); - target.setRequired(true); getLeftHalfCard().getSpellAbility().addTarget(target); getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); getLeftHalfCard().getSpellAbility().addEffect(new FleshEffect()); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/HaazdaSnareSquad.java b/Mage.Sets/src/mage/sets/dragonsmaze/HaazdaSnareSquad.java index 5dc2cede592..d4e1fa33fb5 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/HaazdaSnareSquad.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/HaazdaSnareSquad.java @@ -71,7 +71,6 @@ public class HaazdaSnareSquad extends CardImpl { Ability ability = new AttacksTriggeredAbility(new DoIfCostPaid(new TapTargetEffect(""), new ManaCostsImpl("{W}")),false, "Whenever {this} attacks you may pay {W}. If you do, tap target creature an opponent controls."); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/PunishTheEnemy.java b/Mage.Sets/src/mage/sets/dragonsmaze/PunishTheEnemy.java index 7062da89ef5..cfba22d8f62 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/PunishTheEnemy.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/PunishTheEnemy.java @@ -53,10 +53,8 @@ public class PunishTheEnemy extends CardImpl { // Punish the Enemy deals 3 damage to target player and 3 damage to target creature. this.getSpellAbility().addEffect(new DamageTargetEffect(3, true, "target player and 3 damage to target creature")); Target target = new TargetPlayer(); - target.setRequired(true); this.getSpellAbility().addTarget(target); target = new TargetCreaturePermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/Showstopper.java b/Mage.Sets/src/mage/sets/dragonsmaze/Showstopper.java index 7331b72d2d9..60cd613b0db 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/Showstopper.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/Showstopper.java @@ -67,7 +67,6 @@ public class Showstopper extends CardImpl { // Until end of turn, creatures you control gain "When this creature dies, it deals 2 damage to target creature an opponent controls." TriggeredAbility ability = new DiesTriggeredAbility(new DamageTargetEffect(2), false); Target target = new TargetCreaturePermanent(filter2); - target.setRequired(true); ability.addTarget(target); Effect effect = new GainAbilityControlledEffect(ability, Duration.EndOfTurn, filter); effect.setText("Until end of turn, creatures you control gain \"When this creature dies, it deals 2 damage to target creature an opponent controls.\" "); diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/SmeltWardGatekeepers.java b/Mage.Sets/src/mage/sets/dragonsmaze/SmeltWardGatekeepers.java index 5edb8657361..bdc4be9873d 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/SmeltWardGatekeepers.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/SmeltWardGatekeepers.java @@ -83,7 +83,6 @@ public class SmeltWardGatekeepers extends CardImpl { ability.addEffect(new UntapTargetEffect()); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); Target target = new TargetCreaturePermanent(targetFilter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/UbulSarGatekeepers.java b/Mage.Sets/src/mage/sets/dragonsmaze/UbulSarGatekeepers.java index 7327d8a6753..19369524ce1 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/UbulSarGatekeepers.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/UbulSarGatekeepers.java @@ -77,7 +77,6 @@ public class UbulSarGatekeepers extends CardImpl { new ControlsPermanentCondition(filter, ControlsPermanentCondition.CountType.MORE_THAN, 1), "Whenever {this} enters the battlefield, if you control two or more Gates, target creature an opponent controls gets -2/-2 until end of turn."); Target target = new TargetCreaturePermanent(targetFilter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/WearTear.java b/Mage.Sets/src/mage/sets/dragonsmaze/WearTear.java index f46427a56d1..b9f6babda76 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/WearTear.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/WearTear.java @@ -55,7 +55,6 @@ public class WearTear extends SplitCard { getLeftHalfCard().getColor().setRed(true); getLeftHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetArtifactPermanent(); - target.setRequired(true); getLeftHalfCard().getSpellAbility().addTarget(target); // Tear @@ -63,7 +62,6 @@ public class WearTear extends SplitCard { getRightHalfCard().getColor().setWhite(true); getRightHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); target = new TargetPermanent(new FilterEnchantment()); - target.setRequired(true); getRightHalfCard().getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/elspethvstezzeret/EchoingTruth.java b/Mage.Sets/src/mage/sets/elspethvstezzeret/EchoingTruth.java index 5f61419152d..4f3d7719bc4 100644 --- a/Mage.Sets/src/mage/sets/elspethvstezzeret/EchoingTruth.java +++ b/Mage.Sets/src/mage/sets/elspethvstezzeret/EchoingTruth.java @@ -57,7 +57,6 @@ public class EchoingTruth extends CardImpl { // Return target nonland permanent and all other permanents with the same name as that permanent to their owners' hands. Target target = new TargetNonlandPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new ReturnToHandAllNamedPermanentsEffect()); } diff --git a/Mage.Sets/src/mage/sets/eventide/CrumblingAshes.java b/Mage.Sets/src/mage/sets/eventide/CrumblingAshes.java index bbee045b857..2489f4306e6 100644 --- a/Mage.Sets/src/mage/sets/eventide/CrumblingAshes.java +++ b/Mage.Sets/src/mage/sets/eventide/CrumblingAshes.java @@ -63,7 +63,6 @@ public class CrumblingAshes extends CardImpl { // At the beginning of your upkeep, destroy target creature with a -1/-1 counter on it. Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), TargetController.YOU, false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/eventide/Doomgape.java b/Mage.Sets/src/mage/sets/eventide/Doomgape.java index fa37e627ade..1dd9cdcab91 100644 --- a/Mage.Sets/src/mage/sets/eventide/Doomgape.java +++ b/Mage.Sets/src/mage/sets/eventide/Doomgape.java @@ -102,7 +102,6 @@ class DoomgapeEffect extends OneShotEffect { if (you != null) { Target target = new TargetControlledCreaturePermanent(); target.setNotTarget(true); - target.setRequired(true); if (you.choose(Outcome.Sacrifice, target, source.getId(), game)) { Permanent creature = game.getPermanent(target.getFirstTarget()); if (creature != null) { diff --git a/Mage.Sets/src/mage/sets/eventide/RazorfinAbolisher.java b/Mage.Sets/src/mage/sets/eventide/RazorfinAbolisher.java index 6dafac41e17..f376b454980 100644 --- a/Mage.Sets/src/mage/sets/eventide/RazorfinAbolisher.java +++ b/Mage.Sets/src/mage/sets/eventide/RazorfinAbolisher.java @@ -69,7 +69,6 @@ public class RazorfinAbolisher extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{1}{U}")); ability.addCost(new TapSourceCost()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/eventide/TalarasBane.java b/Mage.Sets/src/mage/sets/eventide/TalarasBane.java index 4cf36e1e828..a7b1aeb37ac 100644 --- a/Mage.Sets/src/mage/sets/eventide/TalarasBane.java +++ b/Mage.Sets/src/mage/sets/eventide/TalarasBane.java @@ -107,7 +107,6 @@ class TalarasBaneEffect extends OneShotEffect { if (targetPlayer != null && you != null) { targetPlayer.revealCards("Talaras Bane", targetPlayer.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { card = targetPlayer.getHand().get(target.getFirstTarget(), game); } diff --git a/Mage.Sets/src/mage/sets/exodus/Cataclysm.java b/Mage.Sets/src/mage/sets/exodus/Cataclysm.java index 2edfde65e88..2873cdeb449 100644 --- a/Mage.Sets/src/mage/sets/exodus/Cataclysm.java +++ b/Mage.Sets/src/mage/sets/exodus/Cataclysm.java @@ -111,10 +111,6 @@ class CataclysmEffect extends OneShotEffect { Target target3 = new TargetControlledPermanent(1, 1, filter3, false); Target target4 = new TargetControlledPermanent(1, 1, filter4, false); - target1.setRequired(true); - target2.setRequired(true); - target3.setRequired(true); - target4.setRequired(true); target1.setNotTarget(true); target2.setNotTarget(true); diff --git a/Mage.Sets/src/mage/sets/exodus/EntropicSpecter.java b/Mage.Sets/src/mage/sets/exodus/EntropicSpecter.java index 5279f01c6e2..246923bbded 100644 --- a/Mage.Sets/src/mage/sets/exodus/EntropicSpecter.java +++ b/Mage.Sets/src/mage/sets/exodus/EntropicSpecter.java @@ -107,7 +107,6 @@ class ChooseOpponent extends OneShotEffect { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { TargetOpponent target = new TargetOpponent(); - target.setRequired(true); target.setNotTarget(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/exodus/OathOfDruids.java b/Mage.Sets/src/mage/sets/exodus/OathOfDruids.java index 40822b5a11c..73bc49973cd 100644 --- a/Mage.Sets/src/mage/sets/exodus/OathOfDruids.java +++ b/Mage.Sets/src/mage/sets/exodus/OathOfDruids.java @@ -81,7 +81,6 @@ public class OathOfDruids extends CardImpl { ability.setControllerId(activePlayer.getId()); ability.getTargets().clear(); TargetPlayer target = new TargetPlayer(1, 1, false, filter); - target.setRequired(true); ability.getTargets().add(target); } } diff --git a/Mage.Sets/src/mage/sets/fifthedition/Brainstorm.java b/Mage.Sets/src/mage/sets/fifthedition/Brainstorm.java index c08e64c8be6..a7242142cba 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/Brainstorm.java +++ b/Mage.Sets/src/mage/sets/fifthedition/Brainstorm.java @@ -96,7 +96,6 @@ class BrainstormEffect extends OneShotEffect { private boolean putOnLibrary(Player player, Ability source, Game game) { TargetCardInHand target = new TargetCardInHand(); - target.setRequired(true); player.chooseTarget(Outcome.ReturnToHand, target, source, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/fifthedition/Juxtapose.java b/Mage.Sets/src/mage/sets/fifthedition/Juxtapose.java index 1716dc7e7af..eca176ad544 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/Juxtapose.java +++ b/Mage.Sets/src/mage/sets/fifthedition/Juxtapose.java @@ -205,7 +205,6 @@ class JuxtaposeEffect extends ContinuousEffectImpl { } TargetCard targetCard = new TargetCard(Zone.BATTLEFIELD, new FilterCard()); - targetCard.setRequired(true); if (player.choose(Outcome.Benefit, cards, targetCard, game)) { permanent = game.getPermanent(targetCard.getFirstTarget()); } diff --git a/Mage.Sets/src/mage/sets/fifthedition/SylvanLibrary.java b/Mage.Sets/src/mage/sets/fifthedition/SylvanLibrary.java index 39d53246d95..94393e2abe0 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/SylvanLibrary.java +++ b/Mage.Sets/src/mage/sets/fifthedition/SylvanLibrary.java @@ -115,7 +115,6 @@ class SylvanLibraryEffect extends OneShotEffect { int numberOfTargets = Math.min(2, cards.size()); if (numberOfTargets > 0) { TargetCard target = new TargetCard(numberOfTargets, Zone.PICK, new FilterCard(new StringBuilder(numberOfTargets).append(" cards of cards drawn this turn").toString())); - target.setRequired(true); controller.chooseTarget(outcome, cards, target, source, game); Cards cardsPutBack = new CardsImpl(); @@ -135,7 +134,6 @@ class SylvanLibraryEffect extends OneShotEffect { int numberOfCardsToPutBack = cardsPutBack.size(); if (numberOfCardsToPutBack > 1) { TargetCard target2 = new TargetCard(Zone.PICK, new FilterCard("card to put on the top of your library (last chosen will be on top)")); - target2.setRequired(true); while (controller.isInGame() && cardsPutBack.size() > 1) { controller.choose(Outcome.Benefit, cardsPutBack, target2, game); Card card = cardsPutBack.get(target2.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/fourthedition/EbonyHorse.java b/Mage.Sets/src/mage/sets/fourthedition/EbonyHorse.java index ada18ae0610..943eb139161 100644 --- a/Mage.Sets/src/mage/sets/fourthedition/EbonyHorse.java +++ b/Mage.Sets/src/mage/sets/fourthedition/EbonyHorse.java @@ -64,7 +64,6 @@ public class EbonyHorse extends CardImpl { ability.addEffect(new PreventCombatDamageToSourceEffect(Duration.EndOfTurn)); ability.addEffect(new PreventCombatDamageBySourceEffect(Duration.EndOfTurn)); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/fourthedition/TheRack.java b/Mage.Sets/src/mage/sets/fourthedition/TheRack.java index 7ebef417de7..88f14ebb8b3 100644 --- a/Mage.Sets/src/mage/sets/fourthedition/TheRack.java +++ b/Mage.Sets/src/mage/sets/fourthedition/TheRack.java @@ -122,7 +122,6 @@ class ChooseOpponent extends OneShotEffect { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { TargetOpponent target = new TargetOpponent(); - target.setRequired(true); target.setNotTarget(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/futuresight/VenserShaperSavant.java b/Mage.Sets/src/mage/sets/futuresight/VenserShaperSavant.java index fa3bce5527e..734c4a8b0de 100644 --- a/Mage.Sets/src/mage/sets/futuresight/VenserShaperSavant.java +++ b/Mage.Sets/src/mage/sets/futuresight/VenserShaperSavant.java @@ -68,7 +68,6 @@ public class VenserShaperSavant extends CardImpl { // When Venser, Shaper Savant enters the battlefield, return target spell or permanent to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new VenserShaperSavantEffect(), false); Target target = new TargetSpellOrPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/gatecrash/BaneAlleyBroker.java b/Mage.Sets/src/mage/sets/gatecrash/BaneAlleyBroker.java index c858e819a19..159cf0e098d 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/BaneAlleyBroker.java +++ b/Mage.Sets/src/mage/sets/gatecrash/BaneAlleyBroker.java @@ -141,7 +141,6 @@ class BaneAlleyBrokerDrawExileEffect extends OneShotEffect { if (player != null) { player.drawCards(1, game); Target target = new TargetCardInHand(new FilterCard("card to exile")); - target.setRequired(true); if (player.chooseTarget(outcome, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); Card sourceCard = game.getCard(source.getSourceId()); diff --git a/Mage.Sets/src/mage/sets/gatecrash/DevourFlesh.java b/Mage.Sets/src/mage/sets/gatecrash/DevourFlesh.java index 058f80d0c6d..efd2afa8bca 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/DevourFlesh.java +++ b/Mage.Sets/src/mage/sets/gatecrash/DevourFlesh.java @@ -105,7 +105,6 @@ class DevourFleshSacrificeEffect extends OneShotEffect { int realCount = game.getBattlefield().countAll(filter, player.getId(), game); if (realCount > 0) { Target target = new TargetControlledPermanent(1, 1, filter, true); - target.setRequired(true); while (player.isInGame() && !target.isChosen() && target.canChoose(player.getId(), game)) { player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); } diff --git a/Mage.Sets/src/mage/sets/gatecrash/DimirCharm.java b/Mage.Sets/src/mage/sets/gatecrash/DimirCharm.java index 8d200bafa9f..e629496593c 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/DimirCharm.java +++ b/Mage.Sets/src/mage/sets/gatecrash/DimirCharm.java @@ -126,7 +126,6 @@ class DimirCharmEffect extends OneShotEffect { } if(cards.size() > 0){ TargetCard target = new TargetCard(Zone.PICK, new FilterCard("Card to put back on top of library")); - target.setRequired(true); if(controller.chooseTarget(Outcome.Benefit, cards, target, source, game)){ Card card = cards.get(target.getFirstTarget(), game); if(card != null){ diff --git a/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java b/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java index ce85d1cf514..5ee6cf33844 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java +++ b/Mage.Sets/src/mage/sets/gatecrash/EnterTheInfinite.java @@ -122,7 +122,6 @@ class PutCardOnLibraryEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { TargetCardInHand target = new TargetCardInHand(); - target.setRequired(true); player.chooseTarget(Outcome.ReturnToHand, target, source, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/gatecrash/ExecutionersSwing.java b/Mage.Sets/src/mage/sets/gatecrash/ExecutionersSwing.java index 41dd2a588fd..c02249b33d8 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/ExecutionersSwing.java +++ b/Mage.Sets/src/mage/sets/gatecrash/ExecutionersSwing.java @@ -77,7 +77,6 @@ class TargetCreaturePermanentThatDealtDamageThisTurn extends TargetPermanent { public TargetCreaturePermanentThatDealtDamageThisTurn() { super(1, 1, new FilterCreaturePermanent(), false); - setRequired(true); targetName = "creature that dealt damage this turn"; } diff --git a/Mage.Sets/src/mage/sets/gatecrash/LordOfTheVoid.java b/Mage.Sets/src/mage/sets/gatecrash/LordOfTheVoid.java index f42a7a11168..dabfa025841 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/LordOfTheVoid.java +++ b/Mage.Sets/src/mage/sets/gatecrash/LordOfTheVoid.java @@ -116,7 +116,6 @@ class LordOfTheVoidEffect extends OneShotEffect { } if(cards.getCards(new FilterCreatureCard(), game).size() > 0){ TargetCard target = new TargetCard(Zone.EXILED, new FilterCreatureCard()); - target.setRequired(true); if(controller.chooseTarget(Outcome.PutCreatureInPlay, cards, target, source, game)){ Card card = cards.get(target.getFirstTarget(), game); if(card != null){ diff --git a/Mage.Sets/src/mage/sets/gatecrash/MartialGlory.java b/Mage.Sets/src/mage/sets/gatecrash/MartialGlory.java index 5cbeed3eaba..6f23cf2444c 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/MartialGlory.java +++ b/Mage.Sets/src/mage/sets/gatecrash/MartialGlory.java @@ -56,7 +56,6 @@ public class MartialGlory extends CardImpl { Effect effect = new BoostTargetEffect(3,0, Duration.EndOfTurn); effect.setText("Target creature gets +3/+0 until end of turn"); Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("first creature")); - target.setRequired(true); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(target); @@ -65,7 +64,6 @@ public class MartialGlory extends CardImpl { effect2.setText("

Target creature gets +0/+3 until end of turn"); effect2.setTargetPointer(SecondTargetPointer.getInstance()); target = new TargetCreaturePermanent(new FilterCreaturePermanent("second creature (can be the same as the first)")); - target.setRequired(true); this.getSpellAbility().addEffect(effect2); this.getSpellAbility().addTarget(target); diff --git a/Mage.Sets/src/mage/sets/gatecrash/VizkopaConfessor.java b/Mage.Sets/src/mage/sets/gatecrash/VizkopaConfessor.java index 4b10ecea937..9805d7064c2 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/VizkopaConfessor.java +++ b/Mage.Sets/src/mage/sets/gatecrash/VizkopaConfessor.java @@ -116,7 +116,6 @@ class VizkopaConfessorEffect extends OneShotEffect { int count = Math.min(cardsInHand.size(), payLife); TargetCard target = new TargetCard(count, Zone.HAND, new FilterCard()); - target.setRequired(true); Cards revealedCards = new CardsImpl(); if (targetPlayer.chooseTarget(Outcome.Discard, cardsInHand, target, source, game)) { @@ -130,7 +129,6 @@ class VizkopaConfessorEffect extends OneShotEffect { } TargetCard targetInHand = new TargetCard(Zone.HAND, new FilterCard("card to exile")); - targetInHand.setRequired(true); if (!revealedCards.isEmpty()) { targetPlayer.revealCards(sourceCard.getName(), revealedCards, game); diff --git a/Mage.Sets/src/mage/sets/guildpact/AbsolverThrull.java b/Mage.Sets/src/mage/sets/guildpact/AbsolverThrull.java index 408ff7d3f4a..30b95729ae2 100644 --- a/Mage.Sets/src/mage/sets/guildpact/AbsolverThrull.java +++ b/Mage.Sets/src/mage/sets/guildpact/AbsolverThrull.java @@ -59,7 +59,6 @@ public class AbsolverThrull extends CardImpl { // When Absolver Thrull enters the battlefield or the creature it haunts dies, destroy target enchantment. Ability ability = new HauntAbility(this, new DestroyTargetEffect()); Target target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/guildpact/OrzhovEuthanist.java b/Mage.Sets/src/mage/sets/guildpact/OrzhovEuthanist.java index 37659712bf1..154754e5241 100644 --- a/Mage.Sets/src/mage/sets/guildpact/OrzhovEuthanist.java +++ b/Mage.Sets/src/mage/sets/guildpact/OrzhovEuthanist.java @@ -65,7 +65,6 @@ public class OrzhovEuthanist extends CardImpl { // When Orzhov Euthanist enters the battlefield or the creature it haunts dies, destroy target creature that was dealt damage this turn. Ability ability = new HauntAbility(this, new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/iceage/GlacialChasm.java b/Mage.Sets/src/mage/sets/iceage/GlacialChasm.java index 30e7d209715..e46fbd10c51 100644 --- a/Mage.Sets/src/mage/sets/iceage/GlacialChasm.java +++ b/Mage.Sets/src/mage/sets/iceage/GlacialChasm.java @@ -117,7 +117,6 @@ class SacrificeControllerEffect extends OneShotEffect{ amount = Math.min(amount, realCount); Target target = new TargetControlledPermanent(amount, amount, filter, false); - target.setRequired(true); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. diff --git a/Mage.Sets/src/mage/sets/innistrad/AngelOfFlightAlabaster.java b/Mage.Sets/src/mage/sets/innistrad/AngelOfFlightAlabaster.java index e9ed83932ad..551f0fd310c 100644 --- a/Mage.Sets/src/mage/sets/innistrad/AngelOfFlightAlabaster.java +++ b/Mage.Sets/src/mage/sets/innistrad/AngelOfFlightAlabaster.java @@ -34,7 +34,6 @@ public class AngelOfFlightAlabaster extends CardImpl { this.addAbility(FlyingAbility.getInstance()); Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandTargetEffect(), TargetController.YOU, false); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java b/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java index b6ae9610e01..cd8a123a64a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java +++ b/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java @@ -105,7 +105,6 @@ class BitterheartWitchEffect extends OneShotEffect { Player targetPlayer = game.getPlayer(source.getFirstTarget()); if (player != null && targetPlayer != null) { TargetCardInLibrary targetCard = new TargetCardInLibrary(filter); - targetCard.setRequired(true); if (player.searchLibrary(targetCard, game)) { Card card = game.getCard(targetCard.getFirstTarget()); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/innistrad/BurningVengeance.java b/Mage.Sets/src/mage/sets/innistrad/BurningVengeance.java index 7476feb2f54..ccf75e9d710 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BurningVengeance.java +++ b/Mage.Sets/src/mage/sets/innistrad/BurningVengeance.java @@ -71,7 +71,6 @@ class BurningVengeanceOnCastAbility extends TriggeredAbilityImpl { BurningVengeanceOnCastAbility() { super(Zone.BATTLEFIELD, new DamageTargetEffect(2), false); TargetCreatureOrPlayer target = new TargetCreatureOrPlayer(); - target.setRequired(true); this.addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/innistrad/DivineReckoning.java b/Mage.Sets/src/mage/sets/innistrad/DivineReckoning.java index ff0dfde075f..10526a56328 100644 --- a/Mage.Sets/src/mage/sets/innistrad/DivineReckoning.java +++ b/Mage.Sets/src/mage/sets/innistrad/DivineReckoning.java @@ -104,7 +104,6 @@ class DivineReckoningEffect extends OneShotEffect { Player player = game.getPlayer(playerId); Target target = new TargetControlledPermanent(1, 1, filter, false); - target.setRequired(true); if (target.canChoose(player.getId(), game)) { while (player.isInGame() && !target.isChosen() && target.canChoose(player.getId(), game)) { player.choose(Outcome.Benefit, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/innistrad/FiendHunter.java b/Mage.Sets/src/mage/sets/innistrad/FiendHunter.java index 088378f0f06..1a1c9ad8f7b 100644 --- a/Mage.Sets/src/mage/sets/innistrad/FiendHunter.java +++ b/Mage.Sets/src/mage/sets/innistrad/FiendHunter.java @@ -67,7 +67,6 @@ public class FiendHunter extends CardImpl { // When Fiend Hunter enters the battlefield, you may exile another target creature. Ability ability1 = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect("Fiend Hunter Exile"), true); Target target = new TargetPermanent(filter); - target.setRequired(true); ability1.addTarget(target); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/sets/innistrad/ForbiddenAlchemy.java b/Mage.Sets/src/mage/sets/innistrad/ForbiddenAlchemy.java index 299b6808294..b0cc65e5b03 100644 --- a/Mage.Sets/src/mage/sets/innistrad/ForbiddenAlchemy.java +++ b/Mage.Sets/src/mage/sets/innistrad/ForbiddenAlchemy.java @@ -109,7 +109,6 @@ class ForbiddenAlchemyEffect extends OneShotEffect { player.lookAtCards("Forbidden Alchemy", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand")); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/innistrad/GraveyardShovel.java b/Mage.Sets/src/mage/sets/innistrad/GraveyardShovel.java index 6f2e32bc163..5c225d81072 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GraveyardShovel.java +++ b/Mage.Sets/src/mage/sets/innistrad/GraveyardShovel.java @@ -94,7 +94,6 @@ class GraveyardShovelEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (targetPlayer != null && controller != null) { TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(); - target.setRequired(true); if (targetPlayer.chooseTarget(Outcome.Exile, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/innistrad/GrimgrinCorpseBorn.java b/Mage.Sets/src/mage/sets/innistrad/GrimgrinCorpseBorn.java index cc1213a6aa8..55872913316 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GrimgrinCorpseBorn.java +++ b/Mage.Sets/src/mage/sets/innistrad/GrimgrinCorpseBorn.java @@ -117,7 +117,6 @@ class GrimgrinCorpseBornAbility extends TriggeredAbilityImpl { this.getTargets().clear(); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.addTarget(target); return true; } diff --git a/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java b/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java index 85d838c353c..f8166216834 100644 --- a/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java +++ b/Mage.Sets/src/mage/sets/innistrad/NightTerrors.java @@ -93,7 +93,6 @@ class NightTerrorsEffect extends OneShotEffect { targetPlayer.revealCards("Night Terrors", targetPlayer.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, new FilterNonlandCard("nonland card to exile")); - target.setRequired(true); if (player.choose(Outcome.Exile, targetPlayer.getHand(), target, game)) { Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/innistrad/PreyUpon.java b/Mage.Sets/src/mage/sets/innistrad/PreyUpon.java index b90d8c1795d..b26d753def0 100644 --- a/Mage.Sets/src/mage/sets/innistrad/PreyUpon.java +++ b/Mage.Sets/src/mage/sets/innistrad/PreyUpon.java @@ -61,7 +61,6 @@ public class PreyUpon extends CardImpl { this.getSpellAbility().addEffect(new FightTargetsEffect()); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/innistrad/TributeToHunger.java b/Mage.Sets/src/mage/sets/innistrad/TributeToHunger.java index 561e198b146..696ab6ad334 100644 --- a/Mage.Sets/src/mage/sets/innistrad/TributeToHunger.java +++ b/Mage.Sets/src/mage/sets/innistrad/TributeToHunger.java @@ -96,7 +96,6 @@ class TributeToHungerEffect extends OneShotEffect { filter.add(new CardTypePredicate(CardType.CREATURE)); filter.add(new ControllerPredicate(TargetController.YOU)); TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false); - target.setRequired(true); if (target.canChoose(player.getId(), game)) { player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/invasion/DreamThrush.java b/Mage.Sets/src/mage/sets/invasion/DreamThrush.java index b62729a6a07..a7b2e4d2c6b 100644 --- a/Mage.Sets/src/mage/sets/invasion/DreamThrush.java +++ b/Mage.Sets/src/mage/sets/invasion/DreamThrush.java @@ -62,7 +62,6 @@ public class DreamThrush extends CardImpl { // {tap}: Target land becomes the basic land type of your choice until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn), new TapSourceCost()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java b/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java index a0123832fe8..6f0fb7c0166 100644 --- a/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java +++ b/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java @@ -62,7 +62,6 @@ public class PhyrexianDelver extends CardImpl { // When Phyrexian Delver enters the battlefield, return target creature card from your graveyard to the battlefield. You lose life equal to that card's converted mana cost. Ability ability = new EntersBattlefieldTriggeredAbility(new PhyrexianDelverEffect(), false); Target target = new TargetCardInYourGraveyard(1, new FilterCreatureCard("creature card from your graveyard")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/BrainMaggot.java b/Mage.Sets/src/mage/sets/journeyintonyx/BrainMaggot.java index 255cbd5b30c..721707e2e6e 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/BrainMaggot.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/BrainMaggot.java @@ -110,7 +110,6 @@ class BrainMaggotExileEffect extends OneShotEffect { opponent.revealCards(sourcePermanent.getName(), opponent.getHand(), game); TargetCard target = new TargetCard(Zone.HAND, new FilterNonlandCard("nonland card to exile")); - target.setRequired(true); if (controller.choose(Outcome.Exile, opponent.getHand(), target, game)) { Card card = opponent.getHand().get(target.getFirstTarget(), game); // If source permanent leaves the battlefield before its triggered ability resolves, the target card won't be exiled. diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/ConsignToDust.java b/Mage.Sets/src/mage/sets/journeyintonyx/ConsignToDust.java index 4da12c8e84c..68ae8ea4c47 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/ConsignToDust.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/ConsignToDust.java @@ -64,7 +64,6 @@ public class ConsignToDust extends CardImpl { Effect effect = new DestroyTargetEffect(); effect.setText("Destroy any number of target artifacts and/or enchantments"); Target target = new TargetPermanent(0, Integer.MAX_VALUE, filter, false); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(effect); } diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/DaringThief.java b/Mage.Sets/src/mage/sets/journeyintonyx/DaringThief.java index 22f9e0ff5bd..fbba450dfb8 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/DaringThief.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/DaringThief.java @@ -91,7 +91,6 @@ class TargetControlledPermanentSharingOpponentPermanentCardType extends TargetCo super(); filter.add(Predicates.not(new CardTypePredicate(CardType.LAND))); setTargetName("nonland permanent you control"); - setRequired(true); } public TargetControlledPermanentSharingOpponentPermanentCardType(final TargetControlledPermanentSharingOpponentPermanentCardType target) { diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/NessianGameWarden.java b/Mage.Sets/src/mage/sets/journeyintonyx/NessianGameWarden.java index 5afd4ba3984..597aeddc46d 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/NessianGameWarden.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/NessianGameWarden.java @@ -134,7 +134,6 @@ class NessianGameWardenEffect extends OneShotEffect { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/PharikaGodOfAffliction.java b/Mage.Sets/src/mage/sets/journeyintonyx/PharikaGodOfAffliction.java index ff6a774fc96..0f08c5ab2c5 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/PharikaGodOfAffliction.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/PharikaGodOfAffliction.java @@ -79,7 +79,6 @@ public class PharikaGodOfAffliction extends CardImpl { // BG: Exile target creature card from a graveyard. It's owner puts a 1/1 black and green Snake enchantment creature token with deathtouch onto the battlefield. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PharikaExileEffect(), new ManaCostsImpl("{B}{G}")); Target target = new TargetCardInGraveyard(new FilterCreatureCard("a creature card from a graveyard")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/SpitefulBlow.java b/Mage.Sets/src/mage/sets/journeyintonyx/SpitefulBlow.java index 33651c06cd2..be4944c2074 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/SpitefulBlow.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/SpitefulBlow.java @@ -58,7 +58,6 @@ public class SpitefulBlow extends CardImpl { effect.setTargetPointer(new SecondTargetPointer()); this.getSpellAbility().addEffect(effect); Target target = new TargetLandPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/journeyintonyx/TethmosHighPriest.java b/Mage.Sets/src/mage/sets/journeyintonyx/TethmosHighPriest.java index 354b6ef0e5f..0a25e391514 100644 --- a/Mage.Sets/src/mage/sets/journeyintonyx/TethmosHighPriest.java +++ b/Mage.Sets/src/mage/sets/journeyintonyx/TethmosHighPriest.java @@ -67,7 +67,6 @@ public class TethmosHighPriest extends CardImpl { // Heroic — Whenever you cast a spell that targets Tethmos High Priest, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. Ability ability = new HeroicAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), false); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/judgment/FlashOfInsight.java b/Mage.Sets/src/mage/sets/judgment/FlashOfInsight.java index a0ae6cd44d1..791d9473eda 100644 --- a/Mage.Sets/src/mage/sets/judgment/FlashOfInsight.java +++ b/Mage.Sets/src/mage/sets/judgment/FlashOfInsight.java @@ -135,7 +135,6 @@ class FlashOfInsightEffect extends OneShotEffect { } target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); if (cards.size() > 0) { game.informPlayers(new StringBuilder(sourceObject.getName()).append(": ") .append(player.getName()).append(" puts ") diff --git a/Mage.Sets/src/mage/sets/legions/MagmaSliver.java b/Mage.Sets/src/mage/sets/legions/MagmaSliver.java index 93ac535fd51..9c482340574 100644 --- a/Mage.Sets/src/mage/sets/legions/MagmaSliver.java +++ b/Mage.Sets/src/mage/sets/legions/MagmaSliver.java @@ -64,7 +64,6 @@ public class MagmaSliver extends CardImpl { // All Slivers have "{tap}: Target Sliver creature gets +X/+0 until end of turn, where X is the number of Slivers on the battlefield." Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(new PermanentsOnBattlefieldCount(new FilterCreaturePermanent("Sliver", "Sliver creatures")), new StaticValue(0), Duration.EndOfTurn), new TapSourceCost()); Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("Sliver", "Sliver creature")); - target.setRequired(true); ability.addTarget(target); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver", "Sliver creatures")))); } diff --git a/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java b/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java index a78bc1aa0e3..f2d2de7683c 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java @@ -109,7 +109,6 @@ class NaturalSelectionEffect extends OneShotEffect { you.lookAtCards("Natural Selection", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the top of target player's library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { you.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/limitedalpha/SpellBlast.java b/Mage.Sets/src/mage/sets/limitedalpha/SpellBlast.java index 5473cfcce4e..1a60d8c2f88 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/SpellBlast.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/SpellBlast.java @@ -77,7 +77,6 @@ public class SpellBlast extends CardImpl { FilterSpell newfilter = new FilterSpell(new StringBuilder("spell with converted mana cost ").append(xValue).toString()); newfilter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.Equal, xValue)); Target target = new TargetSpell(newfilter); - target.setRequired(true); ability.addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/lorwyn/BurrentonForgeTender.java b/Mage.Sets/src/mage/sets/lorwyn/BurrentonForgeTender.java index b0a6a9805e0..b75b2c5987b 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/BurrentonForgeTender.java +++ b/Mage.Sets/src/mage/sets/lorwyn/BurrentonForgeTender.java @@ -78,7 +78,6 @@ public class BurrentonForgeTender extends CardImpl { effect.setText("Prevent all damage a red source of your choice would deal this turn"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new SacrificeSourceCost()); TargetSource targetSource = new TargetSource(filterObject); - targetSource.setRequired(true); ability.addTarget(targetSource); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/lorwyn/Dawnfluke.java b/Mage.Sets/src/mage/sets/lorwyn/Dawnfluke.java index d989adcc976..c9237ce1652 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/Dawnfluke.java +++ b/Mage.Sets/src/mage/sets/lorwyn/Dawnfluke.java @@ -61,7 +61,6 @@ public class Dawnfluke extends CardImpl { // When Dawnfluke enters the battlefield, prevent the next 3 damage that would be dealt to target creature or player this turn. Ability ability = new EntersBattlefieldTriggeredAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); Target target = new TargetCreatureOrPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // Evoke {W} diff --git a/Mage.Sets/src/mage/sets/lorwyn/IngotChewer.java b/Mage.Sets/src/mage/sets/lorwyn/IngotChewer.java index bbd4b3da6f8..d08a9562f84 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/IngotChewer.java +++ b/Mage.Sets/src/mage/sets/lorwyn/IngotChewer.java @@ -57,7 +57,6 @@ public class IngotChewer extends CardImpl { // When Ingot Chewer enters the battlefield, destroy target artifact. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetArtifactPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // Evoke {R} diff --git a/Mage.Sets/src/mage/sets/lorwyn/MerrowReejerey.java b/Mage.Sets/src/mage/sets/lorwyn/MerrowReejerey.java index 493bc828a8a..88436f18f6b 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/MerrowReejerey.java +++ b/Mage.Sets/src/mage/sets/lorwyn/MerrowReejerey.java @@ -77,7 +77,6 @@ public class MerrowReejerey extends CardImpl { // Whenever you cast a Merfolk spell, you may tap or untap target permanent. Ability ability = new SpellCastControllerTriggeredAbility(new MayTapOrUntapTargetEffect(), filter2, true); Target target = new TargetPermanent(); - target.setRequired(true); ability.addTarget(new TargetPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java index fa83732ae63..c1b2d4c7680 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java +++ b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java @@ -76,7 +76,6 @@ public class PrimalCommand extends CardImpl { Mode mode = new Mode(); mode.getEffects().add(new PutOnLibraryTargetEffect(true)); Target target = new TargetPermanent(filterNonCreature); - target.setRequired(true); mode.getTargets().add(target); this.getSpellAbility().getModes().addMode(mode); // or target player shuffles his or her graveyard into his or her library; diff --git a/Mage.Sets/src/mage/sets/lorwyn/StreambedAquitects.java b/Mage.Sets/src/mage/sets/lorwyn/StreambedAquitects.java index 45421c29726..a7f64c781cf 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/StreambedAquitects.java +++ b/Mage.Sets/src/mage/sets/lorwyn/StreambedAquitects.java @@ -72,14 +72,12 @@ public class StreambedAquitects extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1,1, Duration.EndOfTurn), new TapSourceCost()); ability.addEffect(new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn)); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {tap}: Target land becomes an Island until end of turn. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn, "Island"), new TapSourceCost()); target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/lorwyn/SyggRiverGuide.java b/Mage.Sets/src/mage/sets/lorwyn/SyggRiverGuide.java index 6c2ce0d56f0..f24811ace6a 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/SyggRiverGuide.java +++ b/Mage.Sets/src/mage/sets/lorwyn/SyggRiverGuide.java @@ -76,7 +76,6 @@ public class SyggRiverGuide extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainProtectionFromColorTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{W}")); ability.addChoice(new ChoiceColor()); Target target = new TargetControlledCreaturePermanent(1,1,filter, false); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/lorwyn/Wispmare.java b/Mage.Sets/src/mage/sets/lorwyn/Wispmare.java index fd51240c6c4..54d5a7b9c96 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/Wispmare.java +++ b/Mage.Sets/src/mage/sets/lorwyn/Wispmare.java @@ -61,7 +61,6 @@ public class Wispmare extends CardImpl { // When Wispmare enters the battlefield, destroy target enchantment. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // Evoke {W} diff --git a/Mage.Sets/src/mage/sets/magic2010/AcidicSlime.java b/Mage.Sets/src/mage/sets/magic2010/AcidicSlime.java index 702304c4a35..ded0d59c1c7 100644 --- a/Mage.Sets/src/mage/sets/magic2010/AcidicSlime.java +++ b/Mage.Sets/src/mage/sets/magic2010/AcidicSlime.java @@ -69,7 +69,6 @@ public class AcidicSlime extends CardImpl { this.addAbility(DeathtouchAbility.getInstance()); Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java index 5427bb660d9..7d6db3caa70 100644 --- a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java +++ b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java @@ -96,7 +96,6 @@ class HauntingEchoesEffect extends OneShotEffect { filterCard.add(new NamePredicate(card.getName())); int count = targetPlayer.getLibrary().count(filterCard, game); TargetCardInLibrary target = new TargetCardInLibrary(count, count, filterCard); - target.setRequired(true); player.searchLibrary(target, game, targetPlayer.getId()); List targets = target.getTargets(); diff --git a/Mage.Sets/src/mage/sets/magic2010/MirrorOfFate.java b/Mage.Sets/src/mage/sets/magic2010/MirrorOfFate.java index 38706a92ede..d048fcb231c 100644 --- a/Mage.Sets/src/mage/sets/magic2010/MirrorOfFate.java +++ b/Mage.Sets/src/mage/sets/magic2010/MirrorOfFate.java @@ -114,7 +114,6 @@ class MirrorOfFateEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on top of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/magic2011/AncientHellkite.java b/Mage.Sets/src/mage/sets/magic2011/AncientHellkite.java index f18fcfce239..302246a4dce 100644 --- a/Mage.Sets/src/mage/sets/magic2011/AncientHellkite.java +++ b/Mage.Sets/src/mage/sets/magic2011/AncientHellkite.java @@ -105,7 +105,6 @@ class AncientHellkiteAbility extends ActivatedAbilityImpl { this.getTargets().clear(); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.addTarget(target); return super.activate(game, noMana); } diff --git a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java index ad541c50873..723016984cb 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java +++ b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java @@ -105,7 +105,6 @@ class CultivateEffect extends OneShotEffect { player.revealCards("Cultivate", revealed, game); if (target.getTargets().size() == 2) { TargetCard target2 = new TargetCard(Zone.PICK, filter); - target2.setRequired(true); player.choose(Outcome.Benefit, revealed, target2, game); Card card = revealed.get(target2.getFirstTarget(), game); card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId()); diff --git a/Mage.Sets/src/mage/sets/magic2011/ManicVandal.java b/Mage.Sets/src/mage/sets/magic2011/ManicVandal.java index be0b7ddde30..ca4e1eff425 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ManicVandal.java +++ b/Mage.Sets/src/mage/sets/magic2011/ManicVandal.java @@ -64,7 +64,6 @@ public class ManicVandal extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java b/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java index 244b1762762..0b1688bec15 100644 --- a/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java +++ b/Mage.Sets/src/mage/sets/magic2011/NecroticPlague.java @@ -103,7 +103,6 @@ public class NecroticPlague extends CardImpl { ability.setControllerId(creatureController.getId()); ability.getTargets().clear(); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.getTargets().add(target); } } diff --git a/Mage.Sets/src/mage/sets/magic2011/PhylacteryLich.java b/Mage.Sets/src/mage/sets/magic2011/PhylacteryLich.java index 1d3facdf0b5..6c5626145c1 100644 --- a/Mage.Sets/src/mage/sets/magic2011/PhylacteryLich.java +++ b/Mage.Sets/src/mage/sets/magic2011/PhylacteryLich.java @@ -135,7 +135,6 @@ class PhylacteryLichEffect extends OneShotEffect { if (player != null) { TargetControlledPermanent target = new TargetControlledPermanent(filter); if (target.canChoose(source.getControllerId(), game)) { - target.setRequired(true); if (player.choose(Outcome.Neutral, target, source.getSourceId(), game)) { Permanent permanent = game.getPermanent(target.getFirstTarget()); if (permanent != null) { diff --git a/Mage.Sets/src/mage/sets/magic2011/SunTitan.java b/Mage.Sets/src/mage/sets/magic2011/SunTitan.java index f9c97c67908..3455512c809 100644 --- a/Mage.Sets/src/mage/sets/magic2011/SunTitan.java +++ b/Mage.Sets/src/mage/sets/magic2011/SunTitan.java @@ -94,7 +94,6 @@ class SunTitanAbility extends TriggeredAbilityImpl { public SunTitanAbility() { super(Zone.BATTLEFIELD, null, true); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); this.addTarget(target); this.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); } diff --git a/Mage.Sets/src/mage/sets/magic2011/WarPriestOfThune.java b/Mage.Sets/src/mage/sets/magic2011/WarPriestOfThune.java index 17ea2f3fb9f..a0bd6725f3b 100644 --- a/Mage.Sets/src/mage/sets/magic2011/WarPriestOfThune.java +++ b/Mage.Sets/src/mage/sets/magic2011/WarPriestOfThune.java @@ -65,7 +65,6 @@ public class WarPriestOfThune extends CardImpl { // When War Priest of Thune enters the battlefield, you may destroy target enchantment. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2012/AegisAngel.java b/Mage.Sets/src/mage/sets/magic2012/AegisAngel.java index 1295385e12a..802a8005a1d 100644 --- a/Mage.Sets/src/mage/sets/magic2012/AegisAngel.java +++ b/Mage.Sets/src/mage/sets/magic2012/AegisAngel.java @@ -77,7 +77,6 @@ public class AegisAngel extends CardImpl { "another target permanent is indestructible for as long as you control Aegis Angel"); Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2012/Monomania.java b/Mage.Sets/src/mage/sets/magic2012/Monomania.java index df5adc89245..07428f16815 100644 --- a/Mage.Sets/src/mage/sets/magic2012/Monomania.java +++ b/Mage.Sets/src/mage/sets/magic2012/Monomania.java @@ -88,7 +88,6 @@ class MonomaniaEffect extends OneShotEffect { Player player = game.getPlayer(source.getFirstTarget()); if (player != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (player.choose(Outcome.Detriment, player.getHand(), target, game)) { while (player.getHand().size() > 1) { for (UUID uuid : player.getHand()) { diff --git a/Mage.Sets/src/mage/sets/magic2012/PhantasmalImage.java b/Mage.Sets/src/mage/sets/magic2012/PhantasmalImage.java index 55044880001..09cca68bbe1 100644 --- a/Mage.Sets/src/mage/sets/magic2012/PhantasmalImage.java +++ b/Mage.Sets/src/mage/sets/magic2012/PhantasmalImage.java @@ -99,7 +99,6 @@ class PhantasmalImageCopyEffect extends OneShotEffect { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); if (player != null && sourcePermanent != null) { Target target = new TargetPermanent(new FilterCreaturePermanent()); - target.setRequired(true); target.setNotTarget(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game)) { player.choose(Outcome.Copy, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/magic2012/StonehornDignitary.java b/Mage.Sets/src/mage/sets/magic2012/StonehornDignitary.java index 8dd8b1e827e..ddaf13bd797 100644 --- a/Mage.Sets/src/mage/sets/magic2012/StonehornDignitary.java +++ b/Mage.Sets/src/mage/sets/magic2012/StonehornDignitary.java @@ -62,7 +62,6 @@ public class StonehornDignitary extends CardImpl { // When Stonehorn Dignitary enters the battlefield, target opponent skips his or her next combat phase. Ability ability = new EntersBattlefieldTriggeredAbility(new SkipNextCombatEffect()); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2013/Archaeomancer.java b/Mage.Sets/src/mage/sets/magic2013/Archaeomancer.java index 75cecdc9867..89d91552fdf 100644 --- a/Mage.Sets/src/mage/sets/magic2013/Archaeomancer.java +++ b/Mage.Sets/src/mage/sets/magic2013/Archaeomancer.java @@ -67,7 +67,6 @@ public class Archaeomancer extends CardImpl { // When Archaeomancer enters the battlefield, return target instant or sorcery card from your graveyard to your hand. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2013/MindclawShaman.java b/Mage.Sets/src/mage/sets/magic2013/MindclawShaman.java index bb1c1f5900e..7e5b608423b 100644 --- a/Mage.Sets/src/mage/sets/magic2013/MindclawShaman.java +++ b/Mage.Sets/src/mage/sets/magic2013/MindclawShaman.java @@ -112,7 +112,6 @@ class MindclawShamanEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); target.setNotTarget(true); if (you.choose(Outcome.Benefit, targetOpponent.getHand(), target, game)) { Card chosenCard = targetOpponent.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java b/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java index e5533520cb7..a5c4aa9640a 100644 --- a/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java +++ b/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java @@ -106,7 +106,6 @@ class ShimianSpecterEffect extends OneShotEffect { damagedPlayer.revealCards("Shimian Specter", damagedPlayer.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); target.setNotTarget(true); if (you.choose(Outcome.Benefit, damagedPlayer.getHand(), target, game)) { Card chosenCard = damagedPlayer.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/magic2014/AdvocateOfTheBeast.java b/Mage.Sets/src/mage/sets/magic2014/AdvocateOfTheBeast.java index 7e3cf5cd6dd..6e87fd92c89 100644 --- a/Mage.Sets/src/mage/sets/magic2014/AdvocateOfTheBeast.java +++ b/Mage.Sets/src/mage/sets/magic2014/AdvocateOfTheBeast.java @@ -68,7 +68,6 @@ public class AdvocateOfTheBeast extends CardImpl { // At the beginning of your end step, put a +1/+1 counter on target Beast creature you control. Ability ability = new BeginningOfEndStepTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java b/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java index 747db7af0c1..3f99b628062 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java +++ b/Mage.Sets/src/mage/sets/magic2014/ChandraPyromaster.java @@ -308,7 +308,6 @@ class ChandraPyromasterEffect3 extends OneShotEffect { if (cards.getCards(new FilterInstantOrSorceryCard(), game).size() > 0) { TargetCard target = new TargetCard(Zone.EXILED, new FilterInstantOrSorceryCard()); - target.setRequired(true); if (you.chooseTarget(Outcome.PlayForFree, cards, target, source, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java b/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java index cbec2ba2ef3..7cd032a54f8 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java +++ b/Mage.Sets/src/mage/sets/magic2014/ColossalWhale.java @@ -105,7 +105,6 @@ class ColossalWhaleAbility extends TriggeredAbilityImpl { this.getTargets().clear(); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.addTarget(target); return true; } diff --git a/Mage.Sets/src/mage/sets/magic2014/EliteArcanist.java b/Mage.Sets/src/mage/sets/magic2014/EliteArcanist.java index 92a69f34fa7..aa103d157c4 100644 --- a/Mage.Sets/src/mage/sets/magic2014/EliteArcanist.java +++ b/Mage.Sets/src/mage/sets/magic2014/EliteArcanist.java @@ -122,7 +122,6 @@ class EliteArcanistImprintEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.HAND, filter); - target.setRequired(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game) && player.choose(Outcome.Benefit, player.getHand(), target, game)) { Card card = player.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/magic2014/GarrukCallerOfBeasts.java b/Mage.Sets/src/mage/sets/magic2014/GarrukCallerOfBeasts.java index fd0c40d568e..65f07c66c67 100644 --- a/Mage.Sets/src/mage/sets/magic2014/GarrukCallerOfBeasts.java +++ b/Mage.Sets/src/mage/sets/magic2014/GarrukCallerOfBeasts.java @@ -146,7 +146,6 @@ class GarrukCallerOfBeastsPutOntoBattlefieldEffect extends OneShotEffect { if (controller.chooseUse(Outcome.PutCreatureInPlay, "Put a green creature card onto the battlefield?", game)) { Target target = new TargetCardInHand(filterGreenCreature); - target.setRequired(true); if (controller.chooseTarget(outcome, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/magic2014/GlimpseTheFuture.java b/Mage.Sets/src/mage/sets/magic2014/GlimpseTheFuture.java index 32729e8a9db..9ff6474df55 100644 --- a/Mage.Sets/src/mage/sets/magic2014/GlimpseTheFuture.java +++ b/Mage.Sets/src/mage/sets/magic2014/GlimpseTheFuture.java @@ -104,7 +104,6 @@ class GlimpseTheFutureEffect extends OneShotEffect { player.lookAtCards("Glimpse the Future", cards, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put in your hand")); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java b/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java index 7b7c0777047..c697c0f52fb 100644 --- a/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java +++ b/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java @@ -68,7 +68,6 @@ public class HuntTheWeak extends CardImpl { this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java b/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java index 5d574edc744..9ec27f5364b 100644 --- a/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java +++ b/Mage.Sets/src/mage/sets/magic2014/JacesMindseeker.java @@ -128,7 +128,6 @@ class JaceMindseekerEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); target.setNotTarget(true); if (controller.chooseUse(outcome, "Cast an instant or sorcery card from among them for free?", game) && controller.choose(outcome, cards, target, game)) { diff --git a/Mage.Sets/src/mage/sets/magic2014/MasterOfDiversion.java b/Mage.Sets/src/mage/sets/magic2014/MasterOfDiversion.java index a796d8b27e0..c840bfb8a5d 100644 --- a/Mage.Sets/src/mage/sets/magic2014/MasterOfDiversion.java +++ b/Mage.Sets/src/mage/sets/magic2014/MasterOfDiversion.java @@ -76,7 +76,6 @@ public class MasterOfDiversion extends CardImpl { UUID defenderId = game.getCombat().getDefenderId(ability.getSourceId()); filter.add(new ControllerIdPredicate(defenderId)); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); } } diff --git a/Mage.Sets/src/mage/sets/magic2014/PayNoHeed.java b/Mage.Sets/src/mage/sets/magic2014/PayNoHeed.java index 063855589d3..d48519924f3 100644 --- a/Mage.Sets/src/mage/sets/magic2014/PayNoHeed.java +++ b/Mage.Sets/src/mage/sets/magic2014/PayNoHeed.java @@ -57,7 +57,6 @@ public class PayNoHeed extends CardImpl { effect.setText("Prevent all damage a source of your choice would deal this turn"); this.getSpellAbility().addEffect(effect); TargetSource targetSource = new TargetSource(); - targetSource.setRequired(true); this.getSpellAbility().addTarget(targetSource); } diff --git a/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java b/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java index 448f518d434..7d9a49a39c2 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java +++ b/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java @@ -78,7 +78,6 @@ public class ShadowbornDemon extends CardImpl { // When Shadowborn Demon enters the battlefield, destroy target non-Demon creature. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(),false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature. diff --git a/Mage.Sets/src/mage/sets/magic2014/TidebinderMage.java b/Mage.Sets/src/mage/sets/magic2014/TidebinderMage.java index 382100de98d..41f2d62aa5c 100644 --- a/Mage.Sets/src/mage/sets/magic2014/TidebinderMage.java +++ b/Mage.Sets/src/mage/sets/magic2014/TidebinderMage.java @@ -82,7 +82,6 @@ public class TidebinderMage extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect(), false); ability.addEffect(new TidebinderMageEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); this.addWatcher(new TidebinderMageWatcher()); diff --git a/Mage.Sets/src/mage/sets/magic2014/TrainedCondor.java b/Mage.Sets/src/mage/sets/magic2014/TrainedCondor.java index 62cbe4b1680..b22e51fcab8 100644 --- a/Mage.Sets/src/mage/sets/magic2014/TrainedCondor.java +++ b/Mage.Sets/src/mage/sets/magic2014/TrainedCondor.java @@ -68,7 +68,6 @@ public class TrainedCondor extends CardImpl { Effect effect = new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); Ability ability = new AttacksTriggeredAbility(effect, false); Target target = new TargetControlledCreaturePermanent(1, 1, filter, true); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/DustBowl.java b/Mage.Sets/src/mage/sets/mercadianmasques/DustBowl.java index 4a12dd152c2..0b16698ed6e 100644 --- a/Mage.Sets/src/mage/sets/mercadianmasques/DustBowl.java +++ b/Mage.Sets/src/mage/sets/mercadianmasques/DustBowl.java @@ -63,7 +63,6 @@ public class DustBowl extends CardImpl { ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); Target target = new TargetNonBasicLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/mirage/PainfulMemories.java b/Mage.Sets/src/mage/sets/mirage/PainfulMemories.java index 1b195845403..a2f84c17ab7 100644 --- a/Mage.Sets/src/mage/sets/mirage/PainfulMemories.java +++ b/Mage.Sets/src/mage/sets/mirage/PainfulMemories.java @@ -94,7 +94,6 @@ class PainfulMemoriesEffect extends OneShotEffect { if (targetPlayer.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard()); - target.setRequired(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/mirrodin/GoblinCharbelcher.java b/Mage.Sets/src/mage/sets/mirrodin/GoblinCharbelcher.java index ea2cd4b788f..0c42ad93ba3 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/GoblinCharbelcher.java +++ b/Mage.Sets/src/mage/sets/mirrodin/GoblinCharbelcher.java @@ -135,7 +135,6 @@ class GoblinCharbelcherEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/mirrodin/IsochronScepter.java b/Mage.Sets/src/mage/sets/mirrodin/IsochronScepter.java index dd7e7437a8c..d6838edf3f3 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/IsochronScepter.java +++ b/Mage.Sets/src/mage/sets/mirrodin/IsochronScepter.java @@ -102,7 +102,6 @@ class IsochronScepterImprintEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.HAND, filter); - target.setRequired(true); if (target.canChoose(source.getSourceId(), source.getControllerId(), game) && player.choose(Outcome.Benefit, player.getHand(), target, game)) { Card card = player.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java index 4dac4dcfe55..83db3bf393a 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java @@ -90,7 +90,6 @@ class DistantMemoriesEffect extends OneShotEffect { } TargetCardInLibrary target = new TargetCardInLibrary(); - target.setRequired(true); if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/LeoninRelicWarder.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/LeoninRelicWarder.java index 91d1148337b..1d6f222766e 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/LeoninRelicWarder.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/LeoninRelicWarder.java @@ -70,7 +70,6 @@ public class LeoninRelicWarder extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect("Leonin Relic-Warder exile"), true); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/MitoticManipulation.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/MitoticManipulation.java index 48e6c701eff..4f52af4d3ee 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/MitoticManipulation.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/MitoticManipulation.java @@ -131,7 +131,6 @@ class MitoticManipulationEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/ViridianCorrupter.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/ViridianCorrupter.java index 2dceff0a8fa..245b043ccd1 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/ViridianCorrupter.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/ViridianCorrupter.java @@ -66,7 +66,6 @@ public class ViridianCorrupter extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/modernmasters/IncrementalGrowth.java b/Mage.Sets/src/mage/sets/modernmasters/IncrementalGrowth.java index ec34ede16e1..0cbc44fd1ec 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/IncrementalGrowth.java +++ b/Mage.Sets/src/mage/sets/modernmasters/IncrementalGrowth.java @@ -55,7 +55,6 @@ public class IncrementalGrowth extends CardImpl { // Put a +1/+1 counter on target creature, two +1/+1 counters on another target creature, and three +1/+1 counters on a third target creature. this.getSpellAbility().addEffect(new IncrementalGrowthEffect()); Target target = new TargetCreaturePermanent(3,3); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java b/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java index 444a6d6dc7e..1b1ac287953 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java +++ b/Mage.Sets/src/mage/sets/modernmasters/PetalsOfInsight.java @@ -106,7 +106,6 @@ class PetalsOfInsightEffect extends OneShotEffect { player.lookAtCards("Petals of Insight", cards, game); if (player.chooseUse(outcome, "Put the cards on the bottom of your library in any order?", game)) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java index a78526eee27..aef0fcbdaab 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java +++ b/Mage.Sets/src/mage/sets/modernmasters/ThievingSprite.java @@ -71,7 +71,6 @@ public class ThievingSprite extends CardImpl { // When Thieving Sprite enters the battlefield, target player reveals X cards from his or her hand, where X is the number of Faeries you control. You choose one of those cards. That player discards that card. Ability ability = new EntersBattlefieldTriggeredAbility(new ThievingSpriteEffect(), false); TargetPlayer target = new TargetPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); @@ -121,7 +120,6 @@ class ThievingSpriteEffect extends OneShotEffect { cardsInHand.addAll(targetPlayer.getHand()); TargetCard target = new TargetCard(numberOfFaeries, Zone.PICK, new FilterCard()); - target.setRequired(true); if (targetPlayer.choose(Outcome.Discard, cardsInHand, target, game)) { List targets = target.getTargets(); @@ -137,7 +135,6 @@ class ThievingSpriteEffect extends OneShotEffect { } TargetCard targetInHand = new TargetCard(Zone.PICK, new FilterCard("card to discard")); - targetInHand.setRequired(true); if (!revealedCards.isEmpty()) { targetPlayer.revealCards("Thieving Sprite", revealedCards, game); diff --git a/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java b/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java index 499b417f9a2..e414cc31022 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java +++ b/Mage.Sets/src/mage/sets/modernmasters/WarrenWeirding.java @@ -107,7 +107,6 @@ class WarrenWeirdingEffect extends OneShotEffect { filter.add(new CardTypePredicate(CardType.CREATURE)); filter.add(new ControllerIdPredicate(player.getId())); TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, false); - target.setRequired(true); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. diff --git a/Mage.Sets/src/mage/sets/morningtide/Deglamer.java b/Mage.Sets/src/mage/sets/morningtide/Deglamer.java index f693d3ddb22..de624cde0d5 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Deglamer.java +++ b/Mage.Sets/src/mage/sets/morningtide/Deglamer.java @@ -64,7 +64,6 @@ public class Deglamer extends CardImpl { // Choose target artifact or enchantment. Its owner shuffles it into his or her library. this.getSpellAbility().addEffect(new DeglamerShuffleIntoLibraryEffect()); Target target = new TargetPermanent(1,1,filter,true); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/morningtide/Nevermaker.java b/Mage.Sets/src/mage/sets/morningtide/Nevermaker.java index 720a1278653..a1866a2c6e6 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Nevermaker.java +++ b/Mage.Sets/src/mage/sets/morningtide/Nevermaker.java @@ -60,7 +60,6 @@ public class Nevermaker extends CardImpl { // When Nevermaker leaves the battlefield, put target nonland permanent on top of its owner's library. Ability ability = new EntersBattlefieldTriggeredAbility(new PutOnLibraryTargetEffect(true), false); Target target = new TargetNonlandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java b/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java index 7ddb757293c..5d42d2713fe 100644 --- a/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java +++ b/Mage.Sets/src/mage/sets/morningtide/NogginWhack.java @@ -107,7 +107,6 @@ class NogginWhackEffect extends OneShotEffect { int count = Math.min(cardsInHand.size(), 3); TargetCard target = new TargetCard(count, Zone.HAND, new FilterCard()); - target.setRequired(true); Cards revealedCards = new CardsImpl(); if (targetPlayer.chooseTarget(Outcome.Discard, cardsInHand, target, source, game)) { @@ -122,7 +121,6 @@ class NogginWhackEffect extends OneShotEffect { int cardsToDiscard = Math.min(revealedCards.size(), 2); TargetCard targetInHand = new TargetCard(cardsToDiscard, cardsToDiscard, Zone.HAND, new FilterCard("card to discard")); - targetInHand.setRequired(true); if (!revealedCards.isEmpty()) { targetPlayer.revealCards("Noggin Whack", revealedCards, game); diff --git a/Mage.Sets/src/mage/sets/morningtide/Offalsnout.java b/Mage.Sets/src/mage/sets/morningtide/Offalsnout.java index 24dec243c4c..c0716c1aaf8 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Offalsnout.java +++ b/Mage.Sets/src/mage/sets/morningtide/Offalsnout.java @@ -60,7 +60,6 @@ public class Offalsnout extends CardImpl { // When Offalsnout leaves the battlefield, exile target card from a graveyard. Ability ability = new EntersBattlefieldTriggeredAbility(new ExileTargetEffect(),false); Target target = new TargetCardInGraveyard(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // Evoke {B} diff --git a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java index 5b9f7cdc2f6..bbd5dafd2dc 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java +++ b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java @@ -107,7 +107,6 @@ class ScapeshiftEffect extends OneShotEffect { } } TargetCardInLibrary target = new TargetCardInLibrary(amount, new FilterLandCard("lands")); - target.setRequired(true); if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { for (UUID cardId: (List)target.getTargets()) { diff --git a/Mage.Sets/src/mage/sets/morningtide/Slithermuse.java b/Mage.Sets/src/mage/sets/morningtide/Slithermuse.java index a3266b28967..d300c3a306c 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Slithermuse.java +++ b/Mage.Sets/src/mage/sets/morningtide/Slithermuse.java @@ -103,7 +103,6 @@ class SlithermuseEffect extends OneShotEffect { Permanent permanent = (Permanent)game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); if (player != null && permanent != null) { TargetOpponent target = new TargetOpponent(); - target.setRequired(true); target.setNotTarget(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/nemesis/TangleWire.java b/Mage.Sets/src/mage/sets/nemesis/TangleWire.java index 22ceec89086..80de5b7b365 100644 --- a/Mage.Sets/src/mage/sets/nemesis/TangleWire.java +++ b/Mage.Sets/src/mage/sets/nemesis/TangleWire.java @@ -102,7 +102,6 @@ class TangleWireEffect extends OneShotEffect { int amount = Math.min(counterCount, targetCount); Target target = new TargetControlledPermanent(amount, amount, filter, false); - target.setRequired(true); target.setNotTarget(true); if (amount > 0 && player.chooseTarget(Outcome.Tap, target, source, game)) { diff --git a/Mage.Sets/src/mage/sets/newphyrexia/BrutalizerExarch.java b/Mage.Sets/src/mage/sets/newphyrexia/BrutalizerExarch.java index fc62b32bd21..f31b22f7d73 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/BrutalizerExarch.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/BrutalizerExarch.java @@ -111,7 +111,6 @@ class BrutalizerExarchEffect1 extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { TargetCardInLibrary target = new TargetCardInLibrary(new FilterCreatureCard("creature card in your library")); - target.setRequired(true); if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/newphyrexia/EntomberExarch.java b/Mage.Sets/src/mage/sets/newphyrexia/EntomberExarch.java index 1ab3cffbd75..fc3acf27e11 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/EntomberExarch.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/EntomberExarch.java @@ -110,7 +110,6 @@ class EntomberExarchEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (you.choose(Outcome.Benefit, player.getHand(), target, game)) { Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/newphyrexia/PsychicSurgery.java b/Mage.Sets/src/mage/sets/newphyrexia/PsychicSurgery.java index ae5eb8a65fa..fe9420a94da 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/PsychicSurgery.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/PsychicSurgery.java @@ -145,7 +145,6 @@ class PsychicSurgeryEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on top of his library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/newphyrexia/ShrineOfPiercingVision.java b/Mage.Sets/src/mage/sets/newphyrexia/ShrineOfPiercingVision.java index 3012892614c..dc7d7e93a6b 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/ShrineOfPiercingVision.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/ShrineOfPiercingVision.java @@ -140,7 +140,6 @@ class ShrineOfPiercingVisionEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/ninthedition/TeferisPuzzleBox.java b/Mage.Sets/src/mage/sets/ninthedition/TeferisPuzzleBox.java index 1206b06d648..ba8db17bc81 100644 --- a/Mage.Sets/src/mage/sets/ninthedition/TeferisPuzzleBox.java +++ b/Mage.Sets/src/mage/sets/ninthedition/TeferisPuzzleBox.java @@ -95,7 +95,6 @@ class TeferisPuzzleBoxEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/odyssey/BalancingAct.java b/Mage.Sets/src/mage/sets/odyssey/BalancingAct.java index e5071eb8c21..0cae3c08217 100644 --- a/Mage.Sets/src/mage/sets/odyssey/BalancingAct.java +++ b/Mage.Sets/src/mage/sets/odyssey/BalancingAct.java @@ -108,7 +108,6 @@ class BalancingActEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if(player != null){ TargetControlledPermanent target = new TargetControlledPermanent(minPermanent, minPermanent, new FilterControlledPermanent(), true); - target.setRequired(true); if(target.choose(Outcome.Benefit, player.getId(), source.getId(), game)){ for(Permanent permanent : game.getBattlefield().getActivePermanents(new FilterControlledPermanent(), player.getId(), source.getId(), game)){ if(permanent != null && !target.getTargets().contains(permanent.getId())){ @@ -135,7 +134,6 @@ class BalancingActEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if(player != null){ TargetCardInHand target = new TargetCardInHand(minCard, new FilterCard()); - target.setRequired(true); if(target.choose(Outcome.Benefit, player.getId(), source.getId(), game)){ Cards cards = player.getHand().copy(); for(UUID cardUUID : cards){ diff --git a/Mage.Sets/src/mage/sets/odyssey/BalshanBeguiler.java b/Mage.Sets/src/mage/sets/odyssey/BalshanBeguiler.java index 2354bade57e..60024d88b5d 100644 --- a/Mage.Sets/src/mage/sets/odyssey/BalshanBeguiler.java +++ b/Mage.Sets/src/mage/sets/odyssey/BalshanBeguiler.java @@ -99,7 +99,6 @@ class BalshanBeguilerEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard()); - target.setRequired(true); if (you.choose(Outcome.Benefit, cards, target, game)) { Card card = player.getLibrary().getCard(target.getFirstTarget(), game); card.moveToZone(Zone.BATTLEFIELD, source.getSourceId(), game, true); diff --git a/Mage.Sets/src/mage/sets/odyssey/BashToBits.java b/Mage.Sets/src/mage/sets/odyssey/BashToBits.java index 58f5cf6c501..e0f8fb10b11 100644 --- a/Mage.Sets/src/mage/sets/odyssey/BashToBits.java +++ b/Mage.Sets/src/mage/sets/odyssey/BashToBits.java @@ -53,7 +53,6 @@ public class BashToBits extends CardImpl { // Destroy target artifact. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetArtifactPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Flashback {4}{R}{R} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{4}{R}{R}"), TimingRule.INSTANT)); diff --git a/Mage.Sets/src/mage/sets/odyssey/CabalPatriarch.java b/Mage.Sets/src/mage/sets/odyssey/CabalPatriarch.java index 9bbd1a8bd39..46a5cba0d98 100644 --- a/Mage.Sets/src/mage/sets/odyssey/CabalPatriarch.java +++ b/Mage.Sets/src/mage/sets/odyssey/CabalPatriarch.java @@ -66,7 +66,6 @@ public class CabalPatriarch extends CardImpl { // {2}{B}, Sacrifice a creature: Target creature gets -2/-2 until end of turn. Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl("{2}{B}")); TargetControlledPermanent target = new TargetControlledPermanent(new FilterControlledCreaturePermanent("a creature")); - target.setRequired(true); ability1.addCost(new SacrificeTargetCost(target)); ability1.addTarget(new TargetCreaturePermanent()); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java b/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java index c9d019cbfce..f7e37c5b425 100644 --- a/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java +++ b/Mage.Sets/src/mage/sets/odyssey/DecayingSoil.java @@ -80,7 +80,6 @@ public class DecayingSoil extends CardImpl { // At the beginning of your upkeep, exile a card from your graveyard. Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), TargetController.YOU, false); TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/odyssey/Dreamwinder.java b/Mage.Sets/src/mage/sets/odyssey/Dreamwinder.java index 45f7bd55dd2..fb43abf91c7 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Dreamwinder.java +++ b/Mage.Sets/src/mage/sets/odyssey/Dreamwinder.java @@ -73,7 +73,6 @@ public class Dreamwinder extends CardImpl { // {U}, Sacrifice an Island: Target land becomes an Island until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesBasicLandTargetEffect(Duration.EndOfTurn, "Island"), new ManaCostsImpl("{U}")); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true))); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/odyssey/DruidLyrist.java b/Mage.Sets/src/mage/sets/odyssey/DruidLyrist.java index fb0fac5a022..77ec6df580f 100644 --- a/Mage.Sets/src/mage/sets/odyssey/DruidLyrist.java +++ b/Mage.Sets/src/mage/sets/odyssey/DruidLyrist.java @@ -64,7 +64,6 @@ public class DruidLyrist extends CardImpl { ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); Target target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/odyssey/GracefulAntelope.java b/Mage.Sets/src/mage/sets/odyssey/GracefulAntelope.java index 89e4662c661..be4da08f276 100644 --- a/Mage.Sets/src/mage/sets/odyssey/GracefulAntelope.java +++ b/Mage.Sets/src/mage/sets/odyssey/GracefulAntelope.java @@ -60,7 +60,6 @@ public class GracefulAntelope extends CardImpl { // Whenever Graceful Antelope deals combat damage to a player, you may have target land become a Plains until Graceful Antelope leaves the battlefield. Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new BecomesBasicLandTargetEffect(Duration.WhileOnBattlefield,"Plains"), true); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/odyssey/RottingGiant.java b/Mage.Sets/src/mage/sets/odyssey/RottingGiant.java index 4ba26efbe56..52a6912ef79 100644 --- a/Mage.Sets/src/mage/sets/odyssey/RottingGiant.java +++ b/Mage.Sets/src/mage/sets/odyssey/RottingGiant.java @@ -55,7 +55,6 @@ public class RottingGiant extends CardImpl { // Whenever Rotting Giant attacks or blocks, sacrifice it unless you exile a card from your graveyard. TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(); - target.setRequired(true); this.addAbility(new AttacksOrBlocksTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileFromGraveCost(target)), false)); } diff --git a/Mage.Sets/src/mage/sets/odyssey/SadisticHypnotist.java b/Mage.Sets/src/mage/sets/odyssey/SadisticHypnotist.java index 2df44d12ce8..cfeb8e15bbc 100644 --- a/Mage.Sets/src/mage/sets/odyssey/SadisticHypnotist.java +++ b/Mage.Sets/src/mage/sets/odyssey/SadisticHypnotist.java @@ -60,7 +60,6 @@ public class SadisticHypnotist extends CardImpl { // Sacrifice a creature: Target player discards two cards. Activate this ability only any time you could cast a sorcery. TargetControlledPermanent target = new TargetControlledCreaturePermanent(1,1, new FilterControlledCreaturePermanent("a creature"), true); - target.setRequired(true); Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(2), new SacrificeTargetCost(target)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/odyssey/ZombieAssassin.java b/Mage.Sets/src/mage/sets/odyssey/ZombieAssassin.java index 749ca423bc5..f1a76aa3bf5 100644 --- a/Mage.Sets/src/mage/sets/odyssey/ZombieAssassin.java +++ b/Mage.Sets/src/mage/sets/odyssey/ZombieAssassin.java @@ -74,7 +74,6 @@ public class ZombieAssassin extends CardImpl { // {tap}, Exile two cards from your graveyard and Zombie Assassin: Destroy target nonblack creature. It can't be regenerated. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(true), new TapSourceCost()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2,2,new FilterCard("cards from your graveyard")))); ability.addCost(new ExileSourceCost()); diff --git a/Mage.Sets/src/mage/sets/onslaught/ContestedCliffs.java b/Mage.Sets/src/mage/sets/onslaught/ContestedCliffs.java index a45ab85042d..b6459876d7f 100644 --- a/Mage.Sets/src/mage/sets/onslaught/ContestedCliffs.java +++ b/Mage.Sets/src/mage/sets/onslaught/ContestedCliffs.java @@ -72,10 +72,8 @@ public class ContestedCliffs extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{R}{G}")); ability.addCost(new TapSourceCost()); Target target1 = new TargetCreaturePermanent(filter1); - target1.setRequired(true); ability.addTarget(target1); Target target2 = new TargetCreaturePermanent(filter2); - target2.setRequired(true); ability.addTarget(target2); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/onslaught/VoidmageProdigy.java b/Mage.Sets/src/mage/sets/onslaught/VoidmageProdigy.java index bc71b9d4baf..8155b4a0f15 100644 --- a/Mage.Sets/src/mage/sets/onslaught/VoidmageProdigy.java +++ b/Mage.Sets/src/mage/sets/onslaught/VoidmageProdigy.java @@ -71,7 +71,6 @@ public class VoidmageProdigy extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}{U}")); ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false))); Target target = new TargetSpell(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java b/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java index 244d1392284..2bac20a4a3e 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java +++ b/Mage.Sets/src/mage/sets/planarchaos/FuryCharm.java @@ -112,7 +112,6 @@ public class FuryCharm extends CardImpl { } if (targetChoice.getChoice().equals("Suspended Card")) { Target target = new TargetCardInExile(1,1, filter, null, true); - target.setRequired(true); ability.addTarget(target); } } diff --git a/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java b/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java index 34ba3147c28..87c1b41f205 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java +++ b/Mage.Sets/src/mage/sets/planarchaos/HammerheimDeadeye.java @@ -68,7 +68,6 @@ public class HammerheimDeadeye extends CardImpl { // When Hammerheim Deadeye enters the battlefield, destroy target creature with flying. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/planarchaos/Stingscourger.java b/Mage.Sets/src/mage/sets/planarchaos/Stingscourger.java index b9638a89730..5f0de88f4e5 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/Stingscourger.java +++ b/Mage.Sets/src/mage/sets/planarchaos/Stingscourger.java @@ -68,7 +68,6 @@ public class Stingscourger extends CardImpl { // When Stingscourger enters the battlefield, return target creature an opponent controls to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/planechase/BeaconOfUnrest.java b/Mage.Sets/src/mage/sets/planechase/BeaconOfUnrest.java index 0712672a233..685bdda8f93 100644 --- a/Mage.Sets/src/mage/sets/planechase/BeaconOfUnrest.java +++ b/Mage.Sets/src/mage/sets/planechase/BeaconOfUnrest.java @@ -62,7 +62,6 @@ public class BeaconOfUnrest extends CardImpl { this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); this.getSpellAbility().addEffect(ShuffleSpellEffect.getInstance()); Target target = new TargetCardInGraveyard(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/planeshift/SunkenHope.java b/Mage.Sets/src/mage/sets/planeshift/SunkenHope.java index 38b181b4491..5d03d7eeba2 100644 --- a/Mage.Sets/src/mage/sets/planeshift/SunkenHope.java +++ b/Mage.Sets/src/mage/sets/planeshift/SunkenHope.java @@ -100,7 +100,6 @@ class ReturnToHandEffect extends OneShotEffect { FilterCreaturePermanent filter = new FilterCreaturePermanent(); filter.add(new ControllerPredicate(TargetController.YOU)); Target target = new TargetControlledPermanent(1, 1, filter, true); - target.setRequired(true); if (target.canChoose(player.getId(), game)) { while (player.isInGame() && !target.isChosen() && target.canChoose(player.getId(), game)) { diff --git a/Mage.Sets/src/mage/sets/portalthreekingdoms/BurningOfXinye.java b/Mage.Sets/src/mage/sets/portalthreekingdoms/BurningOfXinye.java index f189cf192e3..d97c59f05bd 100644 --- a/Mage.Sets/src/mage/sets/portalthreekingdoms/BurningOfXinye.java +++ b/Mage.Sets/src/mage/sets/portalthreekingdoms/BurningOfXinye.java @@ -111,7 +111,6 @@ class BurningOfXinyeEffect extends OneShotEffect{ int amount = Math.min(4, realCount); Target target = new TargetControlledPermanent(amount, amount, filter, true); - target.setRequired(true); if (amount > 0 && target.canChoose(source.getSourceId(), player.getId(), game)) { while (!target.isChosen() && target.canChoose(player.getId(), game) && player.isInGame()) { player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/portalthreekingdoms/DiaochanArtfulBeauty.java b/Mage.Sets/src/mage/sets/portalthreekingdoms/DiaochanArtfulBeauty.java index e375ac6c80c..188980c978c 100644 --- a/Mage.Sets/src/mage/sets/portalthreekingdoms/DiaochanArtfulBeauty.java +++ b/Mage.Sets/src/mage/sets/portalthreekingdoms/DiaochanArtfulBeauty.java @@ -122,7 +122,6 @@ class TargetOpponentsChoiceCreaturePermanent extends TargetPermanent { public TargetOpponentsChoiceCreaturePermanent() { super(1, 1, new FilterCreaturePermanent(), false); - this.setRequired(true); this.targetName = filter.getMessage(); } diff --git a/Mage.Sets/src/mage/sets/ravnika/CongregationAtDawn.java b/Mage.Sets/src/mage/sets/ravnika/CongregationAtDawn.java index 280b627dad4..2ad96da5dea 100644 --- a/Mage.Sets/src/mage/sets/ravnika/CongregationAtDawn.java +++ b/Mage.Sets/src/mage/sets/ravnika/CongregationAtDawn.java @@ -108,7 +108,6 @@ class CongregationAtDawnEffect extends OneShotEffect { controller.shuffleLibrary(game); TargetCard targetToLib = new TargetCard(Zone.PICK, new FilterCard(textTop)); - target.setRequired(true); while (revealed.size() > 1 && controller.isInGame()) { controller.choose(Outcome.Neutral, revealed, targetToLib, game); diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedDragon.java b/Mage.Sets/src/mage/sets/ravnika/HuntedDragon.java index e58488d9a01..282c72694b2 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedDragon.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedDragon.java @@ -63,7 +63,6 @@ public class HuntedDragon extends CardImpl { // When Hunted Dragon enters the battlefield, put three 2/2 white Knight creature tokens with first strike onto the battlefield under target opponent's control. Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new KnightToken(), 3), false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedHorror.java b/Mage.Sets/src/mage/sets/ravnika/HuntedHorror.java index 103720ef09a..a4e2a75d05b 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedHorror.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedHorror.java @@ -64,7 +64,6 @@ public class HuntedHorror extends CardImpl { // When Hunted Horror enters the battlefield, put two 3/3 green Centaur creature tokens with protection from black onto the battlefield under target opponent's control. Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new CentaurToken(), 2), false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedLammasu.java b/Mage.Sets/src/mage/sets/ravnika/HuntedLammasu.java index ae898d85e4c..b77be9659c6 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedLammasu.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedLammasu.java @@ -60,7 +60,6 @@ public class HuntedLammasu extends CardImpl { // When Hunted Lammasu enters the battlefield, put a 4/4 black Horror creature token onto the battlefield under target opponent's control. Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new HorrorToken()), false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java b/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java index b16c21e7ca9..6e55431df33 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedPhantasm.java @@ -60,7 +60,6 @@ public class HuntedPhantasm extends CardImpl { // When Hunted Phantasm enters the battlefield, put five 1/1 red Goblin creature tokens onto the battlefield under target opponent's control. Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new GoblinToken(), 5), false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/ravnika/HuntedTroll.java b/Mage.Sets/src/mage/sets/ravnika/HuntedTroll.java index 49526c2ed3f..be82797c874 100644 --- a/Mage.Sets/src/mage/sets/ravnika/HuntedTroll.java +++ b/Mage.Sets/src/mage/sets/ravnika/HuntedTroll.java @@ -66,7 +66,6 @@ public class HuntedTroll extends CardImpl { // When Hunted Troll enters the battlefield, put four 1/1 blue Faerie creature tokens with flying onto the battlefield under target opponent's control. Ability ability = new EntersBattlefieldTriggeredAbility(new CreateTokenTargetEffect(new FaerieToken(), 4), false); Target target = new TargetOpponent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {G}: Regenerate Hunted Troll. diff --git a/Mage.Sets/src/mage/sets/ravnika/Mindmoil.java b/Mage.Sets/src/mage/sets/ravnika/Mindmoil.java index 7d02039eae8..f0375e95354 100644 --- a/Mage.Sets/src/mage/sets/ravnika/Mindmoil.java +++ b/Mage.Sets/src/mage/sets/ravnika/Mindmoil.java @@ -92,7 +92,6 @@ class MindmoilEffect extends OneShotEffect { cards.add(card.getId()); } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (you.isInGame() && cards.size() > 1) { you.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/ravnika/SistersOfStoneDeath.java b/Mage.Sets/src/mage/sets/ravnika/SistersOfStoneDeath.java index 2acf062a50a..117fecc0c56 100644 --- a/Mage.Sets/src/mage/sets/ravnika/SistersOfStoneDeath.java +++ b/Mage.Sets/src/mage/sets/ravnika/SistersOfStoneDeath.java @@ -120,7 +120,6 @@ class SistersOfStoneDeathEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { CardsImpl cardsInExile = new CardsImpl(); TargetCard target = new TargetCard(Zone.PICK, new FilterCard()); - target.setRequired(true); Player you = game.getPlayer(source.getControllerId()); if (you != null) { ExileZone exile = game.getExile().getExileZone(exileId); diff --git a/Mage.Sets/src/mage/sets/ravnika/Sunforger.java b/Mage.Sets/src/mage/sets/ravnika/Sunforger.java index def5212f8f8..3facde58b45 100644 --- a/Mage.Sets/src/mage/sets/ravnika/Sunforger.java +++ b/Mage.Sets/src/mage/sets/ravnika/Sunforger.java @@ -123,7 +123,6 @@ class SunforgerEffect extends OneShotEffect { if (you != null) { if (you.getLibrary().size() > 0) { TargetCardInLibrary target = new TargetCardInLibrary(filter); - target.setRequired(true); if (you.searchLibrary(target, game, you.getId())) { UUID targetId = target.getFirstTarget(); Card card = you.getLibrary().remove(targetId, game); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusArrester.java b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusArrester.java index 55c75fef668..ca6442eba7a 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/AzoriusArrester.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/AzoriusArrester.java @@ -66,7 +66,6 @@ public class AzoriusArrester extends CardImpl { // When Azorius Arrester enters the battlefield, detain target creature an opponent controls. Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect(), false); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/DestroyTheEvidence.java b/Mage.Sets/src/mage/sets/returntoravnica/DestroyTheEvidence.java index 49e5bbef4d2..62396d0caa9 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/DestroyTheEvidence.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/DestroyTheEvidence.java @@ -58,7 +58,6 @@ public class DestroyTheEvidence extends CardImpl { // Destroy target land. Its controller reveals cards from the top of his // or her library until he or she reveals a land card, then puts those cards into his or her graveyard. TargetLandPermanent target = new TargetLandPermanent(); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addEffect(new DestroyTheEvidenceEffect()); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java b/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java index 68ae51a621f..54c43ce8d9a 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/InactionInjunction.java @@ -61,7 +61,6 @@ public class InactionInjunction extends CardImpl { // (Until your next turn, that creature can't attack or block and its activated abilities can't be activated.) this.getSpellAbility().addEffect(new DetainTargetEffect()); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Draw a card. diff --git a/Mage.Sets/src/mage/sets/returntoravnica/IsperiasSkywatch.java b/Mage.Sets/src/mage/sets/returntoravnica/IsperiasSkywatch.java index 294cc35a1e8..11dfd8f2101 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/IsperiasSkywatch.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/IsperiasSkywatch.java @@ -71,7 +71,6 @@ public class IsperiasSkywatch extends CardImpl { // (Until your next turn, that creature can't attack or block and its activated abilities can't be activated.) Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect()); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java b/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java index 17576fda6ed..1193c5b07af 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java @@ -305,7 +305,6 @@ class JaceArchitectOfThoughtEffect2 extends OneShotEffect { } TargetCard targetCard = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - targetCard.setRequired(true); while (player.isInGame() && cardsToLibrary.size() > 1) { player.choose(Outcome.Neutral, cardsToLibrary, targetCard, game); Card card = cardsToLibrary.get(targetCard.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java b/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java index 8f7c63a1e8c..6e3d7c2613e 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java @@ -106,7 +106,6 @@ class JaradsOrdersEffect extends OneShotEffect { player.revealCards("Jarad's Orders", revealed, game); if (target.getTargets().size() == 2) { TargetCard target2 = new TargetCard(Zone.PICK, filter); - target2.setRequired(true); player.choose(Outcome.Benefit, revealed, target2, game); Card card = revealed.get(target2.getFirstTarget(), game); card.moveToZone(Zone.HAND, source.getSourceId(), game, false); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/LyevSkyknight.java b/Mage.Sets/src/mage/sets/returntoravnica/LyevSkyknight.java index de32c16529a..7b1eef562ae 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/LyevSkyknight.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/LyevSkyknight.java @@ -72,7 +72,6 @@ public class LyevSkyknight extends CardImpl { // (Until your next turn, that permanent can't attack or block and its activated abilities can't be activated.) Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect(), false); TargetNonlandPermanent target = new TargetNonlandPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/MartialLaw.java b/Mage.Sets/src/mage/sets/returntoravnica/MartialLaw.java index bdafdf1598b..a0a42b69201 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/MartialLaw.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/MartialLaw.java @@ -61,7 +61,6 @@ public class MartialLaw extends CardImpl { // (Until your next turn, that creature can't attack or block and its activated abilities can't be activated.) Ability ability = new BeginningOfUpkeepTriggeredAbility(new DetainTargetEffect(), TargetController.YOU, false); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/NewPrahvGuildmage.java b/Mage.Sets/src/mage/sets/returntoravnica/NewPrahvGuildmage.java index d598efa91ab..8a31e29b4b1 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/NewPrahvGuildmage.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/NewPrahvGuildmage.java @@ -79,7 +79,6 @@ public class NewPrahvGuildmage extends CardImpl { // (Until your next turn, that permanent can't attack or block and its activated abilities can't be activated.) ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DetainTargetEffect(), new ManaCostsImpl("{3}{W}{U}")); TargetNonlandPermanent target = new TargetNonlandPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/Pyroconvergence.java b/Mage.Sets/src/mage/sets/returntoravnica/Pyroconvergence.java index 728eb6934a4..238f073d081 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/Pyroconvergence.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/Pyroconvergence.java @@ -69,7 +69,6 @@ class PyroconvergenceTriggeredAbility extends TriggeredAbilityImpl { public PyroconvergenceTriggeredAbility() { super(Zone.BATTLEFIELD, new DamageTargetEffect(2)); TargetCreatureOrPlayer target = new TargetCreatureOrPlayer(); - target.setRequired(true); this.addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SkymarkRoc.java b/Mage.Sets/src/mage/sets/returntoravnica/SkymarkRoc.java index e28e4f8efb0..1c5f1b25c80 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SkymarkRoc.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SkymarkRoc.java @@ -99,7 +99,6 @@ class SkymarkRocAbility extends TriggeredAbilityImpl { this.getTargets().clear(); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.addTarget(target); return true; } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SoulswornSpirit.java b/Mage.Sets/src/mage/sets/returntoravnica/SoulswornSpirit.java index 921b6e8ed76..80d804204ab 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SoulswornSpirit.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SoulswornSpirit.java @@ -70,7 +70,6 @@ public class SoulswornSpirit extends CardImpl { //(Until your next turn, that creature can't attack or block and its activated abilities can't be activated.) Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect()); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java b/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java index 08208f449cb..257bec6d60e 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java @@ -57,7 +57,6 @@ public class UltimatePrice extends CardImpl { // Destroy target monocolored creature. Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new DestroyTargetEffect()); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AkoumBoulderfoot.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AkoumBoulderfoot.java index 4cbd097fe7a..c29259c349e 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/AkoumBoulderfoot.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/AkoumBoulderfoot.java @@ -56,7 +56,6 @@ public class AkoumBoulderfoot extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1), false); Target target = new TargetCreatureOrPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java index 6e6041dd3ca..1f317d2d463 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/ConsumingVapors.java @@ -97,7 +97,6 @@ class ConsumingVaporsEffect extends OneShotEffect { filter.add(new CardTypePredicate(CardType.CREATURE)); filter.add(new ControllerPredicate(TargetController.YOU)); TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true); - target.setRequired(true); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java index 80b037ca5c4..1be53047aa7 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java @@ -97,7 +97,6 @@ class PerishTheThoughtEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); target.setNotTarget(true); if (you.choose(Outcome.Neutral, targetOpponent.getHand(), target, game)) { Card chosenCard = targetOpponent.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java index f32112c954a..e7c37e0de2b 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java @@ -113,7 +113,6 @@ class RealmsUnchartedEffect extends OneShotEffect { Player opponent = game.getPlayer(game.getOpponents(player.getId()).iterator().next()); TargetCard targetDiscard = new TargetCard(2, Zone.PICK, new FilterCard("cards to put in graveyard")); - targetDiscard.setRequired(true); if (opponent != null && opponent.choose(Outcome.Discard, cards, targetDiscard, game)) { cardsToKeep.removeAll(targetDiscard.getTargets()); cards.removeAll(cardsToKeep); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java index bbcc49b6b45..6fb61f112ee 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java @@ -85,7 +85,6 @@ class SeeBeyondEffect extends OneShotEffect { player.drawCards(2, game); if (player.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.HAND, filter); - target.setRequired(true); player.choose(Outcome.Detriment, player.getHand(), target, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/ChoiceOfDamnations.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/ChoiceOfDamnations.java index e43b46e1f2c..2d784a574d5 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/ChoiceOfDamnations.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/ChoiceOfDamnations.java @@ -102,7 +102,6 @@ class ChoiceOfDamnationsEffect extends OneShotEffect { if (numberPermanents > amount) { int numberToSacrifice = numberPermanents - amount; Target target = new TargetControlledPermanent(numberToSacrifice, numberToSacrifice, new FilterPermanent(), false); - target.setRequired(true); targetPlayer.chooseTarget(Outcome.Sacrifice, target, source, game); for (UUID uuid : target.getTargets()) { Permanent permanent = game.getPermanent(uuid); diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/CutTheEarthlyBond.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/CutTheEarthlyBond.java index 70cd862795b..c7d8d6a3463 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/CutTheEarthlyBond.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/CutTheEarthlyBond.java @@ -58,7 +58,6 @@ public class CutTheEarthlyBond extends CardImpl { // Return target enchanted permanent to its owner's hand. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/ThoughtsOfRuin.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/ThoughtsOfRuin.java index 3d55ed341cf..6be0f54b697 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/ThoughtsOfRuin.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/ThoughtsOfRuin.java @@ -107,7 +107,6 @@ class ThoughtsOfRuinEffect extends OneShotEffect { FilterLandPermanent playerFilter = filter.copy(); playerFilter.add(new ControllerIdPredicate(playerId)); Target target = new TargetLandPermanent(amount, amount, playerFilter, true); - target.setRequired(true); player.choose(outcome, target, source.getSourceId(), game); for (UUID landId : target.getTargets()) { Permanent permanent = game.getPermanent(landId); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/BleakCovenVampires.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/BleakCovenVampires.java index d8f7ca6e296..d57b85e7c7f 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/BleakCovenVampires.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/BleakCovenVampires.java @@ -62,7 +62,6 @@ public class BleakCovenVampires extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(4), false); ability.addEffect(new GainLifeEffect(4)); Target target = new TargetPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(new ConditionalTriggeredAbility(ability, MetalcraftCondition.getInstance(), effectText)); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/CloneShell.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/CloneShell.java index a0c730339a4..d2c073b99ec 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/CloneShell.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/CloneShell.java @@ -125,7 +125,6 @@ class CloneShellEffect extends OneShotEffect { if (cards.size() > 0) { TargetCard target2 = new TargetCard(Zone.PICK, filter2); - target2.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Benefit, cards, target2, game); Card card = cards.get(target2.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionClasp.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionClasp.java index 7409279475d..9fdf0c16bbf 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionClasp.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ContagionClasp.java @@ -57,7 +57,6 @@ public class ContagionClasp extends CardImpl { // When Contagion Clasp enters the battlefield, put a -1/-1 counter on target creature. Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance(), Outcome.UnboostCreature), false); TargetCreaturePermanent target = new TargetCreaturePermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java index d2398014d2e..7f2cf1bc764 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GethLordOfTheVault.java @@ -87,7 +87,6 @@ public class GethLordOfTheVault extends CardImpl { new CardTypePredicate(CardType.CREATURE))); filter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.Equal, xValue)); Target target = new TargetCardInOpponentsGraveyard(filter); - target.setRequired(true); ability.addTarget(target); } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java index f26347489c5..2cb5287c373 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/GlimmerpointStag.java @@ -63,7 +63,6 @@ public class GlimmerpointStag extends CardImpl { this.addAbility(VigilanceAbility.getInstance()); Target etbTarget = new TargetPermanent(); - etbTarget.setRequired(true); Ability etbAbility = new EntersBattlefieldTriggeredAbility(new GlimmerpointStagEffect()); etbAbility.addTarget(etbTarget); this.addAbility(etbAbility); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/PrototypePortal.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/PrototypePortal.java index 154ea791e9a..b01c54f7b57 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/PrototypePortal.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/PrototypePortal.java @@ -119,7 +119,6 @@ class PrototypePortalEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.HAND, filter); - target.setRequired(true); player.choose(Outcome.Benefit, player.getHand(), target, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java index a0267af2b38..d61a8ae2455 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/RazorHippogriff.java @@ -67,7 +67,6 @@ public class RazorHippogriff extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()); TargetCard target = new TargetCardInYourGraveyard(new FilterArtifactCard("artifact card from your graveyard")); - target.setRequired(true); ability.addTarget(target); ability.addEffect(new RazorHippogriffGainLifeEffect()); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/Skinrender.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/Skinrender.java index 076476dde42..38cdcfb420b 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/Skinrender.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/Skinrender.java @@ -59,7 +59,6 @@ public class Skinrender extends CardImpl { Effect putCountersEffect = new AddCountersTargetEffect(CounterType.M1M1.createInstance(3), Outcome.UnboostCreature); Ability ability = new EntersBattlefieldTriggeredAbility(putCountersEffect, false); Target target = new TargetCreaturePermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfCorruption.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfCorruption.java index b4b699b363e..1c7d5a9731e 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfCorruption.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfCorruption.java @@ -69,7 +69,6 @@ public class TrigonOfCorruption extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, putCounterEffect, costs); ability.addManaCost(new GenericManaCost(2)); Target target = new TargetCreaturePermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfRage.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfRage.java index d3f682f3ddf..9665e926c29 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfRage.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TrigonOfRage.java @@ -69,7 +69,6 @@ public class TrigonOfRage extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, pumpEffect, costs); ability.addManaCost(new GenericManaCost(2)); Target target = new TargetCreaturePermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java index 2b8329f3a99..f1cb602319a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/VenserTheSojourner.java @@ -77,7 +77,6 @@ public class VenserTheSojourner extends CardImpl { // +2: Exile target permanent you own. Return it to the battlefield under your control at the beginning of the next end step. LoyaltyAbility ability1 = new LoyaltyAbility(new VenserTheSojournerEffect(), 2); Target target = new TargetControlledPermanent(); - target.setRequired(true); ability1.addTarget(target); this.addAbility(ability1); @@ -147,7 +146,6 @@ class VenserTheSojournerEmblem extends Emblem { this.setName("EMBLEM: Venser, the Sojourner"); Ability ability = new VenserTheSojournerSpellCastTriggeredAbility(new ExileTargetEffect(), false); Target target = new TargetPermanent(); - target.setRequired(true); ability.addTarget(target); this.getAbilities().add(ability); } diff --git a/Mage.Sets/src/mage/sets/scourge/KrosanWarchief.java b/Mage.Sets/src/mage/sets/scourge/KrosanWarchief.java index 0d14071184d..195a052436d 100644 --- a/Mage.Sets/src/mage/sets/scourge/KrosanWarchief.java +++ b/Mage.Sets/src/mage/sets/scourge/KrosanWarchief.java @@ -74,7 +74,6 @@ public class KrosanWarchief extends CardImpl { new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}")); Target target = new TargetCreaturePermanent(filterTarget); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/scourge/SliverOverlord.java b/Mage.Sets/src/mage/sets/scourge/SliverOverlord.java index a0309d8d151..9c5a053dec7 100644 --- a/Mage.Sets/src/mage/sets/scourge/SliverOverlord.java +++ b/Mage.Sets/src/mage/sets/scourge/SliverOverlord.java @@ -78,7 +78,6 @@ public class SliverOverlord extends CardImpl { // {3}: Gain control of target Sliver. Ability ability = (new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.EndOfGame), new ManaCostsImpl("{3}"))); Target target = new TargetPermanent(new FilterCreaturePermanent("Sliver","Sliver")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/seventhedition/AgonizingMemories.java b/Mage.Sets/src/mage/sets/seventhedition/AgonizingMemories.java index 4895b95ae12..3a2f0464ee2 100644 --- a/Mage.Sets/src/mage/sets/seventhedition/AgonizingMemories.java +++ b/Mage.Sets/src/mage/sets/seventhedition/AgonizingMemories.java @@ -101,7 +101,6 @@ class AgonizingMemoriesEffect extends OneShotEffect { private void chooseCardInHandAndPutOnTopOfLibrary(Game game, Ability source, Player you, Player targetPlayer) { if (targetPlayer.getHand().size() > 0) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the top of library (last chosen will be on top)")); - target.setRequired(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/seventhedition/AncestralMemories.java b/Mage.Sets/src/mage/sets/seventhedition/AncestralMemories.java index a65a96a51a2..2685f729054 100644 --- a/Mage.Sets/src/mage/sets/seventhedition/AncestralMemories.java +++ b/Mage.Sets/src/mage/sets/seventhedition/AncestralMemories.java @@ -105,7 +105,6 @@ class AncestralMemoriesEffect extends OneShotEffect { player.lookAtCards("Ancestral Memories", cards, game); TargetCard target = new TargetCard(Math.min(2, cards.size()), Zone.PICK, new FilterCard("two cards to put in your hand")); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { for (UUID targetId : (List)target.getTargets()) { Card card = cards.get(targetId, game); diff --git a/Mage.Sets/src/mage/sets/shadowmoor/IncrementalBlight.java b/Mage.Sets/src/mage/sets/shadowmoor/IncrementalBlight.java index 076a9dd140a..133532414e5 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/IncrementalBlight.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/IncrementalBlight.java @@ -55,7 +55,6 @@ public class IncrementalBlight extends CardImpl { // Put a -1/-1 counter on target creature, two -1/-1 counters on another target creature, and three -1/-1 counters on a third target creature. this.getSpellAbility().addEffect(new IncrementalBlightEffect()); Target target = new TargetCreaturePermanent(3,3); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/shadowmoor/InquisitorsSnare.java b/Mage.Sets/src/mage/sets/shadowmoor/InquisitorsSnare.java index 5b4b567cb43..fd5b8f10363 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/InquisitorsSnare.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/InquisitorsSnare.java @@ -60,7 +60,6 @@ public class InquisitorsSnare extends CardImpl { // Prevent all damage target attacking or blocking creature would deal this turn. If that creature is black or red, destroy it. this.getSpellAbility().addEffect(new InquisitorsSnareEffect()); Target target = new TargetAttackingOrBlockingCreature(); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/shadowmoor/OrderOfWhiteclay.java b/Mage.Sets/src/mage/sets/shadowmoor/OrderOfWhiteclay.java index c7399a431c8..d351c4e72d8 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/OrderOfWhiteclay.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/OrderOfWhiteclay.java @@ -71,7 +71,6 @@ public class OrderOfWhiteclay extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{1}{W}{W}")); ability.addCost(new UntapSourceCost()); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/shadowmoor/PuppeteerClique.java b/Mage.Sets/src/mage/sets/shadowmoor/PuppeteerClique.java index 04a9fdc9f7e..beac380fe5d 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/PuppeteerClique.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/PuppeteerClique.java @@ -79,7 +79,6 @@ public class PuppeteerClique extends CardImpl { // When Puppeteer Clique enters the battlefield, put target creature card from an opponent's graveyard onto the battlefield under your control. It gains haste. At the beginning of your next end step, exile it. Ability ability = new EntersBattlefieldTriggeredAbility(new PuppeteerCliqueEffect(), false); Target target = new TargetCardInOpponentsGraveyard(new FilterCreatureCard("creature card from your opponent's graveyard")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/AgonyWarp.java b/Mage.Sets/src/mage/sets/shardsofalara/AgonyWarp.java index 424cc5871a7..5cbe9aeb8af 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/AgonyWarp.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/AgonyWarp.java @@ -57,7 +57,6 @@ public class AgonyWarp extends CardImpl { effect.setText("Target creature gets -3/-0 until end of turn"); this.getSpellAbility().addEffect(effect); Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("first creature")); - target.setRequired(true); this.getSpellAbility().addTarget(target); // Target creature gets -0/-3 until end of turn. @@ -66,7 +65,6 @@ public class AgonyWarp extends CardImpl { effect2.setTargetPointer(SecondTargetPointer.getInstance()); this.getSpellAbility().addEffect(effect2); target = new TargetCreaturePermanent(new FilterCreaturePermanent("second creature (can be the same as the first)")); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/BrilliantUltimatum.java b/Mage.Sets/src/mage/sets/shardsofalara/BrilliantUltimatum.java index 2250a50c6c5..b08c4a0bc86 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/BrilliantUltimatum.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/BrilliantUltimatum.java @@ -142,7 +142,6 @@ class BrilliantUltimatumEffect extends OneShotEffect { game.informPlayer(you, you.getName() + " chose Pile 1."); while (!pileOne.isEmpty() && you.chooseUse(Outcome.PlayForFree, "Do you want to play a card from Pile 1?", game)) { TargetCard targetExiledCard = new TargetCard(Zone.EXILED, new FilterCard()); - targetExiledCard.setRequired(true); if (you.chooseTarget(Outcome.PlayForFree, pile1, targetExiledCard, source, game)) { Card card = pile1.get(targetExiledCard.getFirstTarget(), game); if (card != null) { @@ -162,7 +161,6 @@ class BrilliantUltimatumEffect extends OneShotEffect { game.informPlayer(you, you.getName() + " chose Pile 2."); while (!pileTwo.isEmpty() && you.chooseUse(Outcome.PlayForFree, "Do you want to play a card from Pile 2?", game)) { TargetCard targetExiledCard = new TargetCard(Zone.EXILED, new FilterCard()); - targetExiledCard.setRequired(true); if (you.chooseTarget(Outcome.PlayForFree, pile2, targetExiledCard, source, game)) { Card card = pile2.get(targetExiledCard.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java b/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java index 6496be00dd1..64945da239e 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java @@ -100,7 +100,6 @@ class ClarionUltimatumEffect extends OneShotEffect { } TargetControlledPermanent permanentsTarget = new TargetControlledPermanent(Math.min(permanentsCount, 5)); - permanentsTarget.setRequired(true); player.choose(Outcome.Benefit, permanentsTarget, source.getSourceId(), game); List chosenCards = new ArrayList(); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/GiftOfTheGargantuan.java b/Mage.Sets/src/mage/sets/shardsofalara/GiftOfTheGargantuan.java index e79861c0c0a..c995d313bdf 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/GiftOfTheGargantuan.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/GiftOfTheGargantuan.java @@ -142,7 +142,6 @@ class GiftOfTheGargantuanEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java b/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java index 9eec2b96a71..35debd0d604 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ImmortalCoil.java @@ -169,7 +169,6 @@ class PreventAllDamageToControllerEffect extends PreventionEffectImpl { Player player = game.getPlayer(source.getControllerId()); if(player != null){ TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(Math.min(damage, player.getGraveyard().size()), new FilterCard()); - target.setRequired(true); if (target.choose(Outcome.Exile, source.getControllerId(), source.getSourceId(), game)) { for (UUID targetId: target.getTargets()) { Card card = player.getGraveyard().get(targetId, game); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/OblivionRing.java b/Mage.Sets/src/mage/sets/shardsofalara/OblivionRing.java index ff460857759..1c61973c1c5 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/OblivionRing.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/OblivionRing.java @@ -63,7 +63,6 @@ public class OblivionRing extends CardImpl { // When Oblivion Ring enters the battlefield, exile another target nonland permanent. Ability ability1 = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect( "Oblivion Ring exile"), false); Target target = new TargetPermanent(anotherNonlandPermanent); - target.setRequired(true); ability1.addTarget(target); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java index 4c722ecfa1a..073341954da 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/RelicOfProgenitus.java @@ -103,7 +103,6 @@ class RelicOfProgenitusEffect extends OneShotEffect { FilterCard filter = new FilterCard("card from your graveyard"); filter.add(new OwnerIdPredicate(targetPlayer.getId())); TargetCardInGraveyard target = new TargetCardInGraveyard(filter); - target.setRequired(true); if (targetPlayer.chooseTarget(Outcome.Exile, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ResoundingSilence.java b/Mage.Sets/src/mage/sets/shardsofalara/ResoundingSilence.java index b729ec96e9f..f35d76aac41 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ResoundingSilence.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ResoundingSilence.java @@ -60,7 +60,6 @@ public class ResoundingSilence extends CardImpl { // When you cycle Resounding Silence, exile up to two target attacking creatures. Ability ability = new CycleTriggeredAbility(new ExileTargetEffect()); TargetPermanent target = new TargetAttackingCreature(0, 2, new FilterAttackingCreature("up to two target attacking creatures"), false); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ResoundingWave.java b/Mage.Sets/src/mage/sets/shardsofalara/ResoundingWave.java index bdfa76d8c3a..fafbe1ff3e3 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ResoundingWave.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ResoundingWave.java @@ -59,7 +59,6 @@ public class ResoundingWave extends CardImpl { // When you cycle Resounding Wave, return two target permanents to their owners' hands. Ability ability = new CycleTriggeredAbility(new ReturnToHandTargetEffect()); TargetPermanent target = new TargetPermanent(2, new FilterPermanent("two target permanents")); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java b/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java index c1d53941a57..6e3ff344b1a 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/TidehollowSculler.java @@ -109,7 +109,6 @@ class TidehollowScullerExileEffect extends OneShotEffect { opponent.revealCards(sourcePermanent.getName(), opponent.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, new FilterNonlandCard("nonland card to exile")); - target.setRequired(true); if (controller.choose(Outcome.Exile, opponent.getHand(), target, game)) { Card card = opponent.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/stronghold/StrongholdAssassin.java b/Mage.Sets/src/mage/sets/stronghold/StrongholdAssassin.java index 19ff73995dd..32483941eef 100644 --- a/Mage.Sets/src/mage/sets/stronghold/StrongholdAssassin.java +++ b/Mage.Sets/src/mage/sets/stronghold/StrongholdAssassin.java @@ -72,7 +72,6 @@ public class StrongholdAssassin extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1, new FilterControlledCreaturePermanent("a creature"), true))); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/tempest/DreamCache.java b/Mage.Sets/src/mage/sets/tempest/DreamCache.java index 3dad282dc3c..1aea178245a 100644 --- a/Mage.Sets/src/mage/sets/tempest/DreamCache.java +++ b/Mage.Sets/src/mage/sets/tempest/DreamCache.java @@ -100,7 +100,6 @@ class DreamCacheEffect extends OneShotEffect { private boolean putInLibrary(Player player, Ability source, Game game, boolean putOnTop) { if (player.getHand().size() > 0) { TargetCardInHand target = new TargetCardInHand(); - target.setRequired(true); player.chooseTarget(Outcome.Detriment, target, source, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/tempest/Intuition.java b/Mage.Sets/src/mage/sets/tempest/Intuition.java index 00c089533ff..f0842e62174 100644 --- a/Mage.Sets/src/mage/sets/tempest/Intuition.java +++ b/Mage.Sets/src/mage/sets/tempest/Intuition.java @@ -102,7 +102,6 @@ class IntuitionEffect extends SearchEffect { if (player.getLibrary().size() >= 3 && player.searchLibrary(target, game)) { - target.setRequired(true); if (target.getTargets().size() == 3) { Cards cards = new CardsImpl(); for (UUID cardId: (List)target.getTargets()) { @@ -114,7 +113,6 @@ class IntuitionEffect extends SearchEffect { player.revealCards("Reveal", cards, game); TargetCard targetCard = new TargetCard(Zone.PICK, new FilterCard()); - targetCard.setRequired(true); while(!opponent.choose(Outcome.Neutral, cards, targetCard, game)); Card card = cards.get(targetCard.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/tempest/Lobotomy.java b/Mage.Sets/src/mage/sets/tempest/Lobotomy.java index b9a57f6effc..ad9241b3fee 100644 --- a/Mage.Sets/src/mage/sets/tempest/Lobotomy.java +++ b/Mage.Sets/src/mage/sets/tempest/Lobotomy.java @@ -100,7 +100,6 @@ class LobotomyEffect extends OneShotEffect { targetPlayer.revealCards("Lobotomy", targetPlayer.getHand(), game); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); target.setNotTarget(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { Card chosenCard = targetPlayer.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/tempest/ScrollRack.java b/Mage.Sets/src/mage/sets/tempest/ScrollRack.java index cbc2d0a2575..5fba7424461 100644 --- a/Mage.Sets/src/mage/sets/tempest/ScrollRack.java +++ b/Mage.Sets/src/mage/sets/tempest/ScrollRack.java @@ -120,7 +120,6 @@ class ScrollRackEffect extends OneShotEffect { TargetCardInExile target2 = new TargetCardInExile(filter2, source.getSourceId()); ExileZone scrollRackExileZone = game.getExile().getExileZone(source.getSourceId()); - target2.setRequired(true); if (scrollRackExileZone != null) { while (you.isInGame() && scrollRackExileZone.count(filter, game) > 1) { you.lookAtCards("exiled cards with " + game.getCard(source.getSourceId()).getName(), scrollRackExileZone, game); diff --git a/Mage.Sets/src/mage/sets/tenth/TellingTime.java b/Mage.Sets/src/mage/sets/tenth/TellingTime.java index 2cfc9778e2b..adb6507a077 100644 --- a/Mage.Sets/src/mage/sets/tenth/TellingTime.java +++ b/Mage.Sets/src/mage/sets/tenth/TellingTime.java @@ -132,7 +132,6 @@ class TellingTimeEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard(message)); - target.setRequired(true); if (player.choose(Outcome.Benefit, cards, target, game)) { Card card = cards.get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/tenth/ThrullSurgeon.java b/Mage.Sets/src/mage/sets/tenth/ThrullSurgeon.java index 9fcfa2f6b85..79f0bf0e111 100644 --- a/Mage.Sets/src/mage/sets/tenth/ThrullSurgeon.java +++ b/Mage.Sets/src/mage/sets/tenth/ThrullSurgeon.java @@ -98,7 +98,6 @@ class ThrullSurgeonEffect extends OneShotEffect { if (targetPlayer != null && you != null) { you.lookAtCards("Discard", targetPlayer.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard()); - target.setRequired(true); target.setNotTarget(true); if (you.choose(Outcome.Benefit, targetPlayer.getHand(), target, game)) { Card card = targetPlayer.getHand().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/theros/ArborColossus.java b/Mage.Sets/src/mage/sets/theros/ArborColossus.java index 9b3cf991c4c..397fd27f968 100644 --- a/Mage.Sets/src/mage/sets/theros/ArborColossus.java +++ b/Mage.Sets/src/mage/sets/theros/ArborColossus.java @@ -73,7 +73,6 @@ public class ArborColossus extends CardImpl { // When Arbor Colossus becomes monstrous, destroy target creature with flying an opponent controls. Ability ability = new BecomesMonstrousSourceTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/ArenaAthlete.java b/Mage.Sets/src/mage/sets/theros/ArenaAthlete.java index 4b9651640d7..ef251852a85 100644 --- a/Mage.Sets/src/mage/sets/theros/ArenaAthlete.java +++ b/Mage.Sets/src/mage/sets/theros/ArenaAthlete.java @@ -65,7 +65,6 @@ public class ArenaAthlete extends CardImpl { // Heroic Whenever you cast a spell that targets Arena Athlete, target creature an opponent controls can't block this turn. Ability ability = new HeroicAbility(new CantBlockTargetEffect(Duration.EndOfTurn)); TargetCreaturePermanent target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/AshiokNightmareWeaver.java b/Mage.Sets/src/mage/sets/theros/AshiokNightmareWeaver.java index acd5e40a675..173ffc07615 100644 --- a/Mage.Sets/src/mage/sets/theros/AshiokNightmareWeaver.java +++ b/Mage.Sets/src/mage/sets/theros/AshiokNightmareWeaver.java @@ -167,7 +167,6 @@ class AshiokNightmareWeaverPutIntoPlayEffect extends OneShotEffect { FilterCard filter = new FilterCreatureCard(new StringBuilder("creature card with converted mana cost {").append(cmc).append("} exiled with Ashiok, Nightmare Weaver").toString()); filter.add(new ConvertedManaCostPredicate(Filter.ComparisonType.Equal, cmc)); Target target = new TargetCardInExile(filter, CardUtil.getCardExileZoneId(game, source)); - target.setRequired(true); if (target.canChoose(source.getSourceId(), player.getId(), game)) { if (player.chooseTarget(Outcome.PutCreatureInPlay, target, source, game)) { diff --git a/Mage.Sets/src/mage/sets/theros/BowOfNylea.java b/Mage.Sets/src/mage/sets/theros/BowOfNylea.java index 41f8a176d08..1ae6171c9c1 100644 --- a/Mage.Sets/src/mage/sets/theros/BowOfNylea.java +++ b/Mage.Sets/src/mage/sets/theros/BowOfNylea.java @@ -94,7 +94,6 @@ public class BowOfNylea extends CardImpl { Mode mode = new Mode(); mode.getEffects().add(new DamageTargetEffect(2)); Target target = new TargetCreaturePermanent(filterFlying); - target.setRequired(true); mode.getTargets().add(target); ability.addMode(mode); // or you gain 3 life; @@ -152,7 +151,6 @@ class PutCardsFromGraveyardToLibraryEffect extends OneShotEffect { } if (!cards.isEmpty()) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("on bottom of your library (last chosen will be on bottom)")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/theros/DarkBetrayal.java b/Mage.Sets/src/mage/sets/theros/DarkBetrayal.java index b58ecf9a45a..e9455993b17 100644 --- a/Mage.Sets/src/mage/sets/theros/DarkBetrayal.java +++ b/Mage.Sets/src/mage/sets/theros/DarkBetrayal.java @@ -58,7 +58,6 @@ public class DarkBetrayal extends CardImpl { // Destroy target black creature. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/DestructiveRevelry.java b/Mage.Sets/src/mage/sets/theros/DestructiveRevelry.java index 6e9aa03b311..c6d3eff004b 100644 --- a/Mage.Sets/src/mage/sets/theros/DestructiveRevelry.java +++ b/Mage.Sets/src/mage/sets/theros/DestructiveRevelry.java @@ -64,7 +64,6 @@ public class DestructiveRevelry extends CardImpl { // Destroy target artifact or enchantment. Destructive Revelry deals 2 damage to that permanent's controller. this.getSpellAbility().addEffect(new DestructiveRevelryEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/DiscipleOfPhenax.java b/Mage.Sets/src/mage/sets/theros/DiscipleOfPhenax.java index 780212b9f9a..9132c574dfc 100644 --- a/Mage.Sets/src/mage/sets/theros/DiscipleOfPhenax.java +++ b/Mage.Sets/src/mage/sets/theros/DiscipleOfPhenax.java @@ -110,7 +110,6 @@ class DiscipleOfPhenaxEffect extends OneShotEffect { if (targetPlayer.getHand().size() > amount) { FilterCard filter = new FilterCard("card in target player's hand"); TargetCardInHand chosenCards = new TargetCardInHand(amount, amount, filter); - chosenCards.setRequired(true); chosenCards.setNotTarget(true); if (chosenCards.canChoose(targetPlayer.getId(), game) && targetPlayer.choose(Outcome.Discard, targetPlayer.getHand(), chosenCards, game)) { if (!chosenCards.getTargets().isEmpty()) { @@ -131,7 +130,6 @@ class DiscipleOfPhenaxEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard yourChoice = new TargetCard(Zone.PICK, new FilterCard()); - yourChoice.setRequired(true); yourChoice.setNotTarget(true); if (you.choose(Outcome.Benefit, revealedCards, yourChoice, game)) { Card card = targetPlayer.getHand().get(yourChoice.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/theros/Dissolve.java b/Mage.Sets/src/mage/sets/theros/Dissolve.java index 65b58c59c50..9cf50190e02 100644 --- a/Mage.Sets/src/mage/sets/theros/Dissolve.java +++ b/Mage.Sets/src/mage/sets/theros/Dissolve.java @@ -52,7 +52,6 @@ public class Dissolve extends CardImpl { // Counter target spell. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) this.getSpellAbility().addEffect(new CounterTargetEffect()); Target target = new TargetSpell(); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new ScryEffect(1)); } diff --git a/Mage.Sets/src/mage/sets/theros/EpharasWarden.java b/Mage.Sets/src/mage/sets/theros/EpharasWarden.java index 4abc0757b78..aa1b8e0d741 100644 --- a/Mage.Sets/src/mage/sets/theros/EpharasWarden.java +++ b/Mage.Sets/src/mage/sets/theros/EpharasWarden.java @@ -67,7 +67,6 @@ public class EpharasWarden extends CardImpl { // {T}: Tap target creature with power 3 or less. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapSourceCost()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/FadeIntoAntiquity.java b/Mage.Sets/src/mage/sets/theros/FadeIntoAntiquity.java index 5e9fc40cc5e..7d6c664f55b 100644 --- a/Mage.Sets/src/mage/sets/theros/FadeIntoAntiquity.java +++ b/Mage.Sets/src/mage/sets/theros/FadeIntoAntiquity.java @@ -58,7 +58,6 @@ public class FadeIntoAntiquity extends CardImpl { // Exile target artifact or enchantment. this.getSpellAbility().addEffect(new ExileTargetEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/Gainsay.java b/Mage.Sets/src/mage/sets/theros/Gainsay.java index 715b84abc91..841843664e7 100644 --- a/Mage.Sets/src/mage/sets/theros/Gainsay.java +++ b/Mage.Sets/src/mage/sets/theros/Gainsay.java @@ -58,7 +58,6 @@ public class Gainsay extends CardImpl { // Counter target blue spell. this.getSpellAbility().addEffect(new CounterTargetEffect()); Target target = new TargetSpell(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/GlareOfHeresy.java b/Mage.Sets/src/mage/sets/theros/GlareOfHeresy.java index 75e1618b81a..c12b93a613f 100644 --- a/Mage.Sets/src/mage/sets/theros/GlareOfHeresy.java +++ b/Mage.Sets/src/mage/sets/theros/GlareOfHeresy.java @@ -57,7 +57,6 @@ public class GlareOfHeresy extends CardImpl { // Exile target white permanent. this.getSpellAbility().addEffect(new ExileTargetEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/HeliodsEmissary.java b/Mage.Sets/src/mage/sets/theros/HeliodsEmissary.java index c2244ab1e46..a5c15fbe03d 100644 --- a/Mage.Sets/src/mage/sets/theros/HeliodsEmissary.java +++ b/Mage.Sets/src/mage/sets/theros/HeliodsEmissary.java @@ -73,12 +73,10 @@ public class HeliodsEmissary extends CardImpl { // Whenever Heliod's Emissary or enchanted creature attacks, tap target creature an opponent controls. Ability ability = new AttacksTriggeredAbility(new TapTargetEffect(), false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); ability = new AttacksAttachedTriggeredAbility(new TapTargetEffect(), AttachmentType.AURA, false); target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // Enchanted creature gets +3/+3. diff --git a/Mage.Sets/src/mage/sets/theros/HerosDownfall.java b/Mage.Sets/src/mage/sets/theros/HerosDownfall.java index 1a061e3e8a1..c710e11b1e8 100644 --- a/Mage.Sets/src/mage/sets/theros/HerosDownfall.java +++ b/Mage.Sets/src/mage/sets/theros/HerosDownfall.java @@ -58,7 +58,6 @@ public class HerosDownfall extends CardImpl { // Destroy target creature or planeswalker. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetPermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/HuntTheHunter.java b/Mage.Sets/src/mage/sets/theros/HuntTheHunter.java index 5ed877ffb2c..b08acf51e2d 100644 --- a/Mage.Sets/src/mage/sets/theros/HuntTheHunter.java +++ b/Mage.Sets/src/mage/sets/theros/HuntTheHunter.java @@ -75,7 +75,6 @@ public class HuntTheHunter extends CardImpl { effect.setText("It fights target green creature an opponent controls"); this.getSpellAbility().addEffect(effect); Target target = new TargetCreaturePermanent(filterOpponentGreen); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/KeepsakeGorgon.java b/Mage.Sets/src/mage/sets/theros/KeepsakeGorgon.java index 1dbf204078e..afece5a7b94 100644 --- a/Mage.Sets/src/mage/sets/theros/KeepsakeGorgon.java +++ b/Mage.Sets/src/mage/sets/theros/KeepsakeGorgon.java @@ -73,7 +73,6 @@ public class KeepsakeGorgon extends CardImpl { // When Keepsake Gorgon becomes monstrous, destroy target non-Gorgon creature an opponent controls. Ability ability = new BecomesMonstrousSourceTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/LoathsomeCatoblepas.java b/Mage.Sets/src/mage/sets/theros/LoathsomeCatoblepas.java index 5b738114720..d06aa59b95e 100644 --- a/Mage.Sets/src/mage/sets/theros/LoathsomeCatoblepas.java +++ b/Mage.Sets/src/mage/sets/theros/LoathsomeCatoblepas.java @@ -71,7 +71,6 @@ public class LoathsomeCatoblepas extends CardImpl { // When Loathsome Catoblepas dies, target creature an opponent controls gets -3/-3 until end of turn. Ability ability = new DiesTriggeredAbility(new BoostTargetEffect(-3,-3, Duration.EndOfTurn), false); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/theros/MeletisCharlatan.java b/Mage.Sets/src/mage/sets/theros/MeletisCharlatan.java index 8c286a97990..748bf320ff3 100644 --- a/Mage.Sets/src/mage/sets/theros/MeletisCharlatan.java +++ b/Mage.Sets/src/mage/sets/theros/MeletisCharlatan.java @@ -75,7 +75,6 @@ public class MeletisCharlatan extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MeletisCharlatanCopyTargetSpellEffect(), new ManaCostsImpl("{2}{U}")); ability.addCost(new TapSourceCost()); Target target = new TargetSpell(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/PharikasMender.java b/Mage.Sets/src/mage/sets/theros/PharikasMender.java index 23dee32929d..41559db4b2d 100644 --- a/Mage.Sets/src/mage/sets/theros/PharikasMender.java +++ b/Mage.Sets/src/mage/sets/theros/PharikasMender.java @@ -67,7 +67,6 @@ public class PharikasMender extends CardImpl { // When Pharika's Mender enters the battlefield, you may return target creature or enchantment card from your graveyard to your hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect()); Target target = new TargetCardInYourGraveyard(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/PolisCrusher.java b/Mage.Sets/src/mage/sets/theros/PolisCrusher.java index 3b43bd99ecc..9c387fae356 100644 --- a/Mage.Sets/src/mage/sets/theros/PolisCrusher.java +++ b/Mage.Sets/src/mage/sets/theros/PolisCrusher.java @@ -103,7 +103,6 @@ public class PolisCrusher extends CardImpl { FilterPermanent filterEnchantment = new FilterEnchantmentPermanent("enchantment attacked player controls"); filterEnchantment.add(new ControllerIdPredicate(attackedPlayer.getId())); Target target = new TargetPermanent(filterEnchantment); - target.setRequired(true); ability.addTarget(target); effect.setTargetPointer(new FirstTargetPointer()); break; diff --git a/Mage.Sets/src/mage/sets/theros/PriestOfIroas.java b/Mage.Sets/src/mage/sets/theros/PriestOfIroas.java index 70429ab70f5..38855b90c2f 100644 --- a/Mage.Sets/src/mage/sets/theros/PriestOfIroas.java +++ b/Mage.Sets/src/mage/sets/theros/PriestOfIroas.java @@ -62,7 +62,6 @@ public class PriestOfIroas extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{W}")); ability.addCost(new SacrificeSourceCost()); Target target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java b/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java index 3e188afdf19..0b555c11fd6 100644 --- a/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java +++ b/Mage.Sets/src/mage/sets/theros/PsychicIntrusion.java @@ -118,7 +118,6 @@ class PsychicIntrusionExileEffect extends OneShotEffect { Card card = null; if (cardsHand > 0 && fromHand) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (you.choose(Outcome.Benefit, opponent.getHand(), target, game)) { card = opponent.getHand().get(target.getFirstTarget(), game); @@ -126,7 +125,6 @@ class PsychicIntrusionExileEffect extends OneShotEffect { } if (cardsGraveyard > 0 && !fromHand) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (you.choose(Outcome.Benefit, opponent.getGraveyard(), target, game)) { card = opponent.getGraveyard().get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/theros/RayOfDissolution.java b/Mage.Sets/src/mage/sets/theros/RayOfDissolution.java index d05dfe255fc..0cf356af04e 100644 --- a/Mage.Sets/src/mage/sets/theros/RayOfDissolution.java +++ b/Mage.Sets/src/mage/sets/theros/RayOfDissolution.java @@ -52,7 +52,6 @@ public class RayOfDissolution extends CardImpl { // Destroy target enchantment. You gain 3 life. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetPermanent(new FilterEnchantmentPermanent()); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new GainLifeEffect(3)); } diff --git a/Mage.Sets/src/mage/sets/theros/RescueFromTheUnderworld.java b/Mage.Sets/src/mage/sets/theros/RescueFromTheUnderworld.java index 33cdea7c86f..694b42888d4 100644 --- a/Mage.Sets/src/mage/sets/theros/RescueFromTheUnderworld.java +++ b/Mage.Sets/src/mage/sets/theros/RescueFromTheUnderworld.java @@ -89,7 +89,6 @@ public class RescueFromTheUnderworld extends CardImpl { this.getSpellAbility().addEffect(new RescueFromTheUnderworldTextEffect()); this.getSpellAbility().addEffect(new RescueFromTheUnderworldCreateDelayedTriggeredAbilityEffect(new RescueFromTheUnderworldDelayedTriggeredAbility())); Target target = new TargetCardInYourGraveyard(new FilterCreatureCard("creature card in your graveyard")); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(ExileSpellEffect.getInstance()); } diff --git a/Mage.Sets/src/mage/sets/theros/SealockMonster.java b/Mage.Sets/src/mage/sets/theros/SealockMonster.java index 91a99acb3db..c03050b2b61 100644 --- a/Mage.Sets/src/mage/sets/theros/SealockMonster.java +++ b/Mage.Sets/src/mage/sets/theros/SealockMonster.java @@ -74,7 +74,6 @@ public class SealockMonster extends CardImpl { // When Sealock Monster becomes monstrous, target land becomes an island in addition to its other types. Ability ability = new BecomesMonstrousSourceTriggeredAbility(new SealockMonsterBecomesIslandTargetEffect()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/theros/ShipwreckSinger.java b/Mage.Sets/src/mage/sets/theros/ShipwreckSinger.java index 4973b6f4229..fe3493eb6d5 100644 --- a/Mage.Sets/src/mage/sets/theros/ShipwreckSinger.java +++ b/Mage.Sets/src/mage/sets/theros/ShipwreckSinger.java @@ -76,7 +76,6 @@ public class ShipwreckSinger extends CardImpl { // {1}{U}: Target creature an opponent controls attacks this turn if able. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttacksIfAbleTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{U}")); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {1}{B}, {T}: Attacking creatures get -1/-1 until end of turn. diff --git a/Mage.Sets/src/mage/sets/theros/ShreddingWinds.java b/Mage.Sets/src/mage/sets/theros/ShreddingWinds.java index 3b0337b3c26..60062ead301 100644 --- a/Mage.Sets/src/mage/sets/theros/ShreddingWinds.java +++ b/Mage.Sets/src/mage/sets/theros/ShreddingWinds.java @@ -58,7 +58,6 @@ public class ShreddingWinds extends CardImpl { // Shredding Winds deals 7 damage to target creature with flying. this.getSpellAbility().addEffect(new DamageTargetEffect(7)); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); } diff --git a/Mage.Sets/src/mage/sets/theros/SpearOfHeliod.java b/Mage.Sets/src/mage/sets/theros/SpearOfHeliod.java index 7602d682c07..7f8724a87c1 100644 --- a/Mage.Sets/src/mage/sets/theros/SpearOfHeliod.java +++ b/Mage.Sets/src/mage/sets/theros/SpearOfHeliod.java @@ -70,7 +70,6 @@ public class SpearOfHeliod extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{W}{W}")); ability.addCost(new TapSourceCost()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/theros/TimeToFeed.java b/Mage.Sets/src/mage/sets/theros/TimeToFeed.java index 8472578fee2..de541e36445 100644 --- a/Mage.Sets/src/mage/sets/theros/TimeToFeed.java +++ b/Mage.Sets/src/mage/sets/theros/TimeToFeed.java @@ -85,7 +85,6 @@ public class TimeToFeed extends CardImpl { this.getSpellAbility().addEffect(effect); Target target = new TargetCreaturePermanent(filter1); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/sets/theros/TriadOfFates.java b/Mage.Sets/src/mage/sets/theros/TriadOfFates.java index bfdb6985461..718bc067c57 100644 --- a/Mage.Sets/src/mage/sets/theros/TriadOfFates.java +++ b/Mage.Sets/src/mage/sets/theros/TriadOfFates.java @@ -82,14 +82,12 @@ public class TriadOfFates extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.FATE.createInstance()), new ManaCostsImpl("{1}")); ability.addCost(new TapSourceCost()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); // {W}, {T}: Exile target creature that has a fate counter on it, then return it to the battlefield under its owner's control. ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetForSourceEffect("Triad of Fates"), new ManaCostsImpl("{W}")); ability.addCost(new TapSourceCost()); target = new TargetCreaturePermanent(filterCounter); - target.setRequired(true); ability.addTarget(target); ability.addEffect(new ReturnToBattlefieldUnderOwnerControlTargetEffect()); this.addAbility(ability); @@ -97,7 +95,6 @@ public class TriadOfFates extends CardImpl { ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{B}")); ability.addCost(new TapSourceCost()); target = new TargetCreaturePermanent(filterCounter); - target.setRequired(true); ability.addTarget(target); ability.addEffect(new DrawCardControllerTargetEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/theros/VanquishTheFoul.java b/Mage.Sets/src/mage/sets/theros/VanquishTheFoul.java index 37bf7d80141..c72f83aed8b 100644 --- a/Mage.Sets/src/mage/sets/theros/VanquishTheFoul.java +++ b/Mage.Sets/src/mage/sets/theros/VanquishTheFoul.java @@ -59,7 +59,6 @@ public class VanquishTheFoul extends CardImpl { // Destroy target creature with power 4 or greater. Scry 1. this.getSpellAbility().addEffect(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new ScryEffect(1)); } diff --git a/Mage.Sets/src/mage/sets/theros/VoyagingSatyr.java b/Mage.Sets/src/mage/sets/theros/VoyagingSatyr.java index ad0ee257885..7d3207ab3dc 100644 --- a/Mage.Sets/src/mage/sets/theros/VoyagingSatyr.java +++ b/Mage.Sets/src/mage/sets/theros/VoyagingSatyr.java @@ -59,7 +59,6 @@ public class VoyagingSatyr extends CardImpl { // {T}: Untap target land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new TapSourceCost()); Target target = new TargetLandPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/theros/WildCelebrants.java b/Mage.Sets/src/mage/sets/theros/WildCelebrants.java index b0a4a61a1cd..d3100ba205d 100644 --- a/Mage.Sets/src/mage/sets/theros/WildCelebrants.java +++ b/Mage.Sets/src/mage/sets/theros/WildCelebrants.java @@ -56,7 +56,6 @@ public class WildCelebrants extends CardImpl { // When Wild Celebrants enters the battlefield, you may destroy target artifact. Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); Target target = new TargetArtifactPermanent(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/timeshifted/Desert.java b/Mage.Sets/src/mage/sets/timeshifted/Desert.java index 4c553750491..68b96dc0a6f 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/Desert.java +++ b/Mage.Sets/src/mage/sets/timeshifted/Desert.java @@ -66,7 +66,6 @@ public class Desert extends CardImpl { // {tap}: Desert deals 1 damage to target attacking creature. Activate this ability only during the end of combat step. Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost(), IsEndOfCombatStep.getInstance(), null); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java index d1cf17e2c91..e0deeff7b02 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java +++ b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java @@ -113,7 +113,6 @@ class GrinningTotemSearchAndExileEffect extends OneShotEffect { if (you != null && targetOpponent != null) { if (targetOpponent.getLibrary().size() > 0) { TargetCardInLibrary targetCard = new TargetCardInLibrary(); - targetCard.setRequired(true); if (you.searchLibrary(targetCard, game, targetOpponent.getId())) { Card card = targetOpponent.getLibrary().remove(targetCard.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/timespiral/HarmonicSliver.java b/Mage.Sets/src/mage/sets/timespiral/HarmonicSliver.java index 258931585b8..2898a465dd4 100644 --- a/Mage.Sets/src/mage/sets/timespiral/HarmonicSliver.java +++ b/Mage.Sets/src/mage/sets/timespiral/HarmonicSliver.java @@ -75,7 +75,6 @@ public class HarmonicSliver extends CardImpl { // All Slivers have "When this permanent enters the battlefield, destroy target artifact or enchantment." Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); TargetPermanent target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect( ability, Duration.WhileOnBattlefield, diff --git a/Mage.Sets/src/mage/sets/timespiral/RestoreBalance.java b/Mage.Sets/src/mage/sets/timespiral/RestoreBalance.java index 69e7a40a280..09c7f077a48 100644 --- a/Mage.Sets/src/mage/sets/timespiral/RestoreBalance.java +++ b/Mage.Sets/src/mage/sets/timespiral/RestoreBalance.java @@ -113,7 +113,6 @@ class RestoreBalanceEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if(player != null){ TargetControlledPermanent target = new TargetControlledPermanent(minLand, minLand, new FilterControlledLandPermanent(), true); - target.setRequired(true); if(target.choose(Outcome.Benefit, player.getId(), source.getId(), game)){ for(Permanent permanent : game.getBattlefield().getActivePermanents(new FilterControlledLandPermanent(), player.getId(), source.getId(), game)){ if(permanent != null && !target.getTargets().contains(permanent.getId())){ @@ -140,7 +139,6 @@ class RestoreBalanceEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if(player != null){ TargetControlledPermanent target = new TargetControlledPermanent(minCreature, minCreature, new FilterControlledCreaturePermanent(), true); - target.setRequired(true); if(target.choose(Outcome.Benefit, player.getId(), source.getId(), game)){ for(Permanent permanent : game.getBattlefield().getActivePermanents(new FilterControlledCreaturePermanent(), player.getId(), source.getId(), game)){ if(permanent != null && !target.getTargets().contains(permanent.getId())){ @@ -166,7 +164,6 @@ class RestoreBalanceEffect extends OneShotEffect { Player player = game.getPlayer(playerId); if(player != null){ TargetCardInHand target = new TargetCardInHand(minCard, new FilterCard()); - target.setRequired(true); if(target.choose(Outcome.Benefit, player.getId(), source.getId(), game)){ Cards cards = player.getHand().copy(); for(UUID cardUUID : cards){ diff --git a/Mage.Sets/src/mage/sets/timespiral/StuffyDoll.java b/Mage.Sets/src/mage/sets/timespiral/StuffyDoll.java index 65ab1b7341e..62137880781 100644 --- a/Mage.Sets/src/mage/sets/timespiral/StuffyDoll.java +++ b/Mage.Sets/src/mage/sets/timespiral/StuffyDoll.java @@ -104,7 +104,6 @@ class StuffyDollChoosePlayerEffect extends OneShotEffect { Permanent permanent = game.getPermanent(source.getSourceId()); if (player != null && permanent != null) { TargetPlayer target = new TargetPlayer(); - target.setRequired(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { Player chosenPlayer = game.getPlayer(target.getFirstTarget()); if (chosenPlayer != null) { diff --git a/Mage.Sets/src/mage/sets/torment/MesmericFiend.java b/Mage.Sets/src/mage/sets/torment/MesmericFiend.java index 92bd81a0704..5bec08c7444 100644 --- a/Mage.Sets/src/mage/sets/torment/MesmericFiend.java +++ b/Mage.Sets/src/mage/sets/torment/MesmericFiend.java @@ -107,7 +107,6 @@ class MesmericFiendExileEffect extends OneShotEffect { opponent.revealCards(sourcePermanent.getName(), opponent.getHand(), game); TargetCard target = new TargetCard(Zone.PICK, new FilterNonlandCard("nonland card to exile")); - target.setRequired(true); if (controller.choose(Outcome.Exile, opponent.getHand(), target, game)) { Card card = opponent.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/SigilOfSleep.java b/Mage.Sets/src/mage/sets/urzasdestiny/SigilOfSleep.java index 98f3dc1ee3e..29bf47f6acd 100644 --- a/Mage.Sets/src/mage/sets/urzasdestiny/SigilOfSleep.java +++ b/Mage.Sets/src/mage/sets/urzasdestiny/SigilOfSleep.java @@ -81,7 +81,6 @@ public class SigilOfSleep extends CardImpl { FilterCreaturePermanent filter = new FilterCreaturePermanent("creature that player controls"); filter.add(new ControllerIdPredicate(playerId)); Target target = new TargetCreaturePermanent(filter); - target.setRequired(true); ability.getTargets().clear(); ability.addTarget(target); ability.getEffects().get(0).setTargetPointer(new FirstTargetPointer()); diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/HarmonicConvergence.java b/Mage.Sets/src/mage/sets/urzaslegacy/HarmonicConvergence.java index 946c7c22817..f07fd660d49 100644 --- a/Mage.Sets/src/mage/sets/urzaslegacy/HarmonicConvergence.java +++ b/Mage.Sets/src/mage/sets/urzaslegacy/HarmonicConvergence.java @@ -106,7 +106,6 @@ class HarmonicConvergenceEffect extends OneShotEffect { } TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on top of your library")); - target.setRequired(true); for (UUID playerId : moveList.keySet()) { Player player = game.getPlayer(playerId); List list = moveList.get(playerId); diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/RavenFamiliar.java b/Mage.Sets/src/mage/sets/urzaslegacy/RavenFamiliar.java index a0f5895b9a4..1c3c9623bc2 100644 --- a/Mage.Sets/src/mage/sets/urzaslegacy/RavenFamiliar.java +++ b/Mage.Sets/src/mage/sets/urzaslegacy/RavenFamiliar.java @@ -125,7 +125,6 @@ public class RavenFamiliar extends CardImpl { } target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/urzassaga/Exhume.java b/Mage.Sets/src/mage/sets/urzassaga/Exhume.java index 7a943e59de2..26f901d14a1 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Exhume.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Exhume.java @@ -97,7 +97,6 @@ class ExhumeEffect extends OneShotEffect { FilterCreatureCard filterCreatureCard = new FilterCreatureCard("creature card from your graveyard"); filterCreatureCard.add(new OwnerIdPredicate(playerId)); TargetCardInGraveyard target = new TargetCardInGraveyard(filterCreatureCard); - target.setRequired(true); if (target.canChoose(playerId, game) && player.chooseTarget(outcome, target, source, game)) { Card card = game.getCard(target.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/urzassaga/Smokestack.java b/Mage.Sets/src/mage/sets/urzassaga/Smokestack.java index b2bd97170bc..87b8ade46eb 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Smokestack.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Smokestack.java @@ -97,7 +97,6 @@ class SmokestackEffect extends OneShotEffect { if (count > 0) { int amount = Math.min(count, game.getBattlefield().countAll(new FilterControlledPermanent(), activePlayer.getId(), game)); Target target = new TargetControlledPermanent(amount, amount, new FilterControlledPermanent(), false); - target.setRequired(true); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. if (target.canChoose(activePlayer.getId(), game)) { diff --git a/Mage.Sets/src/mage/sets/urzassaga/SternProctor.java b/Mage.Sets/src/mage/sets/urzassaga/SternProctor.java index 99866750baf..81e770583fb 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/SternProctor.java +++ b/Mage.Sets/src/mage/sets/urzassaga/SternProctor.java @@ -67,7 +67,6 @@ public class SternProctor extends CardImpl { // When Stern Proctor enters the battlefield, return target artifact or enchantment to its owner's hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); TargetPermanent target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/sets/visions/GoblinRecruiter.java b/Mage.Sets/src/mage/sets/visions/GoblinRecruiter.java index 13235082fe9..e8f73ed7b97 100644 --- a/Mage.Sets/src/mage/sets/visions/GoblinRecruiter.java +++ b/Mage.Sets/src/mage/sets/visions/GoblinRecruiter.java @@ -121,7 +121,6 @@ class GoblinRecruiterEffect extends OneShotEffect { if (numberOfGoblins > 0) { if (cards.size() > 1) { TargetCard targetCard = new TargetCard(Zone.LIBRARY, putOnTopOfLibraryFilter); - targetCard.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Benefit, cards, targetCard, game); Card card = cards.get(targetCard.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/visions/MiraculousRecovery.java b/Mage.Sets/src/mage/sets/visions/MiraculousRecovery.java index fc96fa7e1c8..5c1d325e984 100644 --- a/Mage.Sets/src/mage/sets/visions/MiraculousRecovery.java +++ b/Mage.Sets/src/mage/sets/visions/MiraculousRecovery.java @@ -57,7 +57,6 @@ public class MiraculousRecovery extends CardImpl { // Return target creature card from your graveyard to the battlefield. Put a +1/+1 counter on it. this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); Target target = new TargetCardInYourGraveyard(new FilterCreatureCard()); - target.setRequired(true); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new MiraculousRecoveryEffect()); } diff --git a/Mage.Sets/src/mage/sets/weatherlight/Doomsday.java b/Mage.Sets/src/mage/sets/weatherlight/Doomsday.java index f07da4005c1..00dd0cd6879 100644 --- a/Mage.Sets/src/mage/sets/weatherlight/Doomsday.java +++ b/Mage.Sets/src/mage/sets/weatherlight/Doomsday.java @@ -116,7 +116,6 @@ class DoomsdayEffect extends OneShotEffect { } //Put the chosen cards on top of your library in any order target = new TargetCard(Zone.PICK, new FilterCard("Card to put on top")); - target.setRequired(true); while (cards.size() > 1 && player.isInGame()) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/weatherlight/Firestorm.java b/Mage.Sets/src/mage/sets/weatherlight/Firestorm.java index 096cc2861d3..63dc4a7e38d 100644 --- a/Mage.Sets/src/mage/sets/weatherlight/Firestorm.java +++ b/Mage.Sets/src/mage/sets/weatherlight/Firestorm.java @@ -70,7 +70,6 @@ public class Firestorm extends CardImpl { int xValue = new GetXValue().calculate(game, ability); if (xValue > 0) { Target target = new TargetCreatureOrPlayer(xValue); - target.setRequired(true); ability.addTarget(target); } } diff --git a/Mage.Sets/src/mage/sets/weatherlight/Tariff.java b/Mage.Sets/src/mage/sets/weatherlight/Tariff.java index 44356478daf..3d2c6274655 100644 --- a/Mage.Sets/src/mage/sets/weatherlight/Tariff.java +++ b/Mage.Sets/src/mage/sets/weatherlight/Tariff.java @@ -160,7 +160,6 @@ class TariffEffect extends OneShotEffect { } TargetCard targetCard = new TargetCard(Zone.BATTLEFIELD, new FilterCard()); - targetCard.setRequired(true); if (player.choose(Outcome.Benefit, cards, targetCard, game)) { permanent = game.getPermanent(targetCard.getFirstTarget()); } diff --git a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java index 68e6e9fa089..a6177c57ffd 100644 --- a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java +++ b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java @@ -163,7 +163,6 @@ class JaceTheMindSculptorEffect2 extends OneShotEffect { private boolean putOnLibrary(Player player, Ability source, Game game) { TargetCardInHand target = new TargetCardInHand(); - target.setRequired(true); player.chooseTarget(Outcome.ReturnToHand, target, source, game); Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java b/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java index 28ab242ab3a..7ba58470e0b 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java +++ b/Mage.Sets/src/mage/sets/zendikar/BalaGedThief.java @@ -78,7 +78,6 @@ public class BalaGedThief extends CardImpl { // Whenever Bala Ged Thief or another Ally enters the battlefield under your control, target player reveals a number of cards from his or her hand equal to the number of Allies you control. You choose one of them. That player discards that card. Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new BalaGedThiefEffect(), filter, false); TargetPlayer target = new TargetPlayer(); - target.setRequired(true); ability.addTarget(target); this.addAbility(ability); } @@ -130,7 +129,6 @@ class BalaGedThiefEffect extends OneShotEffect { int count = Math.min(cardsInHand.size(), numberOfAllies); TargetCard target = new TargetCard(count, Zone.PICK, new FilterCard()); - target.setRequired(true); Cards revealedCards = new CardsImpl(); if (targetPlayer.choose(Outcome.DrawCard, cardsInHand, target, game)) { @@ -144,7 +142,6 @@ class BalaGedThiefEffect extends OneShotEffect { } TargetCard targetInHand = new TargetCard(Zone.PICK, new FilterCard("card to discard")); - targetInHand.setRequired(true); if (!revealedCards.isEmpty()) { targetPlayer.revealCards("Bala Ged Thief", revealedCards, game); diff --git a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java index fd9bfa46d93..5e6a2ae7bc0 100644 --- a/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java +++ b/Mage.Sets/src/mage/sets/zendikar/EldraziMonument.java @@ -104,7 +104,6 @@ class EldraziMonumentEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { TargetControlledPermanent target = new TargetControlledCreaturePermanent(); - target.setRequired(true); Player player = game.getPlayer(source.getControllerId()); if (target.canChoose(source.getControllerId(), game)) { player.choose(this.outcome, target, source.getSourceId(), game); diff --git a/Mage.Sets/src/mage/sets/zendikar/JourneyToNowhere.java b/Mage.Sets/src/mage/sets/zendikar/JourneyToNowhere.java index 35cac52f6ec..1cc6e2e20bb 100644 --- a/Mage.Sets/src/mage/sets/zendikar/JourneyToNowhere.java +++ b/Mage.Sets/src/mage/sets/zendikar/JourneyToNowhere.java @@ -57,7 +57,6 @@ public class JourneyToNowhere extends CardImpl { filter.add(new AnotherPredicate()); Ability ability1 = new EntersBattlefieldTriggeredAbility(new ExileTargetForSourceEffect("Journey to Nowhere exile"), false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability1.addTarget(target); this.addAbility(ability1); Ability ability2 = new LeavesBattlefieldTriggeredAbility(new ReturnFromExileForSourceEffect(Zone.BATTLEFIELD), false); diff --git a/Mage.Sets/src/mage/sets/zendikar/MerfolkWayfinder.java b/Mage.Sets/src/mage/sets/zendikar/MerfolkWayfinder.java index 366bc287610..93e7aae3e6c 100644 --- a/Mage.Sets/src/mage/sets/zendikar/MerfolkWayfinder.java +++ b/Mage.Sets/src/mage/sets/zendikar/MerfolkWayfinder.java @@ -117,7 +117,6 @@ class MerfolkWayfinderEffect extends OneShotEffect { player.revealCards("Merfolk Wayfinder", cardsToReveal, game); TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java index d83cea15572..188a22dcc72 100644 --- a/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java +++ b/Mage.Sets/src/mage/sets/zendikar/MoldShambler.java @@ -72,7 +72,6 @@ public class MoldShambler extends CardImpl { // When Mold Shambler enters the battlefield, if it was kicked, destroy target noncreature permanent. EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); Target target = new TargetPermanent(filter); - target.setRequired(true); ability.addTarget(target); this.addAbility(new ConditionalTriggeredAbility(ability, new LockedInCondition(KickedCondition.getInstance()), "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent.")); } diff --git a/Mage.Sets/src/mage/sets/zendikar/SummoningTrap.java b/Mage.Sets/src/mage/sets/zendikar/SummoningTrap.java index 22d4f1fba1c..e92f984f9cc 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SummoningTrap.java +++ b/Mage.Sets/src/mage/sets/zendikar/SummoningTrap.java @@ -197,7 +197,6 @@ class SummoningTrapEffect extends OneShotEffect { TargetCard target2 = new TargetCard(Zone.PICK, new FilterCard( "card to put on the bottom of your library")); - target2.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Benefit, cards, target2, game); diff --git a/Mage.Sets/src/mage/sets/zendikar/WorldQueller.java b/Mage.Sets/src/mage/sets/zendikar/WorldQueller.java index 4af2ef767cd..78dc90bafca 100644 --- a/Mage.Sets/src/mage/sets/zendikar/WorldQueller.java +++ b/Mage.Sets/src/mage/sets/zendikar/WorldQueller.java @@ -147,7 +147,6 @@ class WorldQuellerEffect extends OneShotEffect { filter.add(new CardTypePredicate(type)); TargetPermanent target = new TargetControlledPermanent(1, 1, filter, false); - target.setRequired(true); target.setNotTarget(true); // you always go first diff --git a/Mage/src/mage/abilities/costs/common/DiscardXTargetCost.java b/Mage/src/mage/abilities/costs/common/DiscardXTargetCost.java index 3b05d071d0b..44376cfb09a 100644 --- a/Mage/src/mage/abilities/costs/common/DiscardXTargetCost.java +++ b/Mage/src/mage/abilities/costs/common/DiscardXTargetCost.java @@ -78,7 +78,6 @@ public class DiscardXTargetCost extends VariableCostImpl { @Override public Cost getFixedCostsFromAnnouncedValue(int xValue) { TargetCardInHand target = new TargetCardInHand(xValue, filter); - target.setRequired(true); return new DiscardTargetCost(target); } } diff --git a/Mage/src/mage/abilities/costs/common/ExileXFromYourGraveCost.java b/Mage/src/mage/abilities/costs/common/ExileXFromYourGraveCost.java index 356dac64ec5..37a22d6a81d 100644 --- a/Mage/src/mage/abilities/costs/common/ExileXFromYourGraveCost.java +++ b/Mage/src/mage/abilities/costs/common/ExileXFromYourGraveCost.java @@ -79,7 +79,6 @@ public class ExileXFromYourGraveCost extends VariableCostImpl { @Override public Cost getFixedCostsFromAnnouncedValue(int xValue) { TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(xValue, filter); - target.setRequired(true); return new ExileFromGraveCost(target); } diff --git a/Mage/src/mage/abilities/costs/common/SacrificeXTargetCost.java b/Mage/src/mage/abilities/costs/common/SacrificeXTargetCost.java index 25ea5a6908b..130a187cfa1 100644 --- a/Mage/src/mage/abilities/costs/common/SacrificeXTargetCost.java +++ b/Mage/src/mage/abilities/costs/common/SacrificeXTargetCost.java @@ -71,7 +71,6 @@ public class SacrificeXTargetCost extends VariableCostImpl { @Override public Cost getFixedCostsFromAnnouncedValue(int xValue) { TargetControlledPermanent target = new TargetControlledPermanent(xValue, xValue, filter, true); - target.setRequired(true); return new SacrificeTargetCost(target); } diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index ce9891352d4..1cb63b2cbd9 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -553,7 +553,6 @@ public class ContinuousEffects implements Serializable { } filter.add(Predicates.or(idPredicates)); TargetCardInHand target = new TargetCardInHand(filter); - target.setRequired(true); controller.chooseTarget(Outcome.Benefit, target, abilityToModify, game); UUID cardId = target.getFirstTarget(); if (cardId != null) { diff --git a/Mage/src/mage/abilities/effects/common/CopyPermanentEffect.java b/Mage/src/mage/abilities/effects/common/CopyPermanentEffect.java index 59bbdd2ec67..29658b95552 100644 --- a/Mage/src/mage/abilities/effects/common/CopyPermanentEffect.java +++ b/Mage/src/mage/abilities/effects/common/CopyPermanentEffect.java @@ -80,7 +80,6 @@ public class CopyPermanentEffect extends OneShotEffect { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); if (player != null && sourcePermanent != null) { Target target = new TargetPermanent(filter); - target.setRequired(true); if (target.canChoose(source.getControllerId(), game)) { player.choose(Outcome.Copy, target, source.getSourceId(), game); Permanent copyFromPermanent = game.getPermanent(target.getFirstTarget()); diff --git a/Mage/src/mage/abilities/effects/common/ExileCardFromOwnGraveyardControllerEffect.java b/Mage/src/mage/abilities/effects/common/ExileCardFromOwnGraveyardControllerEffect.java index 5e0ad7f7463..8686e6af462 100644 --- a/Mage/src/mage/abilities/effects/common/ExileCardFromOwnGraveyardControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/ExileCardFromOwnGraveyardControllerEffect.java @@ -67,7 +67,6 @@ public class ExileCardFromOwnGraveyardControllerEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if(player != null){ TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(Math.min(amount, player.getGraveyard().size()), new FilterCard()); - target.setRequired(true); if (player.chooseTarget(outcome, target, source, game)) { for (UUID targetId: target.getTargets()) { Card card = player.getGraveyard().get(targetId, game); diff --git a/Mage/src/mage/abilities/effects/common/ExileCardYouChooseTargetOpponentEffect.java b/Mage/src/mage/abilities/effects/common/ExileCardYouChooseTargetOpponentEffect.java index 349a161be98..5fb0a68c32f 100644 --- a/Mage/src/mage/abilities/effects/common/ExileCardYouChooseTargetOpponentEffect.java +++ b/Mage/src/mage/abilities/effects/common/ExileCardYouChooseTargetOpponentEffect.java @@ -69,7 +69,6 @@ public class ExileCardYouChooseTargetOpponentEffect extends OneShotEffect { Player you = game.getPlayer(source.getControllerId()); if (you != null) { TargetCard target = new TargetCard(Zone.PICK, filter); - target.setRequired(true); if (you.choose(Outcome.Benefit, player.getHand(), target, game)) { Card card = player.getHand().get(target.getFirstTarget(), game); if (card != null) { diff --git a/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java b/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java index 049665d481d..ab3f892ceb5 100644 --- a/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java @@ -164,7 +164,6 @@ public class LookLibraryControllerEffect extends OneShotEffect { switch(targetZoneLookedCards) { case LIBRARY: TargetCard target = new TargetCard(Zone.PICK, new FilterCard(this.getPutBackText())); - target.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Neutral, cards, target, game); Card card = cards.get(target.getFirstTarget(), game); diff --git a/Mage/src/mage/abilities/effects/common/PopulateEffect.java b/Mage/src/mage/abilities/effects/common/PopulateEffect.java index 5c126fbe046..98f0b671112 100644 --- a/Mage/src/mage/abilities/effects/common/PopulateEffect.java +++ b/Mage/src/mage/abilities/effects/common/PopulateEffect.java @@ -88,7 +88,6 @@ public class PopulateEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { Target target = new TargetPermanent(filter); - target.setRequired(true); if (target.canChoose(source.getControllerId(), game)) { player.choose(Outcome.Copy, target, source.getSourceId(), game); Permanent tokenToCopy = game.getPermanent(target.getFirstTarget()); diff --git a/Mage/src/mage/abilities/effects/common/ReturnToHandChosenControlledPermanentEffect.java b/Mage/src/mage/abilities/effects/common/ReturnToHandChosenControlledPermanentEffect.java index 1c3ab1b4675..8796a4c8961 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnToHandChosenControlledPermanentEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnToHandChosenControlledPermanentEffect.java @@ -75,7 +75,6 @@ public class ReturnToHandChosenControlledPermanentEffect extends OneShotEffect { Player player = game.getPlayer(source.getControllerId()); if (player != null) { TargetControlledPermanent target = new TargetControlledPermanent(number, number, filter, true); - target.setRequired(true); if (player.choose(this.outcome, target, source.getSourceId(), game)) { for (UUID targetCreatureId : (List)target.getTargets()) { Permanent permanent = game.getPermanent(targetCreatureId); diff --git a/Mage/src/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java b/Mage/src/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java index cbe16e7bfa8..25afd10073b 100644 --- a/Mage/src/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java +++ b/Mage/src/mage/abilities/effects/common/RevealLibraryPutIntoHandEffect.java @@ -102,7 +102,6 @@ public class RevealLibraryPutIntoHandEffect extends OneShotEffect { Card card; if (anyOrder) { TargetCard target = new TargetCard(Zone.PICK, new FilterCard("card to put on the bottom of your library")); - target.setRequired(true); player.choose(Outcome.Neutral, cards, target, game); card = cards.get(target.getFirstTarget(), game); } else { diff --git a/Mage/src/mage/abilities/effects/common/SacrificeEffect.java b/Mage/src/mage/abilities/effects/common/SacrificeEffect.java index 2a735019d2d..7428d0e3d23 100644 --- a/Mage/src/mage/abilities/effects/common/SacrificeEffect.java +++ b/Mage/src/mage/abilities/effects/common/SacrificeEffect.java @@ -88,7 +88,6 @@ public class SacrificeEffect extends OneShotEffect{ amount = Math.min(amount, realCount); Target target = new TargetControlledPermanent(amount, amount, filter, true); - target.setRequired(true); //A spell or ability could have removed the only legal target this player //had, if thats the case this ability should fizzle. diff --git a/Mage/src/mage/abilities/effects/common/ScryEffect.java b/Mage/src/mage/abilities/effects/common/ScryEffect.java index 5158e69d226..56d0bab4dc2 100644 --- a/Mage/src/mage/abilities/effects/common/ScryEffect.java +++ b/Mage/src/mage/abilities/effects/common/ScryEffect.java @@ -92,7 +92,6 @@ public class ScryEffect extends OneShotEffect { // move cards to the top of the library if (cards.size() > 1) { TargetCard target2 = new TargetCard(Zone.LIBRARY, filter2); - target2.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Benefit, cards, target2, game); Card card = cards.get(target2.getFirstTarget(), game); diff --git a/Mage/src/mage/abilities/effects/common/SweepEffect.java b/Mage/src/mage/abilities/effects/common/SweepEffect.java index f799ea2df33..8ffa2797eb5 100644 --- a/Mage/src/mage/abilities/effects/common/SweepEffect.java +++ b/Mage/src/mage/abilities/effects/common/SweepEffect.java @@ -73,7 +73,6 @@ public class SweepEffect extends OneShotEffect { FilterPermanent filter = new FilterControlledLandPermanent(new StringBuilder("any number of ").append(sweepSubtype).append("s you control").toString()); filter.add(new SubtypePredicate(sweepSubtype)); Target target = new TargetPermanent(0, Integer.MAX_VALUE, filter, true); - target.setRequired(true); if (controller.chooseTarget(outcome, target, source, game)) { game.getState().setValue(CardUtil.getCardZoneString("sweep", source.getSourceId(), game), target.getTargets().size()); for (UUID uuid : target.getTargets()) { diff --git a/Mage/src/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java b/Mage/src/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java index 10464ceee95..ac10df9a9d5 100644 --- a/Mage/src/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/discard/DiscardCardYouChooseTargetEffect.java @@ -135,7 +135,6 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect { numberToReveal = Math.min(player.getHand().size(), numberToReveal); if (player.getHand().size() > numberToReveal) { TargetCardInHand chosenCards = new TargetCardInHand(numberToReveal, numberToReveal, new FilterCard("card in target player's hand")); - chosenCards.setRequired(true); chosenCards.setNotTarget(true); if (chosenCards.canChoose(player.getId(), game) && player.choose(Outcome.Discard, player.getHand(), chosenCards, game)) { if (!chosenCards.getTargets().isEmpty()) { @@ -159,7 +158,6 @@ public class DiscardCardYouChooseTargetEffect extends OneShotEffect { int numberToDiscard = Math.min(this.numberCardsToDiscard.calculate(game, source), filteredCardsCount); if (numberToDiscard > 0) { TargetCard target = new TargetCard(numberToDiscard, Zone.HAND, filter); - target.setRequired(true); if (controller.choose(Outcome.Benefit, revealedCards, target, game)) { for (Object targetId : target.getTargets()) { Card card = revealedCards.get((UUID) targetId, game); diff --git a/Mage/src/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java b/Mage/src/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java index 1d1781334a8..0c1a00ebfe7 100644 --- a/Mage/src/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java +++ b/Mage/src/mage/abilities/effects/common/discard/DiscardEachPlayerEffect.java @@ -90,7 +90,6 @@ public class DiscardEachPlayerEffect extends OneShotEffect { } } else { Target target = new TargetDiscard(numberOfCardsToDiscard, numberOfCardsToDiscard, new FilterCard(), playerId); - target.setRequired(true); player.chooseTarget(outcome, target, source, game); cards.addAll(target.getTargets()); } diff --git a/Mage/src/mage/abilities/keyword/FlashbackAbility.java b/Mage/src/mage/abilities/keyword/FlashbackAbility.java index 8823a57f50e..1284d38c71d 100644 --- a/Mage/src/mage/abilities/keyword/FlashbackAbility.java +++ b/Mage/src/mage/abilities/keyword/FlashbackAbility.java @@ -194,9 +194,6 @@ class FlashbackEffect extends OneShotEffect { } spellAbility.getManaCostsToPay().setX(amount); } - for (Target target : spellAbility.getTargets()) { - target.setRequired(true); - } game.informPlayers(new StringBuilder(controller.getName()).append(" flashbacks ").append(card.getName()).toString()); spellAbility.setCostModificationActive(false); // prevents to apply cost modification twice for flashbacked spells return controller.cast(spellAbility, game, true); diff --git a/Mage/src/mage/abilities/keyword/HideawayAbility.java b/Mage/src/mage/abilities/keyword/HideawayAbility.java index 869bbc91f63..16428c41cf4 100644 --- a/Mage/src/mage/abilities/keyword/HideawayAbility.java +++ b/Mage/src/mage/abilities/keyword/HideawayAbility.java @@ -140,7 +140,6 @@ class HideawayExileEffect extends OneShotEffect { if (cards.size() > 0) { TargetCard target2 = new TargetCard(Zone.PICK, filter2); - target2.setRequired(true); while (player.isInGame() && cards.size() > 1) { player.choose(Outcome.Benefit, cards, target2, game); Card card = cards.get(target2.getFirstTarget(), game); diff --git a/Mage/src/mage/abilities/keyword/ModularAbility.java b/Mage/src/mage/abilities/keyword/ModularAbility.java index 762c361b0d5..e66908edf4a 100644 --- a/Mage/src/mage/abilities/keyword/ModularAbility.java +++ b/Mage/src/mage/abilities/keyword/ModularAbility.java @@ -53,7 +53,6 @@ public class ModularAbility extends DiesTriggeredAbility { public ModularAbility(Card card, int amount, boolean sunburst) { super(new ModularDistributeCounterEffect(), true); Target target = new TargetArtifactPermanent(filter); - target.setRequired(true); this.addTarget(target); this.amount = amount; this.sunburst = sunburst; diff --git a/Mage/src/mage/abilities/keyword/RetraceAbility.java b/Mage/src/mage/abilities/keyword/RetraceAbility.java index 2aacb25704b..731c35710ff 100644 --- a/Mage/src/mage/abilities/keyword/RetraceAbility.java +++ b/Mage/src/mage/abilities/keyword/RetraceAbility.java @@ -95,9 +95,6 @@ class RetraceEffect extends OneShotEffect { card.getSpellAbility().clear(); int amount = source.getManaCostsToPay().getX(); card.getSpellAbility().getManaCostsToPay().setX(amount); - for (Target target : card.getSpellAbility().getTargets()) { - target.setRequired(true); - } return controller.cast(card.getSpellAbility(), game, true); } } diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 1dbc6ad15ab..d7a5ff8d94d 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -714,7 +714,6 @@ public abstract class GameImpl implements Game, Serializable { //20091005 - 103.2 TargetPlayer targetPlayer = new TargetPlayer(); - targetPlayer.setRequired(true); targetPlayer.setTargetName("starting player"); Player choosingPlayer = null; if (choosingPlayerId != null) { @@ -1521,7 +1520,6 @@ public abstract class GameImpl implements Game, Serializable { if (controller != null) { Target targetPlaneswalkerToKeep = new TargetPermanent(filterPlaneswalker); targetPlaneswalkerToKeep.setTargetName(new StringBuilder(planeswalker.getName()).append(" to keep?").toString()); - targetPlaneswalkerToKeep.setRequired(true); controller.chooseTarget(Outcome.Benefit, targetPlaneswalkerToKeep, null, this); for (Permanent dupPlaneswalker: this.getBattlefield().getActivePermanents(filterPlaneswalker, planeswalker.getControllerId(), this)) { if (!targetPlaneswalkerToKeep.getTargets().contains(dupPlaneswalker.getId())) { @@ -1550,7 +1548,6 @@ public abstract class GameImpl implements Game, Serializable { if (controller != null) { Target targetLegendaryToKeep = new TargetPermanent(filterLegendName); targetLegendaryToKeep.setTargetName(new StringBuilder(legend.getName()).append(" to keep (Legendary Rule)?").toString()); - targetLegendaryToKeep.setRequired(true); controller.chooseTarget(Outcome.Benefit, targetLegendaryToKeep, null, this); for (Permanent dupLegend: getBattlefield().getActivePermanents(filterLegendName, legend.getControllerId(), this)) { if (!targetLegendaryToKeep.getTargets().contains(dupLegend.getId())) { diff --git a/Mage/src/mage/target/TargetAmount.java b/Mage/src/mage/target/TargetAmount.java index 9b9ceea8b76..47d1bc36d95 100644 --- a/Mage/src/mage/target/TargetAmount.java +++ b/Mage/src/mage/target/TargetAmount.java @@ -54,7 +54,6 @@ public abstract class TargetAmount extends TargetImpl { this.amount = amount; //this.remainingAmount = amount; amountWasSet = false; - this.required = true; } public TargetAmount(final TargetAmount target) { diff --git a/Mage/src/mage/target/common/TargetCreatureOrPlaneswalker.java b/Mage/src/mage/target/common/TargetCreatureOrPlaneswalker.java index d15a3b23a5a..3e53fe36fb0 100644 --- a/Mage/src/mage/target/common/TargetCreatureOrPlaneswalker.java +++ b/Mage/src/mage/target/common/TargetCreatureOrPlaneswalker.java @@ -44,9 +44,6 @@ public class TargetCreatureOrPlaneswalker extends TargetPermanent { public TargetCreatureOrPlaneswalker(int minNumTargets, int maxNumTargets, FilterCreatureOrPlaneswalkerPermanent filter, boolean notTarget) { super(minNumTargets, maxNumTargets, filter, notTarget); this.targetName = filter.getMessage(); - if (minNumTargets > 0) { - this.setRequired(true); - } } public TargetCreatureOrPlaneswalker(final TargetCreatureOrPlaneswalker target) { diff --git a/Mage/src/mage/target/common/TargetDiscard.java b/Mage/src/mage/target/common/TargetDiscard.java index 5ff3aa7afd5..05d12ff9f92 100644 --- a/Mage/src/mage/target/common/TargetDiscard.java +++ b/Mage/src/mage/target/common/TargetDiscard.java @@ -62,7 +62,6 @@ public class TargetDiscard extends TargetCard { super(minNumTargets, maxNumTargets, Zone.HAND, filter); this.filter.add(new OwnerIdPredicate(playerId)); this.playerId = playerId; - this.required = true; this.targetName = "card to discard"; } diff --git a/Mage/src/mage/target/common/TargetNonBasicLandPermanent.java b/Mage/src/mage/target/common/TargetNonBasicLandPermanent.java index 23f0d7262e3..290ff336afc 100644 --- a/Mage/src/mage/target/common/TargetNonBasicLandPermanent.java +++ b/Mage/src/mage/target/common/TargetNonBasicLandPermanent.java @@ -44,7 +44,6 @@ public class TargetNonBasicLandPermanent extends TargetLandPermanent { filter.add(Predicates.not(new NamePredicate("Swamp"))); filter.add(Predicates.not(new NamePredicate("Plains"))); this.targetName = "nonbasic land"; - this.setRequired(true); } public TargetNonBasicLandPermanent(final TargetNonBasicLandPermanent target) {