From 3535d023b7e027d85c51a9db40c5f998e582dfa9 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 10 Mar 2022 16:15:08 -0500 Subject: [PATCH] removed empty mode constructor --- Mage.Sets/src/mage/cards/a/Abrade.java | 3 +-- Mage.Sets/src/mage/cards/a/AbunasChant.java | 3 +-- Mage.Sets/src/mage/cards/a/AbzanCharm.java | 6 ++---- .../src/mage/cards/a/AcademicProbation.java | 3 +-- Mage.Sets/src/mage/cards/a/ActiveVolcano.java | 3 +-- .../src/mage/cards/a/AetherShockwave.java | 3 +-- Mage.Sets/src/mage/cards/a/Afterburn.java | 3 +-- Mage.Sets/src/mage/cards/a/AinokGuide.java | 3 +-- .../src/mage/cards/a/AlabasterPotion.java | 3 +-- Mage.Sets/src/mage/cards/a/AlleyEvasion.java | 3 +-- .../src/mage/cards/a/AtalyaSamiteMaster.java | 3 +-- Mage.Sets/src/mage/cards/a/AtarkasCommand.java | 9 +++------ Mage.Sets/src/mage/cards/a/AustereCommand.java | 9 +++------ Mage.Sets/src/mage/cards/a/AvenSurveyor.java | 3 +-- Mage.Sets/src/mage/cards/a/AzoriusCharm.java | 6 ++---- .../src/mage/cards/b/BalmOfRestoration.java | 3 +-- Mage.Sets/src/mage/cards/b/BantCharm.java | 6 ++---- .../src/mage/cards/b/BarbedLightning.java | 3 +-- .../src/mage/cards/b/BetrayalOfFlesh.java | 3 +-- .../src/mage/cards/b/BlessedAlliance.java | 6 ++---- Mage.Sets/src/mage/cards/b/BlindingBeam.java | 3 +-- .../src/mage/cards/b/BlizzardSpecter.java | 3 +-- .../src/mage/cards/b/BlueElementalBlast.java | 3 +-- Mage.Sets/src/mage/cards/b/BorosCharm.java | 3 +-- Mage.Sets/src/mage/cards/b/BorrowedGrace.java | 3 +-- .../src/mage/cards/b/BorrowedHostility.java | 3 +-- .../src/mage/cards/b/BorrowedMalevolence.java | 3 +-- Mage.Sets/src/mage/cards/b/BowOfNylea.java | 9 +++------ Mage.Sets/src/mage/cards/b/BranchingBolt.java | 3 +-- .../src/mage/cards/b/BreyaEtheriumShaper.java | 6 ++---- .../src/mage/cards/b/BrutalExpulsion.java | 3 +-- .../src/mage/cards/b/BrutalizerExarch.java | 3 +-- .../src/mage/cards/b/BuccaneersBravado.java | 5 ++--- Mage.Sets/src/mage/cards/c/ChaosCharm.java | 6 ++---- Mage.Sets/src/mage/cards/c/ClanDefiance.java | 6 ++---- Mage.Sets/src/mage/cards/c/CleansingNova.java | 3 +-- Mage.Sets/src/mage/cards/c/CleansingRay.java | 3 +-- .../src/mage/cards/c/CollectiveBrutality.java | 6 ++---- .../src/mage/cards/c/CollectiveDefiance.java | 6 ++---- .../src/mage/cards/c/CollectiveEffort.java | 6 ++---- .../src/mage/cards/c/ConfrontThePast.java | 3 +-- .../src/mage/cards/c/ConsultTheNecrosages.java | 3 +-- .../src/mage/cards/c/ConsumingBonfire.java | 3 +-- .../src/mage/cards/c/ConsumingSinkhole.java | 3 +-- Mage.Sets/src/mage/cards/c/CrosissCharm.java | 6 ++---- .../src/mage/cards/c/CrueltyOfTheSith.java | 6 ++---- .../src/mage/cards/c/CrushContraband.java | 3 +-- Mage.Sets/src/mage/cards/c/CrushingCanopy.java | 3 +-- Mage.Sets/src/mage/cards/c/CrushingVines.java | 3 +-- Mage.Sets/src/mage/cards/c/CruxOfFate.java | 3 +-- Mage.Sets/src/mage/cards/c/CrypticCommand.java | 9 +++------ Mage.Sets/src/mage/cards/d/DarigaazsCharm.java | 6 ++---- Mage.Sets/src/mage/cards/d/DawnCharm.java | 6 ++---- Mage.Sets/src/mage/cards/d/DawnToDusk.java | 3 +-- .../src/mage/cards/d/DeafeningClarion.java | 3 +-- Mage.Sets/src/mage/cards/d/DeceiverExarch.java | 3 +-- Mage.Sets/src/mage/cards/d/DefiantOgre.java | 3 +-- Mage.Sets/src/mage/cards/d/DelayTactic.java | 3 +-- Mage.Sets/src/mage/cards/d/DemonicPact.java | 9 +++------ .../src/mage/cards/d/DestructiveTampering.java | 3 +-- Mage.Sets/src/mage/cards/d/DimirCharm.java | 6 ++---- .../src/mage/cards/d/DiscipleOfTheRing.java | 9 +++------ .../src/mage/cards/d/DisplayOfDominance.java | 3 +-- Mage.Sets/src/mage/cards/d/Doomfall.java | 3 +-- Mage.Sets/src/mage/cards/d/DreamsGrip.java | 4 +--- Mage.Sets/src/mage/cards/d/DromarsCharm.java | 6 ++---- .../src/mage/cards/d/DromokasCommand.java | 9 +++------ Mage.Sets/src/mage/cards/d/DustOfMoments.java | 3 +-- Mage.Sets/src/mage/cards/e/EbonyCharm.java | 6 ++---- Mage.Sets/src/mage/cards/e/EmeraldCharm.java | 6 ++---- Mage.Sets/src/mage/cards/e/EnergyBolt.java | 3 +-- Mage.Sets/src/mage/cards/e/EnergyChamber.java | 3 +-- .../src/mage/cards/e/EngineeredMight.java | 3 +-- Mage.Sets/src/mage/cards/e/EntomberExarch.java | 3 +-- Mage.Sets/src/mage/cards/e/EsperCharm.java | 6 ++---- .../src/mage/cards/e/EtherwroughtPage.java | 6 ++---- Mage.Sets/src/mage/cards/e/EvolutionCharm.java | 6 ++---- Mage.Sets/src/mage/cards/f/Fascination.java | 3 +-- Mage.Sets/src/mage/cards/f/FeastOrFamine.java | 3 +-- .../mage/cards/f/FerocityOfTheUnderworld.java | 6 ++---- Mage.Sets/src/mage/cards/f/FeverCharm.java | 6 ++---- .../src/mage/cards/f/FieryConfluence.java | 6 ++---- .../src/mage/cards/f/FieryIntervention.java | 3 +-- Mage.Sets/src/mage/cards/f/FissureVent.java | 3 +-- Mage.Sets/src/mage/cards/f/FlashFlood.java | 3 +-- Mage.Sets/src/mage/cards/f/ForceStasis.java | 3 +-- Mage.Sets/src/mage/cards/f/Fortify.java | 3 +-- Mage.Sets/src/mage/cards/f/FortuitousFind.java | 3 +-- Mage.Sets/src/mage/cards/f/FuneralCharm.java | 6 ++---- Mage.Sets/src/mage/cards/f/FuryCharm.java | 6 ++---- .../src/mage/cards/g/GoblinCratermaker.java | 3 +-- Mage.Sets/src/mage/cards/g/GolgariCharm.java | 6 ++---- Mage.Sets/src/mage/cards/g/GrabTheReins.java | 3 +-- .../src/mage/cards/g/GrenzoHavocRaiser.java | 3 +-- Mage.Sets/src/mage/cards/g/GrixisCharm.java | 6 ++---- Mage.Sets/src/mage/cards/g/GruulCharm.java | 8 ++------ Mage.Sets/src/mage/cards/h/HealingLeaves.java | 3 +-- Mage.Sets/src/mage/cards/h/HealingSalve.java | 3 +-- Mage.Sets/src/mage/cards/h/HearthCharm.java | 6 ++---- Mage.Sets/src/mage/cards/h/HoodedAssassin.java | 3 +-- Mage.Sets/src/mage/cards/h/HopeCharm.java | 6 ++---- Mage.Sets/src/mage/cards/h/HullBreach.java | 6 ++---- Mage.Sets/src/mage/cards/h/HurlyBurly.java | 3 +-- Mage.Sets/src/mage/cards/h/Hydroblast.java | 3 +-- .../src/mage/cards/i/IncendiaryCommand.java | 9 +++------ Mage.Sets/src/mage/cards/i/InciteWar.java | 3 +-- .../src/mage/cards/i/InquisitorExarch.java | 3 +-- Mage.Sets/src/mage/cards/i/InsidiousWill.java | 6 ++---- .../src/mage/cards/i/InvigoratedRampage.java | 3 +-- .../src/mage/cards/i/InvokeTheFiremind.java | 3 +-- Mage.Sets/src/mage/cards/i/IvoryCharm.java | 6 ++---- Mage.Sets/src/mage/cards/i/IzzetCharm.java | 6 ++---- Mage.Sets/src/mage/cards/j/JeskaiCharm.java | 6 ++---- .../src/mage/cards/j/JourneyOfDiscovery.java | 3 +-- Mage.Sets/src/mage/cards/j/JundCharm.java | 6 ++---- .../src/mage/cards/k/KolaghansCommand.java | 9 +++------ .../src/mage/cards/l/LibraryOfLatNam.java | 16 ++++++---------- .../src/mage/cards/m/MarathWillOfTheWild.java | 6 ++---- .../src/mage/cards/m/MarchOfTheDrowned.java | 3 +-- Mage.Sets/src/mage/cards/m/MarduCharm.java | 6 ++---- .../src/mage/cards/m/MercilessEviction.java | 18 ++++++------------ Mage.Sets/src/mage/cards/m/MidnightCharm.java | 6 ++---- Mage.Sets/src/mage/cards/m/MightOfTheWild.java | 6 ++---- Mage.Sets/src/mage/cards/m/MiseryCharm.java | 6 ++---- Mage.Sets/src/mage/cards/m/MobRule.java | 3 +-- .../src/mage/cards/m/MysticConfluence.java | 6 ++---- Mage.Sets/src/mage/cards/n/NayaCharm.java | 6 ++---- Mage.Sets/src/mage/cards/o/OddlyUneven.java | 3 +-- Mage.Sets/src/mage/cards/o/OjutaisCommand.java | 16 +++++----------- Mage.Sets/src/mage/cards/o/OneDozenEyes.java | 3 +-- Mage.Sets/src/mage/cards/o/OrzhovPontiff.java | 3 +-- Mage.Sets/src/mage/cards/p/Parch.java | 3 +-- Mage.Sets/src/mage/cards/p/PietyCharm.java | 6 ++---- Mage.Sets/src/mage/cards/p/PiracyCharm.java | 6 ++---- .../src/mage/cards/p/PlungeIntoDarkness.java | 3 +-- Mage.Sets/src/mage/cards/p/PowerConduit.java | 3 +-- Mage.Sets/src/mage/cards/p/PrimalCommand.java | 9 +++------ Mage.Sets/src/mage/cards/p/ProfaneCommand.java | 9 +++------ Mage.Sets/src/mage/cards/p/PromiseOfPower.java | 3 +-- Mage.Sets/src/mage/cards/p/PutridWarrior.java | 3 +-- Mage.Sets/src/mage/cards/p/Pyramids.java | 3 +-- Mage.Sets/src/mage/cards/p/Pyroblast.java | 3 +-- Mage.Sets/src/mage/cards/q/QuietDisrepair.java | 3 +-- Mage.Sets/src/mage/cards/r/RainOfRust.java | 3 +-- Mage.Sets/src/mage/cards/r/RainOfThorns.java | 6 ++---- Mage.Sets/src/mage/cards/r/RakdosCharm.java | 6 ++---- Mage.Sets/src/mage/cards/r/RealitySpasm.java | 3 +-- Mage.Sets/src/mage/cards/r/ReapAndSow.java | 3 +-- Mage.Sets/src/mage/cards/r/Recuperate.java | 3 +-- .../src/mage/cards/r/RedElementalBlast.java | 3 +-- Mage.Sets/src/mage/cards/r/ReignOfChaos.java | 3 +-- Mage.Sets/src/mage/cards/r/RelicBind.java | 3 +-- .../src/mage/cards/r/RememberTheFallen.java | 3 +-- .../src/mage/cards/r/RetreatToCoralhelm.java | 3 +-- .../src/mage/cards/r/RetreatToEmeria.java | 3 +-- Mage.Sets/src/mage/cards/r/RetreatToHagra.java | 3 +-- .../src/mage/cards/r/RetreatToKazandu.java | 3 +-- .../src/mage/cards/r/RetreatToValakut.java | 3 +-- Mage.Sets/src/mage/cards/r/RevivingMelody.java | 3 +-- .../src/mage/cards/r/RighteousConfluence.java | 6 ++---- Mage.Sets/src/mage/cards/r/RithsCharm.java | 6 ++---- Mage.Sets/src/mage/cards/r/RoarOfTheKha.java | 3 +-- Mage.Sets/src/mage/cards/r/RudeAwakening.java | 3 +-- .../src/mage/cards/r/RuthlessInstincts.java | 3 +-- .../src/mage/cards/s/SaheelisArtistry.java | 3 +-- .../src/mage/cards/s/SandsteppeOutcast.java | 3 +-- Mage.Sets/src/mage/cards/s/SapphireCharm.java | 6 ++---- Mage.Sets/src/mage/cards/s/SavageAlliance.java | 6 ++---- Mage.Sets/src/mage/cards/s/SavageBeating.java | 3 +-- Mage.Sets/src/mage/cards/s/SeedlingCharm.java | 6 ++---- Mage.Sets/src/mage/cards/s/SelesnyaCharm.java | 6 ++---- Mage.Sets/src/mage/cards/s/ShrivelingRot.java | 3 +-- .../src/mage/cards/s/SilumgarsCommand.java | 9 +++------ Mage.Sets/src/mage/cards/s/SimicCharm.java | 6 ++---- Mage.Sets/src/mage/cards/s/Skinshifter.java | 6 ++---- Mage.Sets/src/mage/cards/s/Slagstorm.java | 3 +-- Mage.Sets/src/mage/cards/s/SolarTide.java | 3 +-- .../src/mage/cards/s/SoulManipulation.java | 3 +-- .../src/mage/cards/s/SplittingHeadache.java | 3 +-- Mage.Sets/src/mage/cards/s/SteelSabotage.java | 3 +-- Mage.Sets/src/mage/cards/s/StirThePride.java | 3 +-- Mage.Sets/src/mage/cards/s/SubtleStrike.java | 3 +-- Mage.Sets/src/mage/cards/s/SultaiCharm.java | 6 ++---- Mage.Sets/src/mage/cards/s/Suncleanser.java | 3 +-- Mage.Sets/src/mage/cards/s/SupremeWill.java | 3 +-- Mage.Sets/src/mage/cards/t/TakeDown.java | 3 +-- .../src/mage/cards/t/TemporalCascade.java | 3 +-- Mage.Sets/src/mage/cards/t/TemurCharm.java | 6 ++---- Mage.Sets/src/mage/cards/t/ThermalFlux.java | 5 ++--- Mage.Sets/src/mage/cards/t/Thunderbolt.java | 3 +-- Mage.Sets/src/mage/cards/t/Timecrafting.java | 3 +-- Mage.Sets/src/mage/cards/t/ToothAndNail.java | 3 +-- .../src/mage/cards/t/TormentorExarch.java | 3 +-- Mage.Sets/src/mage/cards/t/TrevasCharm.java | 6 ++---- Mage.Sets/src/mage/cards/t/TriassicEgg.java | 3 +-- Mage.Sets/src/mage/cards/t/TrickeryCharm.java | 6 ++---- .../src/mage/cards/t/Triskaidekaphobia.java | 3 +-- .../src/mage/cards/u/UlashtTheHateSeed.java | 3 +-- Mage.Sets/src/mage/cards/u/UmezawasJitte.java | 6 ++---- .../src/mage/cards/u/UnityOfTheDroids.java | 6 ++---- Mage.Sets/src/mage/cards/v/VadersCommand.java | 9 +++------ Mage.Sets/src/mage/cards/v/ValorousStance.java | 3 +-- Mage.Sets/src/mage/cards/v/Vandalize.java | 3 +-- .../src/mage/cards/v/VerdantConfluence.java | 6 ++---- .../src/mage/cards/v/VeryCrypticCommandD.java | 9 +++------ Mage.Sets/src/mage/cards/v/VindictiveLich.java | 6 ++---- Mage.Sets/src/mage/cards/v/VitalityCharm.java | 6 ++---- Mage.Sets/src/mage/cards/w/WailOfTheNim.java | 3 +-- Mage.Sets/src/mage/cards/w/WarpingWail.java | 7 ++----- Mage.Sets/src/mage/cards/w/Winterflame.java | 3 +-- .../src/mage/cards/w/WisdomOfTheJedi.java | 6 ++---- .../src/mage/cards/w/WretchedConfluence.java | 6 ++---- Mage/src/main/java/mage/abilities/Mode.java | 4 ---- Mage/src/main/java/mage/abilities/Modes.java | 3 ++- 214 files changed, 326 insertions(+), 654 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/Abrade.java b/Mage.Sets/src/mage/cards/a/Abrade.java index 697bfc9d969..6bec2a4cc02 100644 --- a/Mage.Sets/src/mage/cards/a/Abrade.java +++ b/Mage.Sets/src/mage/cards/a/Abrade.java @@ -25,8 +25,7 @@ public final class Abrade extends CardImpl { getSpellAbility().addTarget(new TargetCreaturePermanent()); // Destroy target artifact. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AbunasChant.java b/Mage.Sets/src/mage/cards/a/AbunasChant.java index 60014da754f..22e990edba4 100644 --- a/Mage.Sets/src/mage/cards/a/AbunasChant.java +++ b/Mage.Sets/src/mage/cards/a/AbunasChant.java @@ -28,8 +28,7 @@ public final class AbunasChant extends CardImpl { //You gain 5 life; this.getSpellAbility().addEffect(new GainLifeEffect(5)); //or prevent the next 5 damage that would be dealt to target creature this turn. - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 5)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 5)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().getModes().addMode(mode); // Entwine {2} diff --git a/Mage.Sets/src/mage/cards/a/AbzanCharm.java b/Mage.Sets/src/mage/cards/a/AbzanCharm.java index 577ebe8ea8a..fbd888d447c 100644 --- a/Mage.Sets/src/mage/cards/a/AbzanCharm.java +++ b/Mage.Sets/src/mage/cards/a/AbzanCharm.java @@ -38,14 +38,12 @@ public final class AbzanCharm extends CardImpl { this.getSpellAbility().addEffect(new ExileTargetEffect()); // *You draw two cards and you lose 2 life - Mode mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(2)); + Mode mode = new Mode(new DrawCardSourceControllerEffect(2)); mode.addEffect(new LoseLifeSourceControllerEffect(2)); this.getSpellAbility().addMode(mode); // *Distribute two +1/+1 counters among one or two target creatures. - mode = new Mode(); - mode.addEffect(new DistributeCountersEffect(CounterType.P1P1, 2, false, "one or two target creatures")); + mode = new Mode(new DistributeCountersEffect(CounterType.P1P1, 2, false, "one or two target creatures")); mode.addTarget(new TargetCreaturePermanentAmount(2)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/a/AcademicProbation.java b/Mage.Sets/src/mage/cards/a/AcademicProbation.java index 229bc44c342..5c99e662b25 100644 --- a/Mage.Sets/src/mage/cards/a/AcademicProbation.java +++ b/Mage.Sets/src/mage/cards/a/AcademicProbation.java @@ -37,8 +37,7 @@ public final class AcademicProbation extends CardImpl { this.getSpellAbility().addEffect(new OpponentsCantCastChosenUntilNextTurnEffect().setText("opponents can't cast spells with the chosen name until your next turn")); // • Choose target nonland permanent. Until your next turn, it can't attack or block, and its activated abilities can't be activated. - Mode restrictMode = new Mode(); - restrictMode.addEffect(new AcademicProbationRestrictionEffect()); + Mode restrictMode = new Mode(new AcademicProbationRestrictionEffect()); restrictMode.addTarget(new TargetNonlandPermanent()); this.getSpellAbility().addMode(restrictMode); } diff --git a/Mage.Sets/src/mage/cards/a/ActiveVolcano.java b/Mage.Sets/src/mage/cards/a/ActiveVolcano.java index fe765fcf52a..2bfe9897f98 100644 --- a/Mage.Sets/src/mage/cards/a/ActiveVolcano.java +++ b/Mage.Sets/src/mage/cards/a/ActiveVolcano.java @@ -36,8 +36,7 @@ public final class ActiveVolcano extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filterBlue)); // or return target Island to its owner's hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetPermanent(filterIsland)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AetherShockwave.java b/Mage.Sets/src/mage/cards/a/AetherShockwave.java index 6ef5a01f7e9..d8e233994cd 100644 --- a/Mage.Sets/src/mage/cards/a/AetherShockwave.java +++ b/Mage.Sets/src/mage/cards/a/AetherShockwave.java @@ -31,8 +31,7 @@ public final class AetherShockwave extends CardImpl { // Choose one - Tap all Spirits; or tap all non-Spirit creatures. this.getSpellAbility().addEffect(new TapAllEffect(filterSpirit)); - Mode mode = new Mode(); - mode.addEffect(new TapAllEffect(filterNonSpirit)); + Mode mode = new Mode(new TapAllEffect(filterNonSpirit)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/Afterburn.java b/Mage.Sets/src/mage/cards/a/Afterburn.java index a97a2861afa..a1925110676 100644 --- a/Mage.Sets/src/mage/cards/a/Afterburn.java +++ b/Mage.Sets/src/mage/cards/a/Afterburn.java @@ -30,8 +30,7 @@ public final class Afterburn extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Remove target creature from combat. - Mode mode = new Mode(); - mode.addEffect(new RemoveFromCombatTargetEffect()); + Mode mode = new Mode(new RemoveFromCombatTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AinokGuide.java b/Mage.Sets/src/mage/cards/a/AinokGuide.java index fd5c6707ce0..3ce99a028dc 100644 --- a/Mage.Sets/src/mage/cards/a/AinokGuide.java +++ b/Mage.Sets/src/mage/cards/a/AinokGuide.java @@ -35,8 +35,7 @@ public final class AinokGuide extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); // * Search your library for a basic land card, reveal it, then shuffle your library and put that card on top of it. - Mode mode = new Mode(); - mode.addEffect(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true)); + Mode mode = new Mode(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AlabasterPotion.java b/Mage.Sets/src/mage/cards/a/AlabasterPotion.java index 4877d3acebc..1462eaca09c 100644 --- a/Mage.Sets/src/mage/cards/a/AlabasterPotion.java +++ b/Mage.Sets/src/mage/cards/a/AlabasterPotion.java @@ -25,8 +25,7 @@ public final class AlabasterPotion extends CardImpl { // Choose one - Target player gains X life; or prevent the next X damage that would be dealt to any target this turn. this.getSpellAbility().addEffect(new GainLifeTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addTarget(new TargetPlayer()); - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, ManacostVariableValue.REGULAR)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, false, true, ManacostVariableValue.REGULAR)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AlleyEvasion.java b/Mage.Sets/src/mage/cards/a/AlleyEvasion.java index d7a65af78d6..af4449fefb0 100644 --- a/Mage.Sets/src/mage/cards/a/AlleyEvasion.java +++ b/Mage.Sets/src/mage/cards/a/AlleyEvasion.java @@ -26,8 +26,7 @@ public final class AlleyEvasion extends CardImpl { this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); // Return target creature you control to its owner's hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetControlledCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java b/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java index a86d36f13c0..473912b2e47 100644 --- a/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java +++ b/Mage.Sets/src/mage/cards/a/AtalyaSamiteMaster.java @@ -54,8 +54,7 @@ public final class AtalyaSamiteMaster extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // or you gain X life - Mode mode = new Mode(); - mode.addEffect(new GainLifeEffect(ManacostVariableValue.REGULAR).setText("You gain X life. Spend only white mana on X.")); + Mode mode = new Mode(new GainLifeEffect(ManacostVariableValue.REGULAR).setText("You gain X life. Spend only white mana on X.")); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AtarkasCommand.java b/Mage.Sets/src/mage/cards/a/AtarkasCommand.java index 5b999d8b3da..066aec87c35 100644 --- a/Mage.Sets/src/mage/cards/a/AtarkasCommand.java +++ b/Mage.Sets/src/mage/cards/a/AtarkasCommand.java @@ -34,20 +34,17 @@ public final class AtarkasCommand extends CardImpl { this.getSpellAbility().addEffect(new CantGainLifeAllEffect(Duration.EndOfTurn, TargetController.OPPONENT)); // or Atarka's Command deals 3 damage to each opponent; - Mode mode = new Mode(); - mode.addEffect(new DamagePlayersEffect(3, TargetController.OPPONENT)); + Mode mode = new Mode(new DamagePlayersEffect(3, TargetController.OPPONENT)); this.getSpellAbility().addMode(mode); // or You may put a land card from your hand onto the battlefield; - mode = new Mode(); - mode.addEffect(new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A)); + mode = new Mode(new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A)); this.getSpellAbility().addMode(mode); // or Creatures you control get +1/+1 and gain reach until the end of turn. - mode = new Mode(); Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn); effect.setText("Creatures you control get +1/+1"); - mode.addEffect(effect); + mode = new Mode(effect); effect = new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gain reach until the end of turn"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/a/AustereCommand.java b/Mage.Sets/src/mage/cards/a/AustereCommand.java index 5f0a0950bf2..0890190d8a9 100644 --- a/Mage.Sets/src/mage/cards/a/AustereCommand.java +++ b/Mage.Sets/src/mage/cards/a/AustereCommand.java @@ -36,16 +36,13 @@ public final class AustereCommand extends CardImpl { // Destroy all artifacts; this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterArtifactPermanent("artifacts"))); // or destroy all enchantments; - Mode mode = new Mode(); - mode.addEffect(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments"))); + Mode mode = new Mode(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments"))); this.getSpellAbility().getModes().addMode(mode); // or destroy all creatures with converted mana cost 3 or less; - mode = new Mode(); - mode.addEffect(new DestroyAllEffect(filter3orLess)); + mode = new Mode(new DestroyAllEffect(filter3orLess)); this.getSpellAbility().getModes().addMode(mode); // or destroy all creatures with converted mana cost 4 or greater. - mode = new Mode(); - mode.addEffect(new DestroyAllEffect(filter4orMore)); + mode = new Mode(new DestroyAllEffect(filter4orMore)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/a/AvenSurveyor.java b/Mage.Sets/src/mage/cards/a/AvenSurveyor.java index 986226eb057..a0799a1ab36 100644 --- a/Mage.Sets/src/mage/cards/a/AvenSurveyor.java +++ b/Mage.Sets/src/mage/cards/a/AvenSurveyor.java @@ -37,8 +37,7 @@ public final class AvenSurveyor extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); // * Return target creature to its owner's hand - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AzoriusCharm.java b/Mage.Sets/src/mage/cards/a/AzoriusCharm.java index aa364fe42d3..1f44849bf43 100644 --- a/Mage.Sets/src/mage/cards/a/AzoriusCharm.java +++ b/Mage.Sets/src/mage/cards/a/AzoriusCharm.java @@ -28,14 +28,12 @@ public final class AzoriusCharm extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent("Creatures"))); // or draw a card; - Mode mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(1)); + Mode mode = new Mode(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().addMode(mode); // or put target attacking or blocking creature on top of its owner's library. - mode = new Mode(); + mode = new Mode(new PutOnLibraryTargetEffect(true)); mode.addTarget(new TargetAttackingOrBlockingCreature()); - mode.addEffect(new PutOnLibraryTargetEffect(true)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BalmOfRestoration.java b/Mage.Sets/src/mage/cards/b/BalmOfRestoration.java index f7af97f9800..12e9d88efad 100644 --- a/Mage.Sets/src/mage/cards/b/BalmOfRestoration.java +++ b/Mage.Sets/src/mage/cards/b/BalmOfRestoration.java @@ -32,8 +32,7 @@ public final class BalmOfRestoration extends CardImpl { ability.addCost(new SacrificeSourceCost()); // or prevent the next 2 damage that would be dealt to any target this turn. - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 2)); mode.addTarget(new TargetAnyTarget()); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/b/BantCharm.java b/Mage.Sets/src/mage/cards/b/BantCharm.java index 98ba3c09e82..bce7fcac5e0 100644 --- a/Mage.Sets/src/mage/cards/b/BantCharm.java +++ b/Mage.Sets/src/mage/cards/b/BantCharm.java @@ -34,13 +34,11 @@ public final class BantCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent()); // or put target creature on the bottom of its owner's library; - Mode mode = new Mode(); - mode.addEffect(new PutOnLibraryTargetEffect(false)); + Mode mode = new Mode(new PutOnLibraryTargetEffect(false)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or counter target instant spell. - mode = new Mode(); - mode.addEffect(new CounterTargetEffect()); + mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BarbedLightning.java b/Mage.Sets/src/mage/cards/b/BarbedLightning.java index 5f774da7f45..d8252a6fcff 100644 --- a/Mage.Sets/src/mage/cards/b/BarbedLightning.java +++ b/Mage.Sets/src/mage/cards/b/BarbedLightning.java @@ -25,8 +25,7 @@ public final class BarbedLightning extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or Barbed Lightning deals 3 damage to target player. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(3)); + Mode mode = new Mode(new DamageTargetEffect(3)); mode.addTarget(new TargetPlayerOrPlaneswalker()); this.getSpellAbility().getModes().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/b/BetrayalOfFlesh.java b/Mage.Sets/src/mage/cards/b/BetrayalOfFlesh.java index f5a8328bbda..08741a0f536 100644 --- a/Mage.Sets/src/mage/cards/b/BetrayalOfFlesh.java +++ b/Mage.Sets/src/mage/cards/b/BetrayalOfFlesh.java @@ -33,8 +33,7 @@ public final class BetrayalOfFlesh extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or return target creature card from your graveyard to the battlefield. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.getSpellAbility().getModes().addMode(mode); // Entwine-Sacrifice three lands. diff --git a/Mage.Sets/src/mage/cards/b/BlessedAlliance.java b/Mage.Sets/src/mage/cards/b/BlessedAlliance.java index 23af303722e..1edb08eed24 100644 --- a/Mage.Sets/src/mage/cards/b/BlessedAlliance.java +++ b/Mage.Sets/src/mage/cards/b/BlessedAlliance.java @@ -49,16 +49,14 @@ public final class BlessedAlliance extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterGainLife).withChooseHint("player gains 4 life")); // Untap up to two target creatures. - Mode mode = new Mode(); effect = new UntapTargetEffect(); effect.setText("Untap up to two target creatures"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(0, 2, filterCreature, false).withChooseHint("untap")); this.getSpellAbility().addMode(mode); // Target opponent sacrifices an attacking creature. - mode = new Mode(); - mode.addEffect(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target opponent")); + mode = new Mode(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target opponent")); mode.addTarget(new TargetPlayer(1, 1, false, filterSacrifice).withChooseHint("sacrifices an attacking creature")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BlindingBeam.java b/Mage.Sets/src/mage/cards/b/BlindingBeam.java index d358aa68c2f..e208efa112e 100644 --- a/Mage.Sets/src/mage/cards/b/BlindingBeam.java +++ b/Mage.Sets/src/mage/cards/b/BlindingBeam.java @@ -41,8 +41,7 @@ public final class BlindingBeam extends CardImpl { this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent(2,2)); // or creatures don't untap during target player's next untap step. - Mode mode = new Mode(); - mode.addEffect(new BlindingBeamEffect()); + Mode mode = new Mode(new BlindingBeamEffect()); mode.addTarget(new TargetPlayer()); this.getSpellAbility().getModes().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/b/BlizzardSpecter.java b/Mage.Sets/src/mage/cards/b/BlizzardSpecter.java index 71f9d0dc46d..a2df581949d 100644 --- a/Mage.Sets/src/mage/cards/b/BlizzardSpecter.java +++ b/Mage.Sets/src/mage/cards/b/BlizzardSpecter.java @@ -40,8 +40,7 @@ public final class BlizzardSpecter extends CardImpl { Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new ReturnToHandEffect(), false, true); // or that player discards a card. - Mode mode = new Mode(); - mode.addEffect(new DiscardTargetEffect(1, false)); + Mode mode = new Mode(new DiscardTargetEffect(1, false)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BlueElementalBlast.java b/Mage.Sets/src/mage/cards/b/BlueElementalBlast.java index b8b48cadacb..55d1601c202 100644 --- a/Mage.Sets/src/mage/cards/b/BlueElementalBlast.java +++ b/Mage.Sets/src/mage/cards/b/BlueElementalBlast.java @@ -37,8 +37,7 @@ public final class BlueElementalBlast extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(filterSpell)); - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filterPermanent)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/b/BorosCharm.java b/Mage.Sets/src/mage/cards/b/BorosCharm.java index bc624d16edf..4a714829ab5 100644 --- a/Mage.Sets/src/mage/cards/b/BorosCharm.java +++ b/Mage.Sets/src/mage/cards/b/BorosCharm.java @@ -32,8 +32,7 @@ public final class BorosCharm extends CardImpl { IndestructibleAbility.getInstance(), Duration.EndOfTurn ))); //or target creature gains double strike until end of turn. - Mode mode2 = new Mode(); - mode2.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); + Mode mode2 = new Mode(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn)); mode2.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode2); } diff --git a/Mage.Sets/src/mage/cards/b/BorrowedGrace.java b/Mage.Sets/src/mage/cards/b/BorrowedGrace.java index c31ecdaf35b..0aa8bc4cffb 100644 --- a/Mage.Sets/src/mage/cards/b/BorrowedGrace.java +++ b/Mage.Sets/src/mage/cards/b/BorrowedGrace.java @@ -31,8 +31,7 @@ public final class BorrowedGrace extends CardImpl { this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); // Creatures you control get +0/+2 until end of turn. - Mode mode = new Mode(); - mode.addEffect(new BoostControlledEffect(0, 2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostControlledEffect(0, 2, Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BorrowedHostility.java b/Mage.Sets/src/mage/cards/b/BorrowedHostility.java index 18948ab3096..780b8319a26 100644 --- a/Mage.Sets/src/mage/cards/b/BorrowedHostility.java +++ b/Mage.Sets/src/mage/cards/b/BorrowedHostility.java @@ -41,10 +41,9 @@ public final class BorrowedHostility extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterBoost).withChooseHint("gets +3/+0 until end of turn")); // Target creature gains first strike until end of turn. - Mode mode = new Mode(); effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn); effect.setText("Target creature gains first strike until end of turn"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(filterFirstStrike).withChooseHint("gains first strike until end of turn")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BorrowedMalevolence.java b/Mage.Sets/src/mage/cards/b/BorrowedMalevolence.java index 06af14582c2..f427b1c6db0 100644 --- a/Mage.Sets/src/mage/cards/b/BorrowedMalevolence.java +++ b/Mage.Sets/src/mage/cards/b/BorrowedMalevolence.java @@ -39,10 +39,9 @@ public final class BorrowedMalevolence extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterCreaturePlus).withChooseHint("gets +1/+1 until end of turn")); // Target creature gets -1/-1 until end of turn. - Mode mode = new Mode(); effect = new BoostTargetEffect(-1, -1, Duration.EndOfTurn); effect.setText("Target creature gets -1/-1 until end of turn"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(filterCreatureMinus).withChooseHint("gets -1/-1 until end of turn")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BowOfNylea.java b/Mage.Sets/src/mage/cards/b/BowOfNylea.java index c5ad23462ea..486ad38298d 100644 --- a/Mage.Sets/src/mage/cards/b/BowOfNylea.java +++ b/Mage.Sets/src/mage/cards/b/BowOfNylea.java @@ -48,17 +48,14 @@ public final class BowOfNylea extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); ability.addCost(new TapSourceCost()); // or Bow of Nylea deals 2 damage to target creature with flying; - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(2)); + Mode mode = new Mode(new DamageTargetEffect(2)); mode.addTarget(new TargetCreaturePermanent(filterFlying)); ability.addMode(mode); // or you gain 3 life; - mode = new Mode(); - mode.addEffect(new GainLifeEffect(3)); + mode = new Mode(new GainLifeEffect(3)); ability.addMode(mode); // or put up to four target cards from your graveyard on the bottom of your library in any order. - mode = new Mode(); - mode.addEffect(new PutOnLibraryTargetEffect(false, "put up to four target cards from your graveyard on the bottom of your library in any order")); + mode = new Mode(new PutOnLibraryTargetEffect(false, "put up to four target cards from your graveyard on the bottom of your library in any order")); mode.addTarget(new TargetCardInYourGraveyard(0, 4, StaticFilters.FILTER_CARDS_FROM_YOUR_GRAVEYARD)); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/b/BranchingBolt.java b/Mage.Sets/src/mage/cards/b/BranchingBolt.java index f1a9e0dac28..3c6497eae72 100644 --- a/Mage.Sets/src/mage/cards/b/BranchingBolt.java +++ b/Mage.Sets/src/mage/cards/b/BranchingBolt.java @@ -41,8 +41,7 @@ public final class BranchingBolt extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals 3 damage, without flying")); // or Branching Bolt deals 3 damage to target creature without flying. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(3)); + Mode mode = new Mode(new DamageTargetEffect(3)); mode.addTarget(new TargetCreaturePermanent(filterNotFlying).withChooseHint("deals 3 damage, without flying")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/b/BreyaEtheriumShaper.java b/Mage.Sets/src/mage/cards/b/BreyaEtheriumShaper.java index ea67f1cd8d5..664cdd4b20d 100644 --- a/Mage.Sets/src/mage/cards/b/BreyaEtheriumShaper.java +++ b/Mage.Sets/src/mage/cards/b/BreyaEtheriumShaper.java @@ -49,14 +49,12 @@ public final class BreyaEtheriumShaper extends CardImpl { ability.addTarget(new TargetPlayerOrPlaneswalker()); // Target creature gets -4/-4 until end of turn. - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-4, -4, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(-4, -4, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); // or You gain 5 life. - mode = new Mode(); - mode.addEffect(new GainLifeEffect(5)); + mode = new Mode(new GainLifeEffect(5)); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BrutalExpulsion.java b/Mage.Sets/src/mage/cards/b/BrutalExpulsion.java index 51421920af7..8eec6a17a4a 100644 --- a/Mage.Sets/src/mage/cards/b/BrutalExpulsion.java +++ b/Mage.Sets/src/mage/cards/b/BrutalExpulsion.java @@ -42,8 +42,7 @@ public final class BrutalExpulsion extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetSpellOrPermanent(1, 1, filter, false).withChooseHint("return to its owner's hand")); // or Brutal Expulsion deals 2 damage to target creature or planeswalker. If that permanent would be put into a graveyard this turn, exile it instead. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(2)); + Mode mode = new Mode(new DamageTargetEffect(2)); Effect effect = new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn); effect.setText("If that creature or planeswalker would die this turn, exile it instead"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java b/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java index c5e1ef23a76..83068067577 100644 --- a/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java +++ b/Mage.Sets/src/mage/cards/b/BrutalizerExarch.java @@ -47,8 +47,7 @@ public final class BrutalizerExarch extends CardImpl { TargetCardInLibrary target = new TargetCardInLibrary(new FilterCreatureCard("a creature card")); Ability ability = new EntersBattlefieldTriggeredAbility(new SearchLibraryPutOnLibraryEffect(target, true, true), false); // or put target noncreature permanent on the bottom of its owner's library. - Mode mode = new Mode(); - mode.addEffect(new BrutalizerExarchEffect2()); + Mode mode = new Mode(new BrutalizerExarchEffect2()); mode.addTarget(new TargetPermanent(filter)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BuccaneersBravado.java b/Mage.Sets/src/mage/cards/b/BuccaneersBravado.java index 160dbbe01a6..5c8ea2a66f5 100644 --- a/Mage.Sets/src/mage/cards/b/BuccaneersBravado.java +++ b/Mage.Sets/src/mage/cards/b/BuccaneersBravado.java @@ -37,10 +37,9 @@ public final class BuccaneersBravado extends CardImpl { this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target creature gets +1/+1")); this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains first strike until end of turn")); // Target Pirate gets +1/+1 and gains double strike until end of turn. - Mode mode = new Mode(); - mode.addTarget(new TargetPermanent(filter)); - mode.addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target Pirate gets +1/+1")); + Mode mode = new Mode(new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("Target Pirate gets +1/+1")); mode.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn).setText("and gains double strike until end of turn")); + mode.addTarget(new TargetPermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ChaosCharm.java b/Mage.Sets/src/mage/cards/c/ChaosCharm.java index 635794fdf76..a840b36e5b8 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosCharm.java +++ b/Mage.Sets/src/mage/cards/c/ChaosCharm.java @@ -35,13 +35,11 @@ public final class ChaosCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter)); // or Chaos Charm deals 1 damage to target creature - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(1)); + Mode mode = new Mode(new DamageTargetEffect(1)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or target creature gains haste until end of turn. - mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); + mode = new Mode(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ClanDefiance.java b/Mage.Sets/src/mage/cards/c/ClanDefiance.java index 4ae9cb1daa6..a1a622f778d 100644 --- a/Mage.Sets/src/mage/cards/c/ClanDefiance.java +++ b/Mage.Sets/src/mage/cards/c/ClanDefiance.java @@ -38,13 +38,11 @@ public final class ClanDefiance extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals X damage, with flying")); // Clan Defiance deals X damage to target creature without flying; - Mode mode1 = new Mode(); - mode1.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); + Mode mode1 = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR)); mode1.addTarget(new TargetCreaturePermanent(filterWithoutFlying).withChooseHint("deals X damage, without flying")); this.getSpellAbility().addMode(mode1); // and/or Clan Defiance deals X damage to target player. - Mode mode2 = new Mode(); - mode2.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); + Mode mode2 = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR)); mode2.addTarget(new TargetPlayerOrPlaneswalker().withChooseHint("deals X damage")); this.getSpellAbility().addMode(mode2); diff --git a/Mage.Sets/src/mage/cards/c/CleansingNova.java b/Mage.Sets/src/mage/cards/c/CleansingNova.java index ce6652ee4c1..f4ac94234f4 100644 --- a/Mage.Sets/src/mage/cards/c/CleansingNova.java +++ b/Mage.Sets/src/mage/cards/c/CleansingNova.java @@ -26,8 +26,7 @@ public final class CleansingNova extends CardImpl { this.getSpellAbility().addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); // • Destroy all artifacts and enchantments. - Mode mode = new Mode(); - mode.addEffect(new DestroyAllEffect(filter)); + Mode mode = new Mode(new DestroyAllEffect(filter)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CleansingRay.java b/Mage.Sets/src/mage/cards/c/CleansingRay.java index d1bed44724a..4a3db217e91 100644 --- a/Mage.Sets/src/mage/cards/c/CleansingRay.java +++ b/Mage.Sets/src/mage/cards/c/CleansingRay.java @@ -29,8 +29,7 @@ public final class CleansingRay extends CardImpl { getSpellAbility().addTarget(new TargetPermanent(filter)); // - Destroy target enchantment. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java index c5367301280..a5242bb7fa0 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveBrutality.java @@ -49,14 +49,12 @@ public final class CollectiveBrutality extends CardImpl { this.getSpellAbility().addTarget(new TargetOpponent().withChooseHint("reveals hand, you choose to discard")); // Target creature gets -2/-2 until end of turn. - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent().withChooseHint("gets -2/-2 until end of turn")); this.getSpellAbility().addMode(mode); // Target opponent loses 2 life and you gain 2 life. - mode = new Mode(); - mode.addEffect(new LoseLifeTargetEffect(2)); + mode = new Mode(new LoseLifeTargetEffect(2)); mode.addEffect(new GainLifeEffect(2).concatBy("and")); mode.addTarget(new TargetOpponent().withChooseHint("loses 2 life")); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/c/CollectiveDefiance.java b/Mage.Sets/src/mage/cards/c/CollectiveDefiance.java index 0cb729fa358..2fe28da5bef 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveDefiance.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveDefiance.java @@ -44,18 +44,16 @@ public final class CollectiveDefiance extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterDiscard).withChooseHint("discards all cards and draws")); // Collective Defiance deals 4 damage to target creature.; - Mode mode = new Mode(); Effect effect = new DamageTargetEffect(4); effect.setText("{this} deals 4 damage to target creature"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(filterCreature).withChooseHint("deals 4 damage to")); this.getSpellAbility().addMode(mode); // Collective Defiance deals 3 damage to target opponent or planeswalker. - mode = new Mode(); effect = new DamageTargetEffect(3); effect.setText("{this} deals 3 damage to target opponent or planeswalker"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetOpponentOrPlaneswalker().withChooseHint("deals 3 damage to")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java index c5462be3fde..9dda7f30c1a 100644 --- a/Mage.Sets/src/mage/cards/c/CollectiveEffort.java +++ b/Mage.Sets/src/mage/cards/c/CollectiveEffort.java @@ -63,18 +63,16 @@ public final class CollectiveEffort extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterDestroyCreature).withChooseHint("destroy")); // Destroy target enchantment.; - Mode mode = new Mode(); Effect effect = new DestroyTargetEffect(); effect.setText("Destroy target enchantment"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetEnchantmentPermanent(filterDestroyEnchantment).withChooseHint("destroy")); this.getSpellAbility().addMode(mode); // Put a +1/+1 counter on each creature target player controls. - mode = new Mode(); effect = new CollectiveEffortEffect(); effect.setText("Put a +1/+1 counter on each creature target player controls"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetPlayer(1, 1, false, filterPlayer).withChooseHint("put +1/+1 counter on each creature")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ConfrontThePast.java b/Mage.Sets/src/mage/cards/c/ConfrontThePast.java index 8cafe8f05d2..310ae0c0e8e 100644 --- a/Mage.Sets/src/mage/cards/c/ConfrontThePast.java +++ b/Mage.Sets/src/mage/cards/c/ConfrontThePast.java @@ -43,8 +43,7 @@ public final class ConfrontThePast extends CardImpl { this.getSpellAbility().setTargetAdjuster(ConfrontThePastAdjuster.instance); // • Remove twice X loyalty counters from target planeswalker an opponent controls. - Mode mode = new Mode(); - mode.addEffect(new ConfrontThePastLoyaltyEffect()); + Mode mode = new Mode(new ConfrontThePastLoyaltyEffect()); mode.addTarget(new TargetPlaneswalkerPermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ConsultTheNecrosages.java b/Mage.Sets/src/mage/cards/c/ConsultTheNecrosages.java index de4b36fde6b..8808843a003 100644 --- a/Mage.Sets/src/mage/cards/c/ConsultTheNecrosages.java +++ b/Mage.Sets/src/mage/cards/c/ConsultTheNecrosages.java @@ -23,9 +23,8 @@ public final class ConsultTheNecrosages extends CardImpl { // Choose one - Target player draws two cards; or target player discards two cards. this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addEffect(new DrawCardTargetEffect(2)); - Mode mode = new Mode(); + Mode mode = new Mode(new DiscardTargetEffect(2)); mode.addTarget(new TargetPlayer()); - mode.addEffect(new DiscardTargetEffect(2)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java index b2dee98163a..30ce0c08c92 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java @@ -38,8 +38,7 @@ public final class ConsumingBonfire extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(4)); //or Consuming Bonfire deals 7 damage to target Treefolk creature. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(7)); + Mode mode = new Mode(new DamageTargetEffect(7)); mode.addTarget(new TargetPermanent(filter2)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java b/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java index 4a93844061b..5b1c94faafc 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingSinkhole.java @@ -39,8 +39,7 @@ public final class ConsumingSinkhole extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); // Consuming Sinkhole deals 4 damage to target player. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(4)); + Mode mode = new Mode(new DamageTargetEffect(4)); mode.addTarget(new TargetPlayerOrPlaneswalker()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CrosissCharm.java b/Mage.Sets/src/mage/cards/c/CrosissCharm.java index ba0c61798fa..6b1f220a260 100644 --- a/Mage.Sets/src/mage/cards/c/CrosissCharm.java +++ b/Mage.Sets/src/mage/cards/c/CrosissCharm.java @@ -26,13 +26,11 @@ public final class CrosissCharm extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent()); // or destroy target nonblack creature, and it can't be regenerated; - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect(true)); + Mode mode = new Mode(new DestroyTargetEffect(true)); mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK)); this.getSpellAbility().addMode(mode); // or destroy target artifact. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); Target target = new TargetArtifactPermanent(); mode.addTarget(target); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java b/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java index 458c9acd38d..59655b30359 100644 --- a/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java +++ b/Mage.Sets/src/mage/cards/c/CrueltyOfTheSith.java @@ -28,14 +28,12 @@ public final class CrueltyOfTheSith extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); // Target player sacrifices a creture. - Mode mode = new Mode(); - mode.addEffect(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "Target player")); + Mode mode = new Mode(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "Target player")); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); // Cruelty of the Sith deals 3 damage to target player. That player discards a card. - mode = new Mode(); - mode.addEffect(new DamageTargetEffect(3)); + mode = new Mode(new DamageTargetEffect(3)); mode.addEffect(new DiscardTargetEffect(1)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/c/CrushContraband.java b/Mage.Sets/src/mage/cards/c/CrushContraband.java index 6cbb1125974..9ae9cf09ec5 100644 --- a/Mage.Sets/src/mage/cards/c/CrushContraband.java +++ b/Mage.Sets/src/mage/cards/c/CrushContraband.java @@ -26,8 +26,7 @@ public final class CrushContraband extends CardImpl { this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); - Mode mode1 = new Mode(); - mode1.addEffect(new ExileTargetEffect()); + Mode mode1 = new Mode(new ExileTargetEffect()); mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); } diff --git a/Mage.Sets/src/mage/cards/c/CrushingCanopy.java b/Mage.Sets/src/mage/cards/c/CrushingCanopy.java index 73303ad3a95..e55610d8772 100644 --- a/Mage.Sets/src/mage/cards/c/CrushingCanopy.java +++ b/Mage.Sets/src/mage/cards/c/CrushingCanopy.java @@ -33,9 +33,8 @@ public final class CrushingCanopy extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); // * Destroy target enchantment. - Mode mode = new Mode(); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent()); - mode.addEffect(new DestroyTargetEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CrushingVines.java b/Mage.Sets/src/mage/cards/c/CrushingVines.java index 97330fd2a5c..4492a1c88cb 100644 --- a/Mage.Sets/src/mage/cards/c/CrushingVines.java +++ b/Mage.Sets/src/mage/cards/c/CrushingVines.java @@ -32,9 +32,8 @@ public final class CrushingVines extends CardImpl { // Choose one - Destroy target creature with flying; or destroy target artifact. this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addEffect(new DestroyTargetEffect()); - Mode mode = new Mode(); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); - mode.addEffect(new DestroyTargetEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CruxOfFate.java b/Mage.Sets/src/mage/cards/c/CruxOfFate.java index 29766422e8b..8b6b22051cb 100644 --- a/Mage.Sets/src/mage/cards/c/CruxOfFate.java +++ b/Mage.Sets/src/mage/cards/c/CruxOfFate.java @@ -30,8 +30,7 @@ public final class CruxOfFate extends CardImpl { // * Destroy all Dragon creatures. this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent(SubType.DRAGON, "Dragon creatures"))); // * Destroy all non-Dragon creatures. - Mode mode = new Mode(); - mode.addEffect(new DestroyAllEffect(new FilterCreaturePermanent(filterNonDragon))); + Mode mode = new Mode(new DestroyAllEffect(new FilterCreaturePermanent(filterNonDragon))); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/c/CrypticCommand.java b/Mage.Sets/src/mage/cards/c/CrypticCommand.java index ba26fac0186..e158fd11e71 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticCommand.java +++ b/Mage.Sets/src/mage/cards/c/CrypticCommand.java @@ -37,21 +37,18 @@ public final class CrypticCommand extends CardImpl { this.getSpellAbility().addEffect(effect1); this.getSpellAbility().addTarget(new TargetSpell()); // or return target permanent to its owner's hand; - Mode mode = new Mode(); Effect effect2 = new ReturnToHandTargetEffect(); effect2.setText("Return target permanent to its owner's hand."); - mode.addEffect(effect2); + Mode mode = new Mode(effect2); mode.addTarget(new TargetPermanent()); this.getSpellAbility().getModes().addMode(mode); // or tap all creatures your opponents control; - mode = new Mode(); - mode.addEffect(new CrypticCommandEffect()); + mode = new Mode(new CrypticCommandEffect()); this.getSpellAbility().getModes().addMode(mode); // or draw a card. - mode = new Mode(); Effect effect3 = new DrawCardSourceControllerEffect(1); - mode.addEffect(effect3); effect3.setText("Draw a card."); + mode = new Mode(effect3); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DarigaazsCharm.java b/Mage.Sets/src/mage/cards/d/DarigaazsCharm.java index a1a444ea12c..ba92d621c06 100644 --- a/Mage.Sets/src/mage/cards/d/DarigaazsCharm.java +++ b/Mage.Sets/src/mage/cards/d/DarigaazsCharm.java @@ -31,14 +31,12 @@ public final class DarigaazsCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)); // or Darigaaz's Charm deals 3 damage to any target; - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(3)); + Mode mode = new Mode(new DamageTargetEffect(3)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); // or target creature gets +3/+3 until end of turn. - mode = new Mode(); - mode.addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn)); + mode = new Mode(new BoostTargetEffect(3, 3, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DawnCharm.java b/Mage.Sets/src/mage/cards/d/DawnCharm.java index 76e15531189..fcdc9a9f657 100644 --- a/Mage.Sets/src/mage/cards/d/DawnCharm.java +++ b/Mage.Sets/src/mage/cards/d/DawnCharm.java @@ -38,13 +38,11 @@ public final class DawnCharm extends CardImpl { // Choose one - Prevent all combat damage that would be dealt this turn this.getSpellAbility().addEffect(new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true)); // or regenerate target creature; - Mode mode = new Mode(); - mode.addEffect(new RegenerateTargetEffect()); + Mode mode = new Mode(new RegenerateTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or counter target spell that targets you. - mode = new Mode(); - mode.addEffect(new CounterTargetEffect()); + mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DawnToDusk.java b/Mage.Sets/src/mage/cards/d/DawnToDusk.java index c1c074f5d14..68861251fd8 100644 --- a/Mage.Sets/src/mage/cards/d/DawnToDusk.java +++ b/Mage.Sets/src/mage/cards/d/DawnToDusk.java @@ -34,8 +34,7 @@ public final class DawnToDusk extends CardImpl { this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return from graveyard to hand")); // and/or destroy target enchantment. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DeafeningClarion.java b/Mage.Sets/src/mage/cards/d/DeafeningClarion.java index 98cd7ceca63..1339695905e 100644 --- a/Mage.Sets/src/mage/cards/d/DeafeningClarion.java +++ b/Mage.Sets/src/mage/cards/d/DeafeningClarion.java @@ -30,8 +30,7 @@ public final class DeafeningClarion extends CardImpl { )); // • Creatures you control gain lifelink until end of turn. - Mode mode = new Mode(); - mode.addEffect(new GainAbilityControlledEffect( + Mode mode = new Mode(new GainAbilityControlledEffect( LifelinkAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES diff --git a/Mage.Sets/src/mage/cards/d/DeceiverExarch.java b/Mage.Sets/src/mage/cards/d/DeceiverExarch.java index 17746f20aa9..0b23152db08 100644 --- a/Mage.Sets/src/mage/cards/d/DeceiverExarch.java +++ b/Mage.Sets/src/mage/cards/d/DeceiverExarch.java @@ -42,8 +42,7 @@ public final class DeceiverExarch extends CardImpl { // When Deceiver Exarch enters the battlefield, choose one - Untap target permanent you control; or tap target permanent an opponent controls. Ability ability = new EntersBattlefieldTriggeredAbility(new UntapTargetEffect()); ability.addTarget(new TargetControlledPermanent()); - Mode mode = new Mode(); - mode.addEffect(new TapTargetEffect()); + Mode mode = new Mode(new TapTargetEffect()); mode.addTarget(new TargetPermanent(filter)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DefiantOgre.java b/Mage.Sets/src/mage/cards/d/DefiantOgre.java index 29ac2c52971..bf2ebfb345d 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantOgre.java +++ b/Mage.Sets/src/mage/cards/d/DefiantOgre.java @@ -32,8 +32,7 @@ public final class DefiantOgre extends CardImpl { // * Put a +1/+1 counter on Defiant Ogre. Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false); // * Destroy target artifact. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DelayTactic.java b/Mage.Sets/src/mage/cards/d/DelayTactic.java index 56cdf1b869f..6a7e6d13514 100644 --- a/Mage.Sets/src/mage/cards/d/DelayTactic.java +++ b/Mage.Sets/src/mage/cards/d/DelayTactic.java @@ -38,8 +38,7 @@ public final class DelayTactic extends CardImpl { .setText("Creatures you control gain hexproof until end of turn")); // Creatures target opponent controls don't untap during their next untap step. - Mode mode = new Mode(); - mode.addEffect(new DelayTacticEffect()); + Mode mode = new Mode(new DelayTacticEffect()); mode.addTarget(new TargetOpponent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DemonicPact.java b/Mage.Sets/src/mage/cards/d/DemonicPact.java index f13e5ab7a0f..c4028787a5c 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicPact.java +++ b/Mage.Sets/src/mage/cards/d/DemonicPact.java @@ -37,19 +37,16 @@ public final class DemonicPact extends CardImpl { ability.addEffect(effect); // - Target opponent discards two cards - Mode mode = new Mode(); + Mode mode = new Mode(new DiscardTargetEffect(2)); mode.addTarget(new TargetOpponent()); - mode.addEffect(new DiscardTargetEffect(2)); ability.addMode(mode); // - Draw two cards - mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(2)); + mode = new Mode(new DrawCardSourceControllerEffect(2)); ability.addMode(mode); // - You lose the game. - mode = new Mode(); - mode.addEffect(new LoseGameSourceControllerEffect()); + mode = new Mode(new LoseGameSourceControllerEffect()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DestructiveTampering.java b/Mage.Sets/src/mage/cards/d/DestructiveTampering.java index 03cea1bd220..7716d0b5719 100644 --- a/Mage.Sets/src/mage/cards/d/DestructiveTampering.java +++ b/Mage.Sets/src/mage/cards/d/DestructiveTampering.java @@ -36,8 +36,7 @@ public final class DestructiveTampering extends CardImpl { this.getSpellAbility().addTarget(new TargetArtifactPermanent()); // * Creatures without flying can't block this turn. - Mode mode = new Mode(); - mode.addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn)); + Mode mode = new Mode(new CantBlockAllEffect(filter, Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DimirCharm.java b/Mage.Sets/src/mage/cards/d/DimirCharm.java index 8a557c1a931..353f09eeed2 100644 --- a/Mage.Sets/src/mage/cards/d/DimirCharm.java +++ b/Mage.Sets/src/mage/cards/d/DimirCharm.java @@ -45,14 +45,12 @@ public final class DimirCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell(filterSorcery)); //or destroy target creature with power 2 or less - Mode mode1 = new Mode(); - mode1.addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(new DestroyTargetEffect()); mode1.addTarget(new TargetCreaturePermanent(filterCreature)); this.getSpellAbility().addMode(mode1); //or look at the top three cards of target player's library, then put one back and the rest into that player's graveyard - Mode mode2 = new Mode(); - mode2.addEffect(new DimirCharmEffect()); + Mode mode2 = new Mode(new DimirCharmEffect()); mode2.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode2); } diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java index 62dbb1a2c40..5fe2032a404 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java @@ -44,19 +44,16 @@ public final class DiscipleOfTheRing extends CardImpl { ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); // or Disciple of the Ring gets +1/+1 until end of turn; - Mode mode = new Mode(); - mode.addEffect(new BoostSourceEffect(1, 1, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostSourceEffect(1, 1, Duration.EndOfTurn)); ability.addMode(mode); // or Tap target creature; - mode = new Mode(); - mode.addEffect(new TapTargetEffect()); + mode = new Mode(new TapTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); // or Untap target creature. - mode = new Mode(); - mode.addEffect(new UntapTargetEffect()); + mode = new Mode(new UntapTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java index 80deb4690ec..6bb8b129ab1 100644 --- a/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java +++ b/Mage.Sets/src/mage/cards/d/DisplayOfDominance.java @@ -50,8 +50,7 @@ public final class DisplayOfDominance extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter)); // or Permanents you control can't be the targets of blue or black spells your opponents control this turn - Mode mode = new Mode(); - mode.addEffect(new DisplayOfDominanceEffect()); + Mode mode = new Mode(new DisplayOfDominanceEffect()); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/Doomfall.java b/Mage.Sets/src/mage/cards/d/Doomfall.java index d44ef4f6582..7b59a64f99f 100644 --- a/Mage.Sets/src/mage/cards/d/Doomfall.java +++ b/Mage.Sets/src/mage/cards/d/Doomfall.java @@ -36,8 +36,7 @@ public final class Doomfall extends CardImpl { this.getSpellAbility().addTarget(new TargetOpponent()); // • Target opponent reveals their hand. You choose a nonland card from it. Exile that card. - Mode mode = new Mode(); - mode.addEffect(new ExileCardYouChooseTargetOpponentEffect(StaticFilters.FILTER_CARD_A_NON_LAND) + Mode mode = new Mode(new ExileCardYouChooseTargetOpponentEffect(StaticFilters.FILTER_CARD_A_NON_LAND) .setText("Target opponent reveals their hand. You choose a nonland card from it. Exile that card")); mode.addTarget(new TargetOpponent()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/d/DreamsGrip.java b/Mage.Sets/src/mage/cards/d/DreamsGrip.java index 6eb3d1a9b41..dab457c387f 100644 --- a/Mage.Sets/src/mage/cards/d/DreamsGrip.java +++ b/Mage.Sets/src/mage/cards/d/DreamsGrip.java @@ -31,11 +31,9 @@ public final class DreamsGrip extends CardImpl { this.getSpellAbility().addTarget(target1); this.getSpellAbility().addEffect(tapEffect); //or untap target permanent. - Mode mode = new Mode(); + Mode mode = new Mode(new UntapTargetEffect()); TargetPermanent target2 = new TargetPermanent(new FilterPermanent("Permanent to untap")); mode.addTarget(target2); - Effect untapEffect = new UntapTargetEffect(); - mode.addEffect(untapEffect); this.getSpellAbility().addMode(mode); // Entwine {1} diff --git a/Mage.Sets/src/mage/cards/d/DromarsCharm.java b/Mage.Sets/src/mage/cards/d/DromarsCharm.java index 827b711df45..631042d3a3e 100644 --- a/Mage.Sets/src/mage/cards/d/DromarsCharm.java +++ b/Mage.Sets/src/mage/cards/d/DromarsCharm.java @@ -25,12 +25,10 @@ public final class DromarsCharm extends CardImpl { // Choose one - You gain 5 life; or counter target spell; or target creature gets -2/-2 until end of turn. this.getSpellAbility().addEffect(new GainLifeEffect(5)); - Mode mode = new Mode(); - mode.addEffect(new CounterTargetEffect()); + Mode mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell()); this.getSpellAbility().addMode(mode); - mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); + mode = new Mode(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/d/DromokasCommand.java b/Mage.Sets/src/mage/cards/d/DromokasCommand.java index 6d8b427d447..20790ca01db 100644 --- a/Mage.Sets/src/mage/cards/d/DromokasCommand.java +++ b/Mage.Sets/src/mage/cards/d/DromokasCommand.java @@ -42,26 +42,23 @@ public final class DromokasCommand extends CardImpl { this.getSpellAbility().getTargets().add(new TargetSpell(new FilterInstantOrSorcerySpell())); // or Target player sacrifices an enchantment; - Mode mode = new Mode(); Effect effect = new SacrificeEffect(filterEnchantment, 1, "target player"); effect.setText("Target player sacrifices an enchantment"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetPlayer()); this.getSpellAbility().getModes().addMode(mode); // Put a +1/+1 counter on target creature; - mode = new Mode(); effect = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); effect.setText("Put a +1/+1 counter on target creature"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(filterCreature)); this.getSpellAbility().getModes().addMode(mode); // or Target creature you control fights target creature you don't control. - mode = new Mode(); effect = new FightTargetsEffect(); effect.setText("Target creature you control fights target creature you don't control"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetControlledCreaturePermanent()); mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL)); this.getSpellAbility().getModes().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/d/DustOfMoments.java b/Mage.Sets/src/mage/cards/d/DustOfMoments.java index f69b07ec895..af66f7fe6a9 100644 --- a/Mage.Sets/src/mage/cards/d/DustOfMoments.java +++ b/Mage.Sets/src/mage/cards/d/DustOfMoments.java @@ -37,8 +37,7 @@ public final class DustOfMoments extends CardImpl { this.getSpellAbility().addEffect(new RemoveCountersEffect()); // Or put two time counters on each permanent with a time counter on it and each suspended card - Mode mode = new Mode(); - mode.addEffect(new AddCountersEffect()); + Mode mode = new Mode(new AddCountersEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/e/EbonyCharm.java b/Mage.Sets/src/mage/cards/e/EbonyCharm.java index 73bef406273..72087d73a51 100644 --- a/Mage.Sets/src/mage/cards/e/EbonyCharm.java +++ b/Mage.Sets/src/mage/cards/e/EbonyCharm.java @@ -31,15 +31,13 @@ public final class EbonyCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetOpponent()); // or exile up to three target cards from a single graveyard; - Mode mode = new Mode(); - mode.addEffect(new ExileTargetEffect()); + Mode mode = new Mode(new ExileTargetEffect()); mode.addTarget((new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS))); this.getSpellAbility().addMode(mode); // or target creature gains fear until end of turn. - mode = new Mode(); + mode = new Mode(new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); - mode.addEffect(new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/e/EmeraldCharm.java b/Mage.Sets/src/mage/cards/e/EmeraldCharm.java index 2ec3528c2e7..780ca514a6c 100644 --- a/Mage.Sets/src/mage/cards/e/EmeraldCharm.java +++ b/Mage.Sets/src/mage/cards/e/EmeraldCharm.java @@ -38,14 +38,12 @@ public final class EmeraldCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent()); // or destroy target non-Aura enchantment; - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent(filter)); this.getSpellAbility().addMode(mode); // or target creature loses flying until end of turn. - mode = new Mode(); - mode.addEffect(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); + mode = new Mode(new LoseAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/e/EnergyBolt.java b/Mage.Sets/src/mage/cards/e/EnergyBolt.java index 8fdd6e2db2e..cafa302b3a2 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyBolt.java +++ b/Mage.Sets/src/mage/cards/e/EnergyBolt.java @@ -24,8 +24,7 @@ public final class EnergyBolt extends CardImpl { // Choose one - Energy Bolt deals X damage to target player; or target player gains X life. this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); - Mode mode = new Mode(); - mode.addEffect(new GainLifeTargetEffect(ManacostVariableValue.REGULAR)); + Mode mode = new Mode(new GainLifeTargetEffect(ManacostVariableValue.REGULAR)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/e/EnergyChamber.java b/Mage.Sets/src/mage/cards/e/EnergyChamber.java index 9485754e4cb..0bf0acd98f5 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyChamber.java +++ b/Mage.Sets/src/mage/cards/e/EnergyChamber.java @@ -42,8 +42,7 @@ public final class EnergyChamber extends CardImpl { ability.addTarget(new TargetPermanent(filter)); // or put a charge counter on target noncreature artifact. - Mode mode = new Mode(); - mode.addEffect(new AddCountersTargetEffect(CounterType.CHARGE.createInstance(), Outcome.BoostCreature)); + Mode mode = new Mode(new AddCountersTargetEffect(CounterType.CHARGE.createInstance(), Outcome.BoostCreature)); mode.addTarget(new TargetPermanent(filter2)); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/e/EngineeredMight.java b/Mage.Sets/src/mage/cards/e/EngineeredMight.java index f6a4c8467b9..84e318678cc 100644 --- a/Mage.Sets/src/mage/cards/e/EngineeredMight.java +++ b/Mage.Sets/src/mage/cards/e/EngineeredMight.java @@ -38,10 +38,9 @@ public final class EngineeredMight extends CardImpl { Target target = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(target); // • Creatures you control get +2/+2 and gain vigilance until end of turn. - Mode mode = new Mode(); effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn); effect.setText("Creatures you control get +2/+2"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()); effect.setText("and gain vigilance until end of turn"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/e/EntomberExarch.java b/Mage.Sets/src/mage/cards/e/EntomberExarch.java index ec0717d8e72..7c87b4263da 100644 --- a/Mage.Sets/src/mage/cards/e/EntomberExarch.java +++ b/Mage.Sets/src/mage/cards/e/EntomberExarch.java @@ -35,8 +35,7 @@ public final class EntomberExarch extends CardImpl { ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); // • Target opponent reveals their hand. You choose a noncreature card from it. That player discards that card. - Mode mode = new Mode(); - mode.addEffect(new DiscardCardYouChooseTargetEffect(StaticFilters.FILTER_CARD_NON_CREATURE)); + Mode mode = new Mode(new DiscardCardYouChooseTargetEffect(StaticFilters.FILTER_CARD_NON_CREATURE)); mode.addTarget(new TargetOpponent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/EsperCharm.java b/Mage.Sets/src/mage/cards/e/EsperCharm.java index b897dfc0504..cdb8f49de24 100644 --- a/Mage.Sets/src/mage/cards/e/EsperCharm.java +++ b/Mage.Sets/src/mage/cards/e/EsperCharm.java @@ -26,12 +26,10 @@ public final class EsperCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetEnchantmentPermanent()); // or draw two cards; - Mode mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(2)); + Mode mode = new Mode(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addMode(mode); // or target player discards two cards. - mode = new Mode(); - mode.addEffect(new DiscardTargetEffect(2)); + mode = new Mode(new DiscardTargetEffect(2)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java b/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java index cec1d67119c..8de97f0c3b6 100644 --- a/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java +++ b/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java @@ -32,13 +32,11 @@ public final class EtherwroughtPage extends CardImpl { Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), TargetController.YOU, false); // or look at the top card of your library, then you may put that card into your graveyard; - Mode mode = new Mode(); - mode.addEffect(new EtherwroughtPageEffect()); + Mode mode = new Mode(new EtherwroughtPageEffect()); ability.addMode(mode); // or each opponent loses 1 life - Mode mode1 = new Mode(); - mode1.addEffect(new LoseLifeOpponentsEffect(1)); + Mode mode1 = new Mode(new LoseLifeOpponentsEffect(1)); ability.addMode(mode1); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/EvolutionCharm.java b/Mage.Sets/src/mage/cards/e/EvolutionCharm.java index b148f091c7f..cf42236dfa5 100644 --- a/Mage.Sets/src/mage/cards/e/EvolutionCharm.java +++ b/Mage.Sets/src/mage/cards/e/EvolutionCharm.java @@ -28,14 +28,12 @@ public final class EvolutionCharm extends CardImpl { this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true).setText("Search your library for a basic land card, reveal it, put it into your hand, then shuffle")); // or return target creature card from your graveyard to your hand; - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.getSpellAbility().addMode(mode); // or target creature gains flying until end of turn. - mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); + mode = new Mode(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/Fascination.java b/Mage.Sets/src/mage/cards/f/Fascination.java index 18702f8040e..086dcac4970 100644 --- a/Mage.Sets/src/mage/cards/f/Fascination.java +++ b/Mage.Sets/src/mage/cards/f/Fascination.java @@ -25,8 +25,7 @@ public final class Fascination extends CardImpl { this.getSpellAbility().addEffect(new DrawCardAllEffect(ManacostVariableValue.REGULAR)); // * Each player puts the top X cards of their library into their graveyard. - Mode mode = new Mode(); - mode.addEffect(new MillCardsEachPlayerEffect(ManacostVariableValue.REGULAR, TargetController.ANY)); + Mode mode = new Mode(new MillCardsEachPlayerEffect(ManacostVariableValue.REGULAR, TargetController.ANY)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FeastOrFamine.java b/Mage.Sets/src/mage/cards/f/FeastOrFamine.java index 6392c2b5766..05aa80ebf49 100644 --- a/Mage.Sets/src/mage/cards/f/FeastOrFamine.java +++ b/Mage.Sets/src/mage/cards/f/FeastOrFamine.java @@ -35,8 +35,7 @@ public final class FeastOrFamine extends CardImpl { this.getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken())); // or destroy target nonartifact, nonblack creature and it can't be regenerated. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect(true)); + Mode mode = new Mode(new DestroyTargetEffect(true)); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FerocityOfTheUnderworld.java b/Mage.Sets/src/mage/cards/f/FerocityOfTheUnderworld.java index 259cfad3b3a..857805637f9 100644 --- a/Mage.Sets/src/mage/cards/f/FerocityOfTheUnderworld.java +++ b/Mage.Sets/src/mage/cards/f/FerocityOfTheUnderworld.java @@ -37,14 +37,12 @@ public final class FerocityOfTheUnderworld extends CardImpl { this.getSpellAbility().addTarget(new TargetNonlandPermanent(filterMode1)); // Copy target instant or sorcery spell. You may choose new targets for the copy. - Mode mode = new Mode(); - mode.addEffect(new CopyTargetSpellEffect()); + Mode mode = new Mode(new CopyTargetSpellEffect()); mode.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY)); this.getSpellAbility().addMode(mode); // Return target card from your graveyard to your hand. - mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FeverCharm.java b/Mage.Sets/src/mage/cards/f/FeverCharm.java index 81fdd9a9d4c..7921e494ded 100644 --- a/Mage.Sets/src/mage/cards/f/FeverCharm.java +++ b/Mage.Sets/src/mage/cards/f/FeverCharm.java @@ -34,13 +34,11 @@ public final class FeverCharm extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or target creature gets +2/+0 until end of turn - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or Fever Charm deals 3 damage to target Wizard creature. - mode = new Mode(); - mode.addEffect(new DamageTargetEffect(3)); + mode = new Mode(new DamageTargetEffect(3)); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FieryConfluence.java b/Mage.Sets/src/mage/cards/f/FieryConfluence.java index 41e2bf37fa3..0c8be5af7d4 100644 --- a/Mage.Sets/src/mage/cards/f/FieryConfluence.java +++ b/Mage.Sets/src/mage/cards/f/FieryConfluence.java @@ -31,13 +31,11 @@ public final class FieryConfluence extends CardImpl { this.getSpellAbility().addEffect(new DamageAllEffect(1, new FilterCreaturePermanent())); // Fiery Confluence deals 2 damage to each opponent; - Mode mode = new Mode(); - mode.addEffect(new DamagePlayersEffect(2, TargetController.OPPONENT)); + Mode mode = new Mode(new DamagePlayersEffect(2, TargetController.OPPONENT)); this.getSpellAbility().getModes().addMode(mode); // Destroy target artifact. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FieryIntervention.java b/Mage.Sets/src/mage/cards/f/FieryIntervention.java index 23b15f7cb5d..5a6a28c3724 100644 --- a/Mage.Sets/src/mage/cards/f/FieryIntervention.java +++ b/Mage.Sets/src/mage/cards/f/FieryIntervention.java @@ -26,8 +26,7 @@ public final class FieryIntervention extends CardImpl { getSpellAbility().addTarget(new TargetCreaturePermanent()); // -Destroy target artifact. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FissureVent.java b/Mage.Sets/src/mage/cards/f/FissureVent.java index 8f8929fa537..24a2727689c 100644 --- a/Mage.Sets/src/mage/cards/f/FissureVent.java +++ b/Mage.Sets/src/mage/cards/f/FissureVent.java @@ -25,8 +25,7 @@ public final class FissureVent extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); - Mode mode1 = new Mode(); - mode1.addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(new DestroyTargetEffect()); mode1.addTarget(new TargetNonBasicLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); } diff --git a/Mage.Sets/src/mage/cards/f/FlashFlood.java b/Mage.Sets/src/mage/cards/f/FlashFlood.java index 12e86f06c5f..70c3d26e27a 100644 --- a/Mage.Sets/src/mage/cards/f/FlashFlood.java +++ b/Mage.Sets/src/mage/cards/f/FlashFlood.java @@ -35,8 +35,7 @@ public final class FlashFlood extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter1)); // or return target Mountain to its owner's hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetPermanent(filter2)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/ForceStasis.java b/Mage.Sets/src/mage/cards/f/ForceStasis.java index 97ee0925d50..f5c68cead88 100644 --- a/Mage.Sets/src/mage/cards/f/ForceStasis.java +++ b/Mage.Sets/src/mage/cards/f/ForceStasis.java @@ -40,8 +40,7 @@ public final class ForceStasis extends CardImpl { getSpellAbility().addTarget(new TargetCreaturePermanent()); // Return target instant or sorcery spell you don't control to its owner's hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetSpell(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/Fortify.java b/Mage.Sets/src/mage/cards/f/Fortify.java index 6a3d7db2e3c..ea48cf3da78 100644 --- a/Mage.Sets/src/mage/cards/f/Fortify.java +++ b/Mage.Sets/src/mage/cards/f/Fortify.java @@ -21,8 +21,7 @@ public final class Fortify extends CardImpl { // Choose one - Creatures you control get +2/+0 until end of turn; or creatures you control get +0/+2 until end of turn. this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); - Mode mode = new Mode(); - mode.addEffect(new BoostControlledEffect(0, 2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostControlledEffect(0, 2, Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FortuitousFind.java b/Mage.Sets/src/mage/cards/f/FortuitousFind.java index 57af635db03..3c36b6341aa 100644 --- a/Mage.Sets/src/mage/cards/f/FortuitousFind.java +++ b/Mage.Sets/src/mage/cards/f/FortuitousFind.java @@ -27,8 +27,7 @@ public final class FortuitousFind extends CardImpl { this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD).withChooseHint("return to hand")); // or Return target creature card from your graveyard to your hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FuneralCharm.java b/Mage.Sets/src/mage/cards/f/FuneralCharm.java index 486604b45cf..3f2877d48f4 100644 --- a/Mage.Sets/src/mage/cards/f/FuneralCharm.java +++ b/Mage.Sets/src/mage/cards/f/FuneralCharm.java @@ -27,12 +27,10 @@ public final class FuneralCharm extends CardImpl { // Choose one - Target player discards a card; or target creature gets +2/-1 until end of turn; or target creature gains swampwalk until end of turn. this.getSpellAbility().addEffect(new DiscardTargetEffect(1)); this.getSpellAbility().addTarget(new TargetPlayer()); - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(2, -1, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(2, -1, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); - mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(new SwampwalkAbility(), Duration.EndOfTurn)); + mode = new Mode(new GainAbilityTargetEffect(new SwampwalkAbility(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/f/FuryCharm.java b/Mage.Sets/src/mage/cards/f/FuryCharm.java index 3092a53eb23..e45e5c2fcba 100644 --- a/Mage.Sets/src/mage/cards/f/FuryCharm.java +++ b/Mage.Sets/src/mage/cards/f/FuryCharm.java @@ -48,19 +48,17 @@ public final class FuryCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent()); // or target creature gets +1/+1 and gains trample until end of turn; - Mode mode = new Mode(); Effect effect = new BoostTargetEffect(1,1, Duration.EndOfTurn); effect.setText("target creature gets +1/+1"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(),Duration.EndOfTurn); effect.setText("and gains trample until end of turn"); mode.addEffect(effect); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().getModes().addMode(mode); // or remove two time counters from target permanent or suspended card. - mode = new Mode(); + mode = new Mode(new FuryCharmRemoveCounterEffect()); mode.addTarget(new TargetPermanentOrSuspendedCard()); - mode.addEffect(new FuryCharmRemoveCounterEffect()); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinCratermaker.java b/Mage.Sets/src/mage/cards/g/GoblinCratermaker.java index e86ae628099..173289b048a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCratermaker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCratermaker.java @@ -49,8 +49,7 @@ public final class GoblinCratermaker extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // • Destroy target colorless nonland permanent. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filter)); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/g/GolgariCharm.java b/Mage.Sets/src/mage/cards/g/GolgariCharm.java index 7311f917a06..5fe0b4f363a 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariCharm.java +++ b/Mage.Sets/src/mage/cards/g/GolgariCharm.java @@ -26,14 +26,12 @@ public final class GolgariCharm extends CardImpl { this.getSpellAbility().addEffect(new BoostAllEffect(-1, -1, Duration.EndOfTurn)); // or destroy target enchantment; - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent()); this.getSpellAbility().addMode(mode); // or regenerate each creature you control. - mode = new Mode(); - mode.addEffect(new RegenerateAllEffect(new FilterControlledCreaturePermanent())); + mode = new Mode(new RegenerateAllEffect(new FilterControlledCreaturePermanent())); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/g/GrabTheReins.java b/Mage.Sets/src/mage/cards/g/GrabTheReins.java index 4efa20f4451..4aa300b4be9 100644 --- a/Mage.Sets/src/mage/cards/g/GrabTheReins.java +++ b/Mage.Sets/src/mage/cards/g/GrabTheReins.java @@ -45,8 +45,7 @@ public final class GrabTheReins extends CardImpl { target.setTargetName("a creature to take control of"); this.getSpellAbility().addTarget(target); // or sacrifice a creature, then Grab the Reins deals damage equal to that creature's power to any target. - Mode mode = new Mode(); - mode.addEffect(new GrabTheReinsEffect()); + Mode mode = new Mode(new GrabTheReinsEffect()); TargetAnyTarget target2 = new TargetAnyTarget(); target2.setTargetName("a creature or player to damage"); mode.addTarget(target2); diff --git a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java index ecd8a733a19..6a0782158bf 100644 --- a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java +++ b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java @@ -47,8 +47,7 @@ public final class GrenzoHavocRaiser extends CardImpl { effect.setText(goadEffectName); Ability ability = new GrenzoHavocRaiserTriggeredAbility(effect); //or Exile the top card of that player's library. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it. - Mode mode = new Mode(); - mode.addEffect(new GrenzoHavocRaiserEffect()); + Mode mode = new Mode(new GrenzoHavocRaiserEffect()); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GrixisCharm.java b/Mage.Sets/src/mage/cards/g/GrixisCharm.java index ff8d3a78558..7615bf94244 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisCharm.java +++ b/Mage.Sets/src/mage/cards/g/GrixisCharm.java @@ -27,13 +27,11 @@ public final class GrixisCharm extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent()); // or target creature gets -4/-4 until end of turn; - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-4, -4, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(-4, -4, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or creatures you control get +2/+0 until end of turn. - mode = new Mode(); - mode.addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false)); + mode = new Mode(new BoostControlledEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES, false)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/g/GruulCharm.java b/Mage.Sets/src/mage/cards/g/GruulCharm.java index e9f9b567bf9..b5b12de4a06 100644 --- a/Mage.Sets/src/mage/cards/g/GruulCharm.java +++ b/Mage.Sets/src/mage/cards/g/GruulCharm.java @@ -41,14 +41,10 @@ public final class GruulCharm extends CardImpl { this.getSpellAbility().addEffect(new CantBlockAllEffect(filter, Duration.EndOfTurn)); // or gain control of all permanents you own; - Mode mode = new Mode(); - mode.addEffect(new GainControlAllEffect(Duration.EndOfGame, filter2)); - this.getSpellAbility().addMode(mode); + this.getSpellAbility().addMode(new Mode(new GainControlAllEffect(Duration.EndOfGame, filter2))); // or Gruul Charm deals 3 damage to each creature with flying. - Mode mode2 = new Mode(); - mode2.addEffect(new DamageAllEffect(3, filter3)); - this.getSpellAbility().addMode(mode2); + this.getSpellAbility().addMode(new Mode(new DamageAllEffect(3, filter3))); } private GruulCharm(final GruulCharm card) { diff --git a/Mage.Sets/src/mage/cards/h/HealingLeaves.java b/Mage.Sets/src/mage/cards/h/HealingLeaves.java index 6cc03b6d798..d8318673cd9 100644 --- a/Mage.Sets/src/mage/cards/h/HealingLeaves.java +++ b/Mage.Sets/src/mage/cards/h/HealingLeaves.java @@ -24,8 +24,7 @@ public final class HealingLeaves extends CardImpl { // Choose one - Target player gains 3 life; or prevent the next 3 damage that would be dealt to any target this turn. this.getSpellAbility().addEffect(new GainLifeTargetEffect(3)); this.getSpellAbility().addTarget(new TargetPlayer()); - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/h/HealingSalve.java b/Mage.Sets/src/mage/cards/h/HealingSalve.java index d155ac831c4..87b84238ad1 100644 --- a/Mage.Sets/src/mage/cards/h/HealingSalve.java +++ b/Mage.Sets/src/mage/cards/h/HealingSalve.java @@ -26,8 +26,7 @@ public final class HealingSalve extends CardImpl { this.getSpellAbility().addEffect(new GainLifeTargetEffect(3)); this.getSpellAbility().addTarget(new TargetPlayer()); - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 3)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/h/HearthCharm.java b/Mage.Sets/src/mage/cards/h/HearthCharm.java index 6d034e1b9b7..427b8409585 100644 --- a/Mage.Sets/src/mage/cards/h/HearthCharm.java +++ b/Mage.Sets/src/mage/cards/h/HearthCharm.java @@ -34,12 +34,10 @@ public final class HearthCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_CREATURE)); // or attacking creatures get +1/+0 until end of turn - Mode mode = new Mode(); - mode.addEffect(new BoostAllEffect(1, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false)); + Mode mode = new Mode(new BoostAllEffect(1, 0, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false)); this.getSpellAbility().addMode(mode); // or target creature with power 2 or less is unblockable this turn. - mode = new Mode(); - mode.addEffect(new CantBeBlockedTargetEffect()); + mode = new Mode(new CantBeBlockedTargetEffect()); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/h/HoodedAssassin.java b/Mage.Sets/src/mage/cards/h/HoodedAssassin.java index 8d774d0c14f..cb6f2002fa8 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedAssassin.java +++ b/Mage.Sets/src/mage/cards/h/HoodedAssassin.java @@ -40,8 +40,7 @@ public final class HoodedAssassin extends CardImpl { // * Put a +1/+1 counter on Hooded Assassin. Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false); // * Destroy target creature that was dealt damage this turn. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetCreaturePermanent(filter)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HopeCharm.java b/Mage.Sets/src/mage/cards/h/HopeCharm.java index aeca2296f4c..dc569ed682e 100644 --- a/Mage.Sets/src/mage/cards/h/HopeCharm.java +++ b/Mage.Sets/src/mage/cards/h/HopeCharm.java @@ -36,13 +36,11 @@ public final class HopeCharm extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or target player gains 2 life - Mode mode = new Mode(); - mode.addEffect(new GainLifeTargetEffect(2)); + Mode mode = new Mode(new GainLifeTargetEffect(2)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); // or destroy target Aura. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/h/HullBreach.java b/Mage.Sets/src/mage/cards/h/HullBreach.java index 0863c17c2dc..d8f0706a6e6 100644 --- a/Mage.Sets/src/mage/cards/h/HullBreach.java +++ b/Mage.Sets/src/mage/cards/h/HullBreach.java @@ -26,16 +26,14 @@ public final class HullBreach extends CardImpl { Target target = new TargetArtifactPermanent(); this.getSpellAbility().addTarget(target); // or destroy target enchantment; - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); target = new TargetEnchantmentPermanent(); mode.addTarget(target); this.getSpellAbility().addMode(mode); // or destroy target artifact and target enchantment. - mode = new Mode(); Effect effect = new DestroyTargetEffect(false, true); effect.setText("destroy target artifact and target enchantment"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetArtifactPermanent()); mode.addTarget(new TargetEnchantmentPermanent()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/h/HurlyBurly.java b/Mage.Sets/src/mage/cards/h/HurlyBurly.java index da4243c7a7b..b78d98fd474 100644 --- a/Mage.Sets/src/mage/cards/h/HurlyBurly.java +++ b/Mage.Sets/src/mage/cards/h/HurlyBurly.java @@ -30,8 +30,7 @@ public final class HurlyBurly extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}"); this.getSpellAbility().addEffect(new DamageAllEffect(1, filterWithFlying)); - Mode mode = new Mode(); - mode.addEffect(new DamageAllEffect(1, filterWithoutFlying)); + Mode mode = new Mode(new DamageAllEffect(1, filterWithoutFlying)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/h/Hydroblast.java b/Mage.Sets/src/mage/cards/h/Hydroblast.java index 2b9fc1feff8..5c47c2e9204 100644 --- a/Mage.Sets/src/mage/cards/h/Hydroblast.java +++ b/Mage.Sets/src/mage/cards/h/Hydroblast.java @@ -29,8 +29,7 @@ public final class Hydroblast extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell()); // or destroy target permanent if it's red. - Mode mode = new Mode(); - mode.addEffect(new HydroblastDestroyEffect()); + Mode mode = new Mode(new HydroblastDestroyEffect()); mode.addTarget(new TargetPermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/i/IncendiaryCommand.java b/Mage.Sets/src/mage/cards/i/IncendiaryCommand.java index 4f9f78e2beb..da9233c3e28 100644 --- a/Mage.Sets/src/mage/cards/i/IncendiaryCommand.java +++ b/Mage.Sets/src/mage/cards/i/IncendiaryCommand.java @@ -36,17 +36,14 @@ public final class IncendiaryCommand extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(4)); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); // or Incendiary Command deals 2 damage to each creature; - Mode mode = new Mode(); - mode.addEffect(new DamageAllEffect(2, new FilterCreaturePermanent())); + Mode mode = new Mode(new DamageAllEffect(2, new FilterCreaturePermanent())); this.getSpellAbility().getModes().addMode(mode); // or destroy target nonbasic land; - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetNonBasicLandPermanent()); this.getSpellAbility().getModes().addMode(mode); // or each player discards all the cards in their hand, then draws that many cards. - mode = new Mode(); - mode.addEffect(new IncendiaryCommandDrawEffect()); + mode = new Mode(new IncendiaryCommandDrawEffect()); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/i/InciteWar.java b/Mage.Sets/src/mage/cards/i/InciteWar.java index e6790395e38..c10ec8bce35 100644 --- a/Mage.Sets/src/mage/cards/i/InciteWar.java +++ b/Mage.Sets/src/mage/cards/i/InciteWar.java @@ -44,8 +44,7 @@ public final class InciteWar extends CardImpl { this.getSpellAbility().addWatcher(new AttackedThisTurnWatcher()); // or creatures you control gain first strike until end of turn. - Mode mode = new Mode(); - mode.addEffect(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, filter)); + Mode mode = new Mode(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, filter)); this.getSpellAbility().getModes().addMode(mode); // Entwine {2} diff --git a/Mage.Sets/src/mage/cards/i/InquisitorExarch.java b/Mage.Sets/src/mage/cards/i/InquisitorExarch.java index c2ac1e11f29..b484c0aac50 100644 --- a/Mage.Sets/src/mage/cards/i/InquisitorExarch.java +++ b/Mage.Sets/src/mage/cards/i/InquisitorExarch.java @@ -29,8 +29,7 @@ public final class InquisitorExarch extends CardImpl { this.toughness = new MageInt(2); Ability ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(2)); - Mode mode = new Mode(); - mode.addEffect(new LoseLifeTargetEffect(2)); + Mode mode = new Mode(new LoseLifeTargetEffect(2)); mode.addTarget(new TargetPlayer()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/InsidiousWill.java b/Mage.Sets/src/mage/cards/i/InsidiousWill.java index fd1b6a5a0d3..b80eb11e458 100644 --- a/Mage.Sets/src/mage/cards/i/InsidiousWill.java +++ b/Mage.Sets/src/mage/cards/i/InsidiousWill.java @@ -30,14 +30,12 @@ public final class InsidiousWill extends CardImpl { getSpellAbility().addTarget(new TargetSpell()); // You may choose new targets for target spell.; - Mode mode = new Mode(); - mode.addEffect(new ChooseNewTargetsTargetEffect()); + Mode mode = new Mode(new ChooseNewTargetsTargetEffect()); mode.addTarget(new TargetSpell()); this.getSpellAbility().addMode(mode); // Copy target instant or sorcery spell. You may choose new targets for the copy. - mode = new Mode(); - mode.addEffect(new CopyTargetSpellEffect()); + mode = new Mode(new CopyTargetSpellEffect()); mode.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java b/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java index c4763a2e359..303332f0ace 100644 --- a/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java +++ b/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java @@ -33,10 +33,9 @@ public final class InvigoratedRampage extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Two target creatures each get +2/+0 and gain trample until end of turn. - Mode mode = new Mode(); effect = new BoostTargetEffect(2, 0, Duration.EndOfTurn); effect.setText("Two target creatures each get +2/+0"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gain trample until end of turn"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/i/InvokeTheFiremind.java b/Mage.Sets/src/mage/cards/i/InvokeTheFiremind.java index 923a95958c6..6cebbb512ec 100644 --- a/Mage.Sets/src/mage/cards/i/InvokeTheFiremind.java +++ b/Mage.Sets/src/mage/cards/i/InvokeTheFiremind.java @@ -22,8 +22,7 @@ public final class InvokeTheFiremind extends CardImpl { this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(ManacostVariableValue.REGULAR)); - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); + Mode mode = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/i/IvoryCharm.java b/Mage.Sets/src/mage/cards/i/IvoryCharm.java index 823b16b2d66..9abfe3b9a57 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryCharm.java +++ b/Mage.Sets/src/mage/cards/i/IvoryCharm.java @@ -25,13 +25,11 @@ public final class IvoryCharm extends CardImpl { // Choose one - All creatures get -2/-0 until end of turn this.getSpellAbility().addEffect(new BoostAllEffect(-2, 0, Duration.EndOfTurn)); // or tap target creature - Mode mode = new Mode(); - mode.addEffect(new TapTargetEffect()); + Mode mode = new Mode(new TapTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or prevent the next 1 damage that would be dealt to any target this turn. - mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1)); + mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/i/IzzetCharm.java b/Mage.Sets/src/mage/cards/i/IzzetCharm.java index 3f65a58a442..603d6f1d69c 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetCharm.java +++ b/Mage.Sets/src/mage/cards/i/IzzetCharm.java @@ -28,14 +28,12 @@ public final class IzzetCharm extends CardImpl { this.getSpellAbility().getTargets().add(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); // or Izzet Charm deals 2 damage to target creature; - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(2)); + Mode mode = new Mode(new DamageTargetEffect(2)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or draw two cards, then discard two cards. - mode = new Mode(); - mode.addEffect(new DrawDiscardControllerEffect(2, 2)); + mode = new Mode(new DrawDiscardControllerEffect(2, 2)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/j/JeskaiCharm.java b/Mage.Sets/src/mage/cards/j/JeskaiCharm.java index ad04741fffe..ed4c88c3320 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiCharm.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiCharm.java @@ -31,15 +31,13 @@ public final class JeskaiCharm extends CardImpl { this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // - Jeskai Charm deals 4 damage to target opponent. - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(4)); + Mode mode = new Mode(new DamageTargetEffect(4)); mode.addTarget(new TargetOpponentOrPlaneswalker()); this.getSpellAbility().addMode(mode); // - Creatures you control get +1/+1 and gain lifelink until end of turn. - mode = new Mode(); Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn); effect.setText("Creatures you control get +1/+1"); - mode.addEffect(effect); + mode = new Mode(effect); effect = new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()); effect.setText("and gain lifelink until end of turn"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/j/JourneyOfDiscovery.java b/Mage.Sets/src/mage/cards/j/JourneyOfDiscovery.java index cb24153a7e1..cb742f5ce29 100644 --- a/Mage.Sets/src/mage/cards/j/JourneyOfDiscovery.java +++ b/Mage.Sets/src/mage/cards/j/JourneyOfDiscovery.java @@ -27,8 +27,7 @@ public final class JourneyOfDiscovery extends CardImpl { this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true)); // or you may play up to two additional lands this turn. - Mode mode = new Mode(); - mode.addEffect(new PlayAdditionalLandsControllerEffect(2, Duration.EndOfTurn)); + Mode mode = new Mode(new PlayAdditionalLandsControllerEffect(2, Duration.EndOfTurn)); this.getSpellAbility().getModes().addMode(mode); // Entwine {2}{G} diff --git a/Mage.Sets/src/mage/cards/j/JundCharm.java b/Mage.Sets/src/mage/cards/j/JundCharm.java index 00603e86dab..266a2181847 100644 --- a/Mage.Sets/src/mage/cards/j/JundCharm.java +++ b/Mage.Sets/src/mage/cards/j/JundCharm.java @@ -29,12 +29,10 @@ public final class JundCharm extends CardImpl { this.getSpellAbility().addEffect(new ExileGraveyardAllTargetPlayerEffect()); this.getSpellAbility().addTarget(new TargetPlayer()); // or Jund Charm deals 2 damage to each creature; - Mode mode = new Mode(); - mode.addEffect(new DamageAllEffect(2, new FilterCreaturePermanent())); + Mode mode = new Mode(new DamageAllEffect(2, new FilterCreaturePermanent())); this.getSpellAbility().addMode(mode); // or put two +1/+1 counters on target creature. - mode = new Mode(); - mode.addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2), Outcome.BoostCreature)); + mode = new Mode(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2), Outcome.BoostCreature)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/k/KolaghansCommand.java b/Mage.Sets/src/mage/cards/k/KolaghansCommand.java index 2ab9ab5a6f9..b242b9db486 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghansCommand.java +++ b/Mage.Sets/src/mage/cards/k/KolaghansCommand.java @@ -41,20 +41,17 @@ public final class KolaghansCommand extends CardImpl { this.getSpellAbility().getTargets().add(new TargetCardInYourGraveyard(1, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); // or Target player discards a card; - Mode mode = new Mode(); - mode.addEffect(new DiscardTargetEffect(1)); + Mode mode = new Mode(new DiscardTargetEffect(1)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().getModes().addMode(mode); // or Destroy target artifact; - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filter)); this.getSpellAbility().getModes().addMode(mode); // or Kolaghan's Command deals 2 damage to any target. - mode = new Mode(); - mode.addEffect(new DamageTargetEffect(2)); + mode = new Mode(new DamageTargetEffect(2)); mode.addTarget(new TargetAnyTarget()); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java b/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java index 45a8450f7e1..0e27d16413b 100644 --- a/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java +++ b/Mage.Sets/src/mage/cards/l/LibraryOfLatNam.java @@ -1,10 +1,7 @@ - package mage.cards.l; -import java.util.UUID; import mage.abilities.Mode; import mage.abilities.common.delayed.AtTheBeginOfNextUpkeepDelayedTriggeredAbility; -import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; @@ -14,25 +11,24 @@ import mage.constants.CardType; import mage.constants.TargetController; import mage.target.common.TargetCardInLibrary; +import java.util.UUID; + /** - * * @author Quercitron */ public final class LibraryOfLatNam extends CardImpl { public LibraryOfLatNam(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{U}"); // An opponent chooses one this.getSpellAbility().getModes().setModeChooser(TargetController.OPPONENT); + // You draw three cards at the beginning of the next turn's upkeep; this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(3)), false)); + // or you search your library for a card, put that card into your hand, then shuffle your library. - Mode mode = new Mode(); - Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true); - //effect.setText("you search your library for a card, put that card into your hand, then shuffle your library"); - mode.addEffect(effect); - this.getSpellAbility().addMode(mode); + this.getSpellAbility().addMode(new Mode(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true))); } private LibraryOfLatNam(final LibraryOfLatNam card) { diff --git a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java index 0761fc9cdf3..ecee5ad42fb 100644 --- a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java +++ b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java @@ -62,14 +62,12 @@ public final class MarathWillOfTheWild extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // or Marath deals X damage to any target; - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR)); + Mode mode = new Mode(new DamageTargetEffect(ManacostVariableValue.REGULAR)); mode.addTarget(new TargetAnyTarget()); ability.addMode(mode); // or create an X/X green Elemental creature token. - mode = new Mode(); - mode.addEffect(new MarathWillOfTheWildCreateTokenEffect()); + mode = new Mode(new MarathWillOfTheWildCreateTokenEffect()); ability.addMode(mode); // X can't be 0. diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java b/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java index e9627395db0..28696df48c1 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheDrowned.java @@ -32,8 +32,7 @@ public final class MarchOfTheDrowned extends CardImpl { this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); // &bull; Return two target Pirate cards from your graveyard to your hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(2, filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/m/MarduCharm.java b/Mage.Sets/src/mage/cards/m/MarduCharm.java index 759c4753685..0c34d72d7bd 100644 --- a/Mage.Sets/src/mage/cards/m/MarduCharm.java +++ b/Mage.Sets/src/mage/cards/m/MarduCharm.java @@ -49,13 +49,11 @@ public final class MarduCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // * Create two 1/1 white Warrior creature tokens. They gain first strike until end of turn. - Mode mode = new Mode(); - mode.addEffect(new MarduCharmCreateTokenEffect()); + Mode mode = new Mode(new MarduCharmCreateTokenEffect()); this.getSpellAbility().addMode(mode); // * Target opponent reveals their hand. You choose a noncreature, nonland card from it. That player discards that card. - mode = new Mode(); - mode.addEffect(new DiscardCardYouChooseTargetEffect(filter)); + mode = new Mode(new DiscardCardYouChooseTargetEffect(filter)); mode.addTarget(new TargetOpponent()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/m/MercilessEviction.java b/Mage.Sets/src/mage/cards/m/MercilessEviction.java index 0cb8a74dbff..50b27a1f235 100644 --- a/Mage.Sets/src/mage/cards/m/MercilessEviction.java +++ b/Mage.Sets/src/mage/cards/m/MercilessEviction.java @@ -1,19 +1,18 @@ - package mage.cards.m; -import java.util.UUID; import mage.abilities.Mode; import mage.abilities.effects.common.ExileAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; +import mage.filter.StaticFilters; import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.common.FilterPlaneswalkerPermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class MercilessEviction extends CardImpl { @@ -24,17 +23,12 @@ public final class MercilessEviction extends CardImpl { // Choose one - Exile all artifacts this.getSpellAbility().addEffect(new ExileAllEffect(new FilterArtifactPermanent("artifacts"))); // or exile all creatures - Mode mode = new Mode(); - mode.addEffect(new ExileAllEffect(FILTER_PERMANENT_CREATURES)); + Mode mode = new Mode(new ExileAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES)); this.getSpellAbility().addMode(mode); // or exile all enchantments - Mode mode2 = new Mode(); - mode2.addEffect(new ExileAllEffect(new FilterEnchantmentPermanent("enchantments"))); - this.getSpellAbility().addMode(mode2); + this.getSpellAbility().addMode(new Mode(new ExileAllEffect(new FilterEnchantmentPermanent("enchantments")))); // or exile all planeswalkers. - Mode mode3 = new Mode(); - mode3.addEffect(new ExileAllEffect(new FilterPlaneswalkerPermanent("planeswalkers"))); - this.getSpellAbility().addMode(mode3); + this.getSpellAbility().addMode(new Mode(new ExileAllEffect(new FilterPlaneswalkerPermanent("planeswalkers")))); } private MercilessEviction(final MercilessEviction card) { diff --git a/Mage.Sets/src/mage/cards/m/MidnightCharm.java b/Mage.Sets/src/mage/cards/m/MidnightCharm.java index 05e60609d91..d119f482537 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightCharm.java +++ b/Mage.Sets/src/mage/cards/m/MidnightCharm.java @@ -27,12 +27,10 @@ public final class MidnightCharm extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(1)); this.getSpellAbility().addEffect(new GainLifeEffect(1).setText("and you gain 1 life")); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - Mode mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); + Mode mode = new Mode(new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); - mode = new Mode(); - mode.addEffect(new TapTargetEffect()); + mode = new Mode(new TapTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/m/MightOfTheWild.java b/Mage.Sets/src/mage/cards/m/MightOfTheWild.java index 5cc3018bdb2..b4ba519533b 100644 --- a/Mage.Sets/src/mage/cards/m/MightOfTheWild.java +++ b/Mage.Sets/src/mage/cards/m/MightOfTheWild.java @@ -40,14 +40,12 @@ public final class MightOfTheWild extends CardImpl { this.getSpellAbility().addEffect(new CantBlockAllEffect(filterMode1, Duration.EndOfTurn)); // Destroy target artifact or enchantment. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filterMode2)); this.getSpellAbility().addMode(mode); // Creatures you control gain indestructible this turn. - mode = new Mode(); - mode.addEffect(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES)); + mode = new Mode(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/m/MiseryCharm.java b/Mage.Sets/src/mage/cards/m/MiseryCharm.java index b6cf84a0eb4..9122f8d063c 100644 --- a/Mage.Sets/src/mage/cards/m/MiseryCharm.java +++ b/Mage.Sets/src/mage/cards/m/MiseryCharm.java @@ -36,14 +36,12 @@ public final class MiseryCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent(filter1)); // or return target Cleric card from your graveyard to your hand - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(filter2)); this.getSpellAbility().addMode(mode); // or target player loses 2 life. - mode = new Mode(); - mode.addEffect(new LoseLifeTargetEffect(2)); + mode = new Mode(new LoseLifeTargetEffect(2)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/m/MobRule.java b/Mage.Sets/src/mage/cards/m/MobRule.java index 66cc3543041..009bb75a9c6 100644 --- a/Mage.Sets/src/mage/cards/m/MobRule.java +++ b/Mage.Sets/src/mage/cards/m/MobRule.java @@ -32,8 +32,7 @@ public final class MobRule extends CardImpl { this.getSpellAbility().addEffect(new MobRuleEffect(ComparisonType.MORE_THAN, 3)); // Gain control of all creatures with power 3 or less until end of turn. Untap those creatures. They gain haste until end of turn. - Mode mode = new Mode(); - mode.addEffect(new MobRuleEffect(ComparisonType.FEWER_THAN, 4)); + Mode mode = new Mode(new MobRuleEffect(ComparisonType.FEWER_THAN, 4)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/m/MysticConfluence.java b/Mage.Sets/src/mage/cards/m/MysticConfluence.java index c8193421bc2..41d4d5379ce 100644 --- a/Mage.Sets/src/mage/cards/m/MysticConfluence.java +++ b/Mage.Sets/src/mage/cards/m/MysticConfluence.java @@ -32,14 +32,12 @@ public final class MysticConfluence extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell()); // Return target creature to its owner's hand; - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().getModes().addMode(mode); // Draw a card. - mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(1)); + mode = new Mode(new DrawCardSourceControllerEffect(1)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/n/NayaCharm.java b/Mage.Sets/src/mage/cards/n/NayaCharm.java index 1db7628a2f1..70731cd31c9 100644 --- a/Mage.Sets/src/mage/cards/n/NayaCharm.java +++ b/Mage.Sets/src/mage/cards/n/NayaCharm.java @@ -27,13 +27,11 @@ public final class NayaCharm extends CardImpl { this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or return target card from a graveyard to its owner's hand; - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCardInGraveyard()); this.getSpellAbility().addMode(mode); // or tap all creatures target player controls. - mode = new Mode(); - mode.addEffect(new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES)); + mode = new Mode(new TapAllTargetPlayerControlsEffect(FILTER_PERMANENT_CREATURES)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/o/OddlyUneven.java b/Mage.Sets/src/mage/cards/o/OddlyUneven.java index b432c32a14c..bbce80d54da 100644 --- a/Mage.Sets/src/mage/cards/o/OddlyUneven.java +++ b/Mage.Sets/src/mage/cards/o/OddlyUneven.java @@ -27,8 +27,7 @@ public final class OddlyUneven extends CardImpl { // * Destroy each creature with an odd number of words in its name. (Hyphenated words are one word.) this.getSpellAbility().addEffect(new OddOrEvenEffect(true)); // * Destroy each creature with an even number of words in its name. - Mode mode = new Mode(); - mode.addEffect(new OddOrEvenEffect(false)); + Mode mode = new Mode(new OddOrEvenEffect(false)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/o/OjutaisCommand.java b/Mage.Sets/src/mage/cards/o/OjutaisCommand.java index e31d447dbc8..008d143fcb9 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaisCommand.java +++ b/Mage.Sets/src/mage/cards/o/OjutaisCommand.java @@ -1,7 +1,5 @@ - package mage.cards.o; -import java.util.UUID; import mage.abilities.Mode; import mage.abilities.effects.common.CounterTargetEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -18,8 +16,9 @@ import mage.filter.predicate.mageobject.ManaValuePredicate; import mage.target.TargetSpell; import mage.target.common.TargetCardInYourGraveyard; +import java.util.UUID; + /** - * * @author fireshoes */ public final class OjutaisCommand extends CardImpl { @@ -42,20 +41,15 @@ public final class OjutaisCommand extends CardImpl { this.getSpellAbility().getTargets().add(new TargetCardInYourGraveyard(filter)); // or You gain 4 life; - Mode mode = new Mode(); - mode.addEffect(new GainLifeEffect(4)); - this.getSpellAbility().getModes().addMode(mode); + this.getSpellAbility().getModes().addMode(new Mode(new GainLifeEffect(4))); // or Counter target creature spell; - mode = new Mode(); + Mode mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_CREATURE)); - mode.addEffect(new CounterTargetEffect()); this.getSpellAbility().getModes().addMode(mode); // or Draw a card - mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(1)); - this.getSpellAbility().getModes().addMode(mode); + this.getSpellAbility().getModes().addMode(new Mode(new DrawCardSourceControllerEffect(1))); } private OjutaisCommand(final OjutaisCommand card) { diff --git a/Mage.Sets/src/mage/cards/o/OneDozenEyes.java b/Mage.Sets/src/mage/cards/o/OneDozenEyes.java index 6f095f5e18e..ca8abe5e624 100644 --- a/Mage.Sets/src/mage/cards/o/OneDozenEyes.java +++ b/Mage.Sets/src/mage/cards/o/OneDozenEyes.java @@ -26,8 +26,7 @@ public final class OneDozenEyes extends CardImpl { // Create a 5/5 green Beast creature token; this.getSpellAbility().addEffect(new CreateTokenEffect(new OneDozenEyesBeastToken())); // or create five 1/1 green Insect creature tokens. - Mode mode = new Mode(); - mode.addEffect(new CreateTokenEffect(new InsectToken(), 5)); + Mode mode = new Mode(new CreateTokenEffect(new InsectToken(), 5)); this.getSpellAbility().addMode(mode); // Entwine {G}{G}{G} this.addAbility(new EntwineAbility("{G}{G}{G}")); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java b/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java index edc0af22d38..fbd720ad83b 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java @@ -39,8 +39,7 @@ public final class OrzhovPontiff extends CardImpl { // Haunt // When Orzhov Pontiff enters the battlefield or the creature it haunts dies, choose one - Creatures you control get +1/+1 until end of turn; or creatures you don't control get -1/-1 until end of turn. Ability ability = new HauntAbility(this, new BoostAllEffect(1,1, Duration.EndOfTurn, filterControlled, false)); - Mode mode = new Mode(); - mode.addEffect(new BoostAllEffect(-1,-1, Duration.EndOfTurn, filterNotControlled, false)); + Mode mode = new Mode(new BoostAllEffect(-1,-1, Duration.EndOfTurn, filterNotControlled, false)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/Parch.java b/Mage.Sets/src/mage/cards/p/Parch.java index 8704166c1b3..ce4752cb4e9 100644 --- a/Mage.Sets/src/mage/cards/p/Parch.java +++ b/Mage.Sets/src/mage/cards/p/Parch.java @@ -32,8 +32,7 @@ public final class Parch extends CardImpl { // Choose one - Parch deals 2 damage to any target; or Parch deals 4 damage to target blue creature. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); this.getSpellAbility().addTarget(new TargetAnyTarget()); - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(4)); + Mode mode = new Mode(new DamageTargetEffect(4)); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/p/PietyCharm.java b/Mage.Sets/src/mage/cards/p/PietyCharm.java index 7f9df2e9135..83478fd8b6a 100644 --- a/Mage.Sets/src/mage/cards/p/PietyCharm.java +++ b/Mage.Sets/src/mage/cards/p/PietyCharm.java @@ -41,13 +41,11 @@ public final class PietyCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter1)); // or target Soldier creature gets +2/+2 until end of turn - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(2, 2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(2, 2, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent(filter2)); this.getSpellAbility().addMode(mode); // or creatures you control gain vigilance until end of turn. - mode = new Mode(); - mode.addEffect(new GainAbilityAllEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES)); + mode = new Mode(new GainAbilityAllEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/p/PiracyCharm.java b/Mage.Sets/src/mage/cards/p/PiracyCharm.java index 8cbce042598..8bfbdddd925 100644 --- a/Mage.Sets/src/mage/cards/p/PiracyCharm.java +++ b/Mage.Sets/src/mage/cards/p/PiracyCharm.java @@ -28,13 +28,11 @@ public final class PiracyCharm extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or target creature gets +2/-1 until end of turn; - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(2, -1, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(2, -1, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or target player discards a card. - mode = new Mode(); - mode.addEffect(new DiscardTargetEffect(1)); + mode = new Mode(new DiscardTargetEffect(1)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/p/PlungeIntoDarkness.java b/Mage.Sets/src/mage/cards/p/PlungeIntoDarkness.java index bf6ead3e34f..95fc93e7ae4 100644 --- a/Mage.Sets/src/mage/cards/p/PlungeIntoDarkness.java +++ b/Mage.Sets/src/mage/cards/p/PlungeIntoDarkness.java @@ -40,8 +40,7 @@ public final class PlungeIntoDarkness extends CardImpl { // Sacrifice any number of creatures, then you gain 3 life for each sacrificed creature; this.getSpellAbility().addEffect(new PlungeIntoDarknessLifeEffect()); // or pay X life, then look at the top X cards of your library, put one of those cards into your hand, and exile the rest. - Mode mode = new Mode(); - mode.addEffect(new PlungeIntoDarknessSearchEffect()); + Mode mode = new Mode(new PlungeIntoDarknessSearchEffect()); this.getSpellAbility().getModes().addMode(mode); // Entwine {B} diff --git a/Mage.Sets/src/mage/cards/p/PowerConduit.java b/Mage.Sets/src/mage/cards/p/PowerConduit.java index 7839ec05905..9b9d1fb6529 100644 --- a/Mage.Sets/src/mage/cards/p/PowerConduit.java +++ b/Mage.Sets/src/mage/cards/p/PowerConduit.java @@ -30,8 +30,7 @@ public final class PowerConduit extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.CHARGE.createInstance()), new TapSourceCost()); ability.addCost(new RemoveCounterCost(new TargetControlledPermanent())); ability.addTarget(new TargetArtifactPermanent()); - Mode mode = new Mode(); - mode.addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance())); + Mode mode = new Mode(new AddCountersTargetEffect(CounterType.P1P1.createInstance())); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PrimalCommand.java b/Mage.Sets/src/mage/cards/p/PrimalCommand.java index 31a6bdc661a..5a14a3c7377 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalCommand.java +++ b/Mage.Sets/src/mage/cards/p/PrimalCommand.java @@ -45,19 +45,16 @@ public final class PrimalCommand extends CardImpl { this.getSpellAbility().addEffect(new GainLifeTargetEffect(7)); this.getSpellAbility().addTarget(new TargetPlayer()); // or put target noncreature permanent on top of its owner's library; - Mode mode = new Mode(); - mode.addEffect(new PutOnLibraryTargetEffect(true)); + Mode mode = new Mode(new PutOnLibraryTargetEffect(true)); Target target = new TargetPermanent(filterNonCreature); mode.addTarget(target); this.getSpellAbility().getModes().addMode(mode); // or target player shuffles their graveyard into their library; - mode = new Mode(); - mode.addEffect(new PrimalCommandShuffleGraveyardEffect()); + mode = new Mode(new PrimalCommandShuffleGraveyardEffect()); mode.addTarget(new TargetPlayer()); this.getSpellAbility().getModes().addMode(mode); // or search your library for a creature card, reveal it, put it into your hand, then shuffle your library. - mode = new Mode(); - mode.addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), true, true)); + mode = new Mode(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), true, true)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/p/ProfaneCommand.java b/Mage.Sets/src/mage/cards/p/ProfaneCommand.java index c574c926348..83cff5d98c7 100644 --- a/Mage.Sets/src/mage/cards/p/ProfaneCommand.java +++ b/Mage.Sets/src/mage/cards/p/ProfaneCommand.java @@ -46,23 +46,20 @@ public final class ProfaneCommand extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); // * Return target creature card with converted mana cost X or less from your graveyard to the battlefield. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card with mana value X or less from your graveyard"))); this.getSpellAbility().addMode(mode); // * Target creature gets -X/-X until end of turn. DynamicValue minusValue = new SignInversionDynamicValue(xValue); - mode = new Mode(); - mode.addEffect(new BoostTargetEffect(minusValue, minusValue, Duration.EndOfTurn)); + mode = new Mode(new BoostTargetEffect(minusValue, minusValue, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // * Up to X target creatures gain fear until end of turn. - mode = new Mode(); Effect effect = new GainAbilityTargetEffect(FearAbility.getInstance(), Duration.EndOfTurn); effect.setText("Up to X target creatures gain fear until end of turn"); - mode.addEffect(effect); + mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(0, 1)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/p/PromiseOfPower.java b/Mage.Sets/src/mage/cards/p/PromiseOfPower.java index c8109933f5b..25a4f67796d 100644 --- a/Mage.Sets/src/mage/cards/p/PromiseOfPower.java +++ b/Mage.Sets/src/mage/cards/p/PromiseOfPower.java @@ -39,8 +39,7 @@ public final class PromiseOfPower extends CardImpl { this.getSpellAbility().addEffect(effect); // - Create an X/X black Demon creature token with flying, where X is the number of cards in your hand. - Mode mode = new Mode(); - mode.addEffect(new PromiseOfPowerEffect()); + Mode mode = new Mode(new PromiseOfPowerEffect()); this.getSpellAbility().getModes().addMode(mode); // Entwine {4} diff --git a/Mage.Sets/src/mage/cards/p/PutridWarrior.java b/Mage.Sets/src/mage/cards/p/PutridWarrior.java index ea4589e7f07..2a83d5b1d81 100644 --- a/Mage.Sets/src/mage/cards/p/PutridWarrior.java +++ b/Mage.Sets/src/mage/cards/p/PutridWarrior.java @@ -37,8 +37,7 @@ public final class PutridWarrior extends CardImpl { // Whenever Putrid Warrior deals damage, choose one - Each player loses 1 life; or each player gains 1 life. Ability ability = new PutridWarriorDealsDamageTriggeredAbility(new LoseLifeAllPlayersEffect(1)); - Mode mode = new Mode(); - mode.addEffect(new PutridWarriorGainLifeEffect()); + Mode mode = new Mode(new PutridWarriorGainLifeEffect()); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/Pyramids.java b/Mage.Sets/src/mage/cards/p/Pyramids.java index 297ab08af36..f470fda641d 100644 --- a/Mage.Sets/src/mage/cards/p/Pyramids.java +++ b/Mage.Sets/src/mage/cards/p/Pyramids.java @@ -43,8 +43,7 @@ public final class Pyramids extends CardImpl { effect.setText("Destroy target Aura attached to a land"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}")); //or the next time target land would be destroyed this turn, remove all damage marked on it instead. - Mode mode = new Mode(); //back in the day this was not technically "damage", hopefully this modern description will work nowadays - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn)); //back in the day this was not technically "damage", hopefully this modern description will work nowadays mode.addTarget(new TargetLandPermanent()); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/p/Pyroblast.java b/Mage.Sets/src/mage/cards/p/Pyroblast.java index b75b40910fb..1218d9c746e 100644 --- a/Mage.Sets/src/mage/cards/p/Pyroblast.java +++ b/Mage.Sets/src/mage/cards/p/Pyroblast.java @@ -27,8 +27,7 @@ public final class Pyroblast extends CardImpl { this.getSpellAbility().addEffect(new PyroblastCounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell()); - Mode mode = new Mode(); - mode.addEffect(new PyroblastDestroyTargetEffect()); + Mode mode = new Mode(new PyroblastDestroyTargetEffect()); mode.addTarget(new TargetPermanent()); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java index 99be8e39e65..55dddf5eadc 100644 --- a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java +++ b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java @@ -39,8 +39,7 @@ public final class QuietDisrepair extends CardImpl { // At the beginning of your upkeep, choose one - Destroy enchanted permanent; or you gain 2 life. ability = new BeginningOfUpkeepTriggeredAbility(new DestroyAttachedToEffect("enchanted permanent"), TargetController.YOU, false); - Mode mode = new Mode(); - mode.addEffect(new GainLifeEffect(2)); + Mode mode = new Mode(new GainLifeEffect(2)); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RainOfRust.java b/Mage.Sets/src/mage/cards/r/RainOfRust.java index 458093c852e..7d5aebdd7d4 100644 --- a/Mage.Sets/src/mage/cards/r/RainOfRust.java +++ b/Mage.Sets/src/mage/cards/r/RainOfRust.java @@ -25,8 +25,7 @@ public final class RainOfRust extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent()); //or destroy target land. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetLandPermanent()); this.getSpellAbility().getModes().addMode(mode); // Entwine {3}{R} diff --git a/Mage.Sets/src/mage/cards/r/RainOfThorns.java b/Mage.Sets/src/mage/cards/r/RainOfThorns.java index e712c2b9cd1..72c93ce4e9f 100644 --- a/Mage.Sets/src/mage/cards/r/RainOfThorns.java +++ b/Mage.Sets/src/mage/cards/r/RainOfThorns.java @@ -26,13 +26,11 @@ public final class RainOfThorns extends CardImpl { this.getSpellAbility().getModes().setMaxModes(1); this.getSpellAbility().getModes().setMaxModes(3); - Mode mode1 = new Mode(); - mode1.addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(new DestroyTargetEffect()); mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); - Mode mode2 = new Mode(); - mode2.addEffect(new DestroyTargetEffect()); + Mode mode2 = new Mode(new DestroyTargetEffect()); mode2.addTarget(new TargetLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode2); } diff --git a/Mage.Sets/src/mage/cards/r/RakdosCharm.java b/Mage.Sets/src/mage/cards/r/RakdosCharm.java index d3ef4189804..877048ddad4 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosCharm.java +++ b/Mage.Sets/src/mage/cards/r/RakdosCharm.java @@ -31,14 +31,12 @@ public final class RakdosCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); // or destroy target artifact; - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addMode(mode); // or each creature deals 1 damage to its controller. - mode = new Mode(); - mode.addEffect(new RakdosCharmDamageEffect()); + mode = new Mode(new RakdosCharmDamageEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/r/RealitySpasm.java b/Mage.Sets/src/mage/cards/r/RealitySpasm.java index 74a2fc6cb99..b4ff575f8bd 100644 --- a/Mage.Sets/src/mage/cards/r/RealitySpasm.java +++ b/Mage.Sets/src/mage/cards/r/RealitySpasm.java @@ -27,8 +27,7 @@ public final class RealitySpasm extends CardImpl { // Choose one - Tap X target permanents; or untap X target permanents. this.getSpellAbility().addEffect(new RealitySpasmTapEffect()); - Mode mode = new Mode(); - mode.addEffect(new RealitySpasmUntapEffect()); + Mode mode = new Mode(new RealitySpasmUntapEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/r/ReapAndSow.java b/Mage.Sets/src/mage/cards/r/ReapAndSow.java index 64ac405284f..8751100efeb 100644 --- a/Mage.Sets/src/mage/cards/r/ReapAndSow.java +++ b/Mage.Sets/src/mage/cards/r/ReapAndSow.java @@ -30,8 +30,7 @@ public final class ReapAndSow extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetLandPermanent()); //or search your library for a land card, put that card onto the battlefield, then shuffle your library. - Mode mode = new Mode(); - mode.addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()))); + Mode mode = new Mode(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()))); this.getSpellAbility().getModes().addMode(mode); // Entwine {1}{G} diff --git a/Mage.Sets/src/mage/cards/r/Recuperate.java b/Mage.Sets/src/mage/cards/r/Recuperate.java index 89f67fe2e85..dd7cfeae795 100644 --- a/Mage.Sets/src/mage/cards/r/Recuperate.java +++ b/Mage.Sets/src/mage/cards/r/Recuperate.java @@ -24,8 +24,7 @@ public final class Recuperate extends CardImpl { // Choose one - You gain 6 life; this.getSpellAbility().addEffect(new GainLifeEffect(6)); // or prevent the next 6 damage that would be dealt to target creature this turn. - Mode mode = new Mode(); - mode.addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 6)); + Mode mode = new Mode(new PreventDamageToTargetEffect(Duration.EndOfTurn, 6)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/r/RedElementalBlast.java b/Mage.Sets/src/mage/cards/r/RedElementalBlast.java index 7c5d466dba0..0f0c804fe49 100644 --- a/Mage.Sets/src/mage/cards/r/RedElementalBlast.java +++ b/Mage.Sets/src/mage/cards/r/RedElementalBlast.java @@ -36,8 +36,7 @@ public final class RedElementalBlast extends CardImpl { this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(filterSpell)); - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filterPermanent)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/ReignOfChaos.java b/Mage.Sets/src/mage/cards/r/ReignOfChaos.java index ef4db6b60e6..eb57bd91e4e 100644 --- a/Mage.Sets/src/mage/cards/r/ReignOfChaos.java +++ b/Mage.Sets/src/mage/cards/r/ReignOfChaos.java @@ -39,8 +39,7 @@ public final class ReignOfChaos extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect(false, true)); this.getSpellAbility().addTarget(new TargetPermanent(filter1)); this.getSpellAbility().addTarget(new TargetPermanent(filter2)); - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect(false, true)); + Mode mode = new Mode(new DestroyTargetEffect(false, true)); mode.addTarget(new TargetPermanent(filter3)); mode.addTarget(new TargetPermanent(filter4)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/RelicBind.java b/Mage.Sets/src/mage/cards/r/RelicBind.java index c2de0e588c3..c3e5d39a6f0 100644 --- a/Mage.Sets/src/mage/cards/r/RelicBind.java +++ b/Mage.Sets/src/mage/cards/r/RelicBind.java @@ -48,8 +48,7 @@ public final class RelicBind extends CardImpl { Ability ability2 = new BecomesTappedAttachedTriggeredAbility(new DamageTargetEffect(1), "enchanted artifact"); ability2.addTarget(new TargetPlayerOrPlaneswalker()); // — Target player gains 1 life. - Mode mode = new Mode(); - mode.addEffect(new GainLifeTargetEffect(1)); + Mode mode = new Mode(new GainLifeTargetEffect(1)); mode.addTarget(new TargetPlayer()); ability2.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/RememberTheFallen.java b/Mage.Sets/src/mage/cards/r/RememberTheFallen.java index c1ffd1c5909..f6ae54d0968 100644 --- a/Mage.Sets/src/mage/cards/r/RememberTheFallen.java +++ b/Mage.Sets/src/mage/cards/r/RememberTheFallen.java @@ -27,8 +27,7 @@ public final class RememberTheFallen extends CardImpl { this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); // • Return target artifact card from your graveyard to your hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/RetreatToCoralhelm.java b/Mage.Sets/src/mage/cards/r/RetreatToCoralhelm.java index a2e60f9e9d2..2d4009dfb7f 100644 --- a/Mage.Sets/src/mage/cards/r/RetreatToCoralhelm.java +++ b/Mage.Sets/src/mage/cards/r/RetreatToCoralhelm.java @@ -23,8 +23,7 @@ public final class RetreatToCoralhelm extends CardImpl { // Landfall- Whenever a land enters the battlefield under your control, choose one - You may tap or untap target creature; or Scry 1. LandfallAbility ability = new LandfallAbility(new MayTapOrUntapTargetEffect(), false); ability.addTarget(new TargetCreaturePermanent()); - Mode mode = new Mode(); - mode.addEffect(new ScryEffect(1)); + Mode mode = new Mode(new ScryEffect(1)); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RetreatToEmeria.java b/Mage.Sets/src/mage/cards/r/RetreatToEmeria.java index c9ebf7b9e13..c436a9fda4e 100644 --- a/Mage.Sets/src/mage/cards/r/RetreatToEmeria.java +++ b/Mage.Sets/src/mage/cards/r/RetreatToEmeria.java @@ -23,8 +23,7 @@ public final class RetreatToEmeria extends CardImpl { // Landfall — Whenever a land enters the battlefield under you control, choose one - Create a 1/1 white Kor Ally creature token; or Creatures you control get +1/+1 until end of turn. LandfallAbility ability = new LandfallAbility(new CreateTokenEffect(new KorAllyToken()), false); - Mode mode = new Mode(); - mode.addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RetreatToHagra.java b/Mage.Sets/src/mage/cards/r/RetreatToHagra.java index 86f40f2d08c..f93977fbc5f 100644 --- a/Mage.Sets/src/mage/cards/r/RetreatToHagra.java +++ b/Mage.Sets/src/mage/cards/r/RetreatToHagra.java @@ -34,8 +34,7 @@ public final class RetreatToHagra extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // or Each opponent loses 1 life and you gain 1 life. - Mode mode = new Mode(); - mode.addEffect(new LoseLifeOpponentsEffect(1)); + Mode mode = new Mode(new LoseLifeOpponentsEffect(1)); Effect gainLife = new GainLifeEffect(1); gainLife.setText("and you gain 1 life"); mode.addEffect(gainLife); diff --git a/Mage.Sets/src/mage/cards/r/RetreatToKazandu.java b/Mage.Sets/src/mage/cards/r/RetreatToKazandu.java index 3a3dafae57d..3f863bb4349 100644 --- a/Mage.Sets/src/mage/cards/r/RetreatToKazandu.java +++ b/Mage.Sets/src/mage/cards/r/RetreatToKazandu.java @@ -24,8 +24,7 @@ public final class RetreatToKazandu extends CardImpl { // Landfall-Whenever a land enters the battlefield under your control, choose one - Put a +1/+1 counter on target creature; or You gain 2 life. LandfallAbility ability = new LandfallAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false); ability.addTarget(new TargetCreaturePermanent()); - Mode mode = new Mode(); - mode.addEffect(new GainLifeEffect(2)); + Mode mode = new Mode(new GainLifeEffect(2)); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RetreatToValakut.java b/Mage.Sets/src/mage/cards/r/RetreatToValakut.java index 184525cd90b..b555c17f021 100644 --- a/Mage.Sets/src/mage/cards/r/RetreatToValakut.java +++ b/Mage.Sets/src/mage/cards/r/RetreatToValakut.java @@ -26,8 +26,7 @@ public final class RetreatToValakut extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // or Target creature can't block this turn. - Mode mode = new Mode(); - mode.addEffect(new CantBlockTargetEffect(Duration.EndOfTurn)); + Mode mode = new Mode(new CantBlockTargetEffect(Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/r/RevivingMelody.java b/Mage.Sets/src/mage/cards/r/RevivingMelody.java index 5bd803499a4..1dc672d54f4 100644 --- a/Mage.Sets/src/mage/cards/r/RevivingMelody.java +++ b/Mage.Sets/src/mage/cards/r/RevivingMelody.java @@ -33,8 +33,7 @@ public final class RevivingMelody extends CardImpl { this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); // and/or return target enchantment card from your graveyard to your hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/RighteousConfluence.java b/Mage.Sets/src/mage/cards/r/RighteousConfluence.java index 0f2de271fb4..f3cceaa4c5c 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousConfluence.java +++ b/Mage.Sets/src/mage/cards/r/RighteousConfluence.java @@ -30,14 +30,12 @@ public final class RighteousConfluence extends CardImpl { this.getSpellAbility().addEffect(new CreateTokenEffect(new KnightToken())); // - Exile target enchantment; - Mode mode = new Mode(); - mode.addEffect(new ExileTargetEffect()); + Mode mode = new Mode(new ExileTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent()); this.getSpellAbility().getModes().addMode(mode); // You gain 5 life; - mode = new Mode(); - mode.addEffect(new GainLifeEffect(5)); + mode = new Mode(new GainLifeEffect(5)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/r/RithsCharm.java b/Mage.Sets/src/mage/cards/r/RithsCharm.java index 6f6c5670a26..fb2454ef123 100644 --- a/Mage.Sets/src/mage/cards/r/RithsCharm.java +++ b/Mage.Sets/src/mage/cards/r/RithsCharm.java @@ -26,13 +26,11 @@ public final class RithsCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetNonBasicLandPermanent()); // or create three 1/1 green Saproling creature tokens; - Mode mode = new Mode(); - mode.addEffect(new CreateTokenEffect(new SaprolingToken(), 3)); + Mode mode = new Mode(new CreateTokenEffect(new SaprolingToken(), 3)); this.getSpellAbility().addMode(mode); // or prevent all damage a source of your choice would deal this turn. - mode = new Mode(); - mode.addEffect(new PreventDamageBySourceEffect()); + mode = new Mode(new PreventDamageBySourceEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/r/RoarOfTheKha.java b/Mage.Sets/src/mage/cards/r/RoarOfTheKha.java index 07958c713a5..f512408c691 100644 --- a/Mage.Sets/src/mage/cards/r/RoarOfTheKha.java +++ b/Mage.Sets/src/mage/cards/r/RoarOfTheKha.java @@ -27,8 +27,7 @@ public final class RoarOfTheKha extends CardImpl { this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); // or untap all creatures you control. - Mode mode = new Mode(); - mode.addEffect(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), rule)); + Mode mode = new Mode(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), rule)); this.getSpellAbility().getModes().addMode(mode); // Entwine {1}{W} diff --git a/Mage.Sets/src/mage/cards/r/RudeAwakening.java b/Mage.Sets/src/mage/cards/r/RudeAwakening.java index ed6c16700c8..4238ef149b9 100644 --- a/Mage.Sets/src/mage/cards/r/RudeAwakening.java +++ b/Mage.Sets/src/mage/cards/r/RudeAwakening.java @@ -28,8 +28,7 @@ public final class RudeAwakening extends CardImpl { // Untap all lands you control; this.getSpellAbility().addEffect(new UntapAllLandsControllerEffect()); // or until end of turn, lands you control become 2/2 creatures that are still lands. - Mode mode = new Mode(); - mode.addEffect(new BecomesCreatureAllEffect( + Mode mode = new Mode(new BecomesCreatureAllEffect( new CreatureToken(2, 2), "lands", new FilterControlledLandPermanent("lands you control"), Duration.EndOfTurn, false)); this.getSpellAbility().getModes().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java b/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java index b32641d80df..f71007635d8 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessInstincts.java @@ -51,10 +51,9 @@ public final class RuthlessInstincts extends CardImpl { Target target = new TargetCreaturePermanent(filter); this.getSpellAbility().addTarget(target); // * Target attacking creature gets +2/+2 and gains trample until end of turn. - Mode mode = new Mode(); effect = new BoostTargetEffect(2,2,Duration.EndOfTurn); effect.setText("Target attacking creature gets +2/+2"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gains trample until end of turn"); mode.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/s/SaheelisArtistry.java b/Mage.Sets/src/mage/cards/s/SaheelisArtistry.java index 96137b07c5d..0461e871108 100644 --- a/Mage.Sets/src/mage/cards/s/SaheelisArtistry.java +++ b/Mage.Sets/src/mage/cards/s/SaheelisArtistry.java @@ -27,11 +27,10 @@ public final class SaheelisArtistry extends CardImpl { this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("create copy of that")); // • Create a token that's a copy of target creature, except that it's an artifact in addition to its other types. - Mode mode1 = new Mode(); effect = new CreateTokenCopyTargetEffect(); effect.setBecomesArtifact(true); effect.setText("Create a token that's a copy of target creature, except it's an artifact in addition to its other types"); - mode1.addEffect(effect); + Mode mode1 = new Mode(effect); mode1.addTarget(new TargetCreaturePermanent().withChooseHint("create copy of that, artifact type")); this.getSpellAbility().addMode(mode1); } diff --git a/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java b/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java index 0b5f0943a72..a845b9811dd 100644 --- a/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java +++ b/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java @@ -32,8 +32,7 @@ public final class SandsteppeOutcast extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); // * Create a 1/1 white Spirit creature token with flying. - Mode mode = new Mode(); - mode.addEffect(new CreateTokenEffect(new SpiritWhiteToken())); + Mode mode = new Mode(new CreateTokenEffect(new SpiritWhiteToken())); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SapphireCharm.java b/Mage.Sets/src/mage/cards/s/SapphireCharm.java index 650bc353d1b..e62200aa6d5 100644 --- a/Mage.Sets/src/mage/cards/s/SapphireCharm.java +++ b/Mage.Sets/src/mage/cards/s/SapphireCharm.java @@ -35,14 +35,12 @@ public final class SapphireCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); // or target creature gains flying until end of turn; - Mode mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); + Mode mode = new Mode(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or target creature an opponent controls phases out. - mode = new Mode(); - mode.addEffect(new PhaseOutTargetEffect()); + mode = new Mode(new PhaseOutTargetEffect()); mode.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SavageAlliance.java b/Mage.Sets/src/mage/cards/s/SavageAlliance.java index eed0fc6f8bc..81262b0952c 100644 --- a/Mage.Sets/src/mage/cards/s/SavageAlliance.java +++ b/Mage.Sets/src/mage/cards/s/SavageAlliance.java @@ -56,16 +56,14 @@ public final class SavageAlliance extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer(1, 1, false, filterPlayer).withChooseHint("whose creatures gain trample")); // Savage Alliance deals 2 damage to target creature.; - Mode mode = new Mode(); Effect effect = new DamageTargetEffect(2); effect.setText("{this} deals 2 damage to target creature"); - mode.addEffect(effect); + Mode mode = new Mode(effect); mode.addTarget(new TargetCreaturePermanent(filterCreature).withChooseHint("deals 2 damage to")); this.getSpellAbility().addMode(mode); // Savage Alliance deals 1 damage to each creature target opponent controls. - mode = new Mode(); - mode.addEffect(new SavageAllianceDamageEffect()); + mode = new Mode(new SavageAllianceDamageEffect()); mode.addTarget(new TargetPlayer(1, 1, false, filterOpponent).withChooseHint("whose creatures get dealt 1 damage")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SavageBeating.java b/Mage.Sets/src/mage/cards/s/SavageBeating.java index 43c7b117ec3..fda090e7d87 100644 --- a/Mage.Sets/src/mage/cards/s/SavageBeating.java +++ b/Mage.Sets/src/mage/cards/s/SavageBeating.java @@ -34,8 +34,7 @@ public final class SavageBeating extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false)); // or untap all creatures you control and after this phase, there is an additional combat phase. - Mode mode = new Mode(); - mode.addEffect(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), "untap all creatures you control")); + Mode mode = new Mode(new UntapAllControllerEffect(new FilterControlledCreaturePermanent(), "untap all creatures you control")); mode.addEffect(new AdditionalCombatPhaseEffect("and after this phase, there is an additional combat phase")); this.getSpellAbility().getModes().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/s/SeedlingCharm.java b/Mage.Sets/src/mage/cards/s/SeedlingCharm.java index 73a3f5fba73..78e58abe867 100644 --- a/Mage.Sets/src/mage/cards/s/SeedlingCharm.java +++ b/Mage.Sets/src/mage/cards/s/SeedlingCharm.java @@ -42,13 +42,11 @@ public final class SeedlingCharm extends CardImpl { this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter1)); // or regenerate target green creature - Mode mode = new Mode(); - mode.addEffect(new RegenerateTargetEffect()); + Mode mode = new Mode(new RegenerateTargetEffect()); mode.addTarget(new TargetPermanent(filter2)); this.getSpellAbility().addMode(mode); // or target creature gains trample until end of turn. - mode = new Mode(); - mode.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); + mode = new Mode(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaCharm.java b/Mage.Sets/src/mage/cards/s/SelesnyaCharm.java index c0f56e7d5e7..2c996db5cc3 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaCharm.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaCharm.java @@ -45,14 +45,12 @@ public final class SelesnyaCharm extends CardImpl { this.getSpellAbility().getTargets().add(new TargetCreaturePermanent()); // or exile target creature with power 5 or greater; - Mode mode = new Mode(); - mode.addEffect(new ExileTargetEffect()); + Mode mode = new Mode(new ExileTargetEffect()); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); // or create a 2/2 white Knight creature token with vigilance. - mode = new Mode(); - mode.addEffect(new CreateTokenEffect(new KnightToken())); + mode = new Mode(new CreateTokenEffect(new KnightToken())); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/ShrivelingRot.java b/Mage.Sets/src/mage/cards/s/ShrivelingRot.java index 96293421139..18bb8ed59db 100644 --- a/Mage.Sets/src/mage/cards/s/ShrivelingRot.java +++ b/Mage.Sets/src/mage/cards/s/ShrivelingRot.java @@ -37,8 +37,7 @@ public final class ShrivelingRot extends CardImpl { this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new ShrivelingRotDestroyTriggeredAbility())); // Until end of turn, whenever a creature dies, that creature's controller loses life equal to its toughness. - Mode mode = new Mode(); - mode.addEffect(new CreateDelayedTriggeredAbilityEffect(new ShrivelingRotLoseLifeTriggeredAbility())); + Mode mode = new Mode(new CreateDelayedTriggeredAbilityEffect(new ShrivelingRotLoseLifeTriggeredAbility())); this.getSpellAbility().getModes().addMode(mode); // Entwine {2}{B} diff --git a/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java b/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java index 02f04a0d2b4..d6b8d036457 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarsCommand.java @@ -40,20 +40,17 @@ public final class SilumgarsCommand extends CardImpl { this.getSpellAbility().getTargets().add(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE)); // or Return target permanent to its owner's hand; - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetPermanent()); this.getSpellAbility().getModes().addMode(mode); // or Target creature gets -3/-3 until end of turn; - mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-3, -3, Duration.EndOfTurn)); + mode = new Mode(new BoostTargetEffect(-3, -3, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().getModes().addMode(mode); // or Destroy target planeswalker. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filter2)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SimicCharm.java b/Mage.Sets/src/mage/cards/s/SimicCharm.java index e96fff37d2a..a9eca52671b 100644 --- a/Mage.Sets/src/mage/cards/s/SimicCharm.java +++ b/Mage.Sets/src/mage/cards/s/SimicCharm.java @@ -28,12 +28,10 @@ public final class SimicCharm extends CardImpl { this.getSpellAbility().addEffect(new BoostTargetEffect(3, 3, Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); //permanents you control gain hexproof until end of turn - Mode mode = new Mode(); - mode.addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn)); + Mode mode = new Mode(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); //return target creature to its owner's hand. - Mode mode2 = new Mode(); - mode2.addEffect(new ReturnToHandTargetEffect()); + Mode mode2 = new Mode(new ReturnToHandTargetEffect()); mode2.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode2); diff --git a/Mage.Sets/src/mage/cards/s/Skinshifter.java b/Mage.Sets/src/mage/cards/s/Skinshifter.java index 8019094272a..692da1bf1de 100644 --- a/Mage.Sets/src/mage/cards/s/Skinshifter.java +++ b/Mage.Sets/src/mage/cards/s/Skinshifter.java @@ -35,12 +35,10 @@ public final class Skinshifter extends CardImpl { new ManaCostsImpl<>("{G}")); ability.getModes().setChooseText("Choose one. Activate only once each turn."); - Mode mode = new Mode(); - mode.addEffect(new BecomesCreatureSourceEffect(new BirdToken(), "", Duration.EndOfTurn)); + Mode mode = new Mode(new BecomesCreatureSourceEffect(new BirdToken(), "", Duration.EndOfTurn)); ability.addMode(mode); - mode = new Mode(); - mode.addEffect(new BecomesCreatureSourceEffect(new PlantToken(), "", Duration.EndOfTurn)); + mode = new Mode(new BecomesCreatureSourceEffect(new PlantToken(), "", Duration.EndOfTurn)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/Slagstorm.java b/Mage.Sets/src/mage/cards/s/Slagstorm.java index 88f321ef459..bb6fb9f0928 100644 --- a/Mage.Sets/src/mage/cards/s/Slagstorm.java +++ b/Mage.Sets/src/mage/cards/s/Slagstorm.java @@ -21,8 +21,7 @@ public final class Slagstorm extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{R}{R}"); this.getSpellAbility().addEffect(new DamageAllEffect(3, new FilterCreaturePermanent())); - Mode mode = new Mode(); - mode.addEffect(new DamagePlayersEffect(3)); + Mode mode = new Mode(new DamagePlayersEffect(3)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SolarTide.java b/Mage.Sets/src/mage/cards/s/SolarTide.java index 721b8080a79..414708c2a24 100644 --- a/Mage.Sets/src/mage/cards/s/SolarTide.java +++ b/Mage.Sets/src/mage/cards/s/SolarTide.java @@ -36,8 +36,7 @@ public final class SolarTide extends CardImpl { this.getSpellAbility().addEffect(new DestroyAllEffect(filter1)); // or destroy all creatures with power 3 or greater. - Mode mode = new Mode(); - mode.addEffect(new DestroyAllEffect(filter2)); + Mode mode = new Mode(new DestroyAllEffect(filter2)); this.getSpellAbility().getModes().addMode(mode); // Entwine-Sacrifice two lands. diff --git a/Mage.Sets/src/mage/cards/s/SoulManipulation.java b/Mage.Sets/src/mage/cards/s/SoulManipulation.java index 42ccfffa3db..691442605f8 100644 --- a/Mage.Sets/src/mage/cards/s/SoulManipulation.java +++ b/Mage.Sets/src/mage/cards/s/SoulManipulation.java @@ -29,8 +29,7 @@ public final class SoulManipulation extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_CREATURE).withChooseHint("counter it")); // and/or return target creature card from your graveyard to your hand. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return it to hand")); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/s/SplittingHeadache.java b/Mage.Sets/src/mage/cards/s/SplittingHeadache.java index fff7ab904a3..0337ec3f741 100644 --- a/Mage.Sets/src/mage/cards/s/SplittingHeadache.java +++ b/Mage.Sets/src/mage/cards/s/SplittingHeadache.java @@ -26,8 +26,7 @@ public final class SplittingHeadache extends CardImpl { this.getSpellAbility().addEffect(new DiscardTargetEffect(2)); // • Target player reveals their hand. You choose a card from it. That player discards that card. - Mode mode = new Mode(); - mode.addEffect(new DiscardCardYouChooseTargetEffect(TargetController.ANY)); + Mode mode = new Mode(new DiscardCardYouChooseTargetEffect(TargetController.ANY)); mode.addTarget(new TargetPlayer()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/SteelSabotage.java b/Mage.Sets/src/mage/cards/s/SteelSabotage.java index 9bb658f9e85..bafd92e25c0 100644 --- a/Mage.Sets/src/mage/cards/s/SteelSabotage.java +++ b/Mage.Sets/src/mage/cards/s/SteelSabotage.java @@ -23,8 +23,7 @@ public final class SteelSabotage extends CardImpl { // Choose one - Counter target artifact spell; or return target artifact to its owner's hand. this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(new FilterArtifactSpell())); - Mode mode = new Mode(); - mode.addEffect(new ReturnToHandTargetEffect()); + Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetArtifactPermanent()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/StirThePride.java b/Mage.Sets/src/mage/cards/s/StirThePride.java index 8d055f273a1..949e0afb140 100644 --- a/Mage.Sets/src/mage/cards/s/StirThePride.java +++ b/Mage.Sets/src/mage/cards/s/StirThePride.java @@ -29,10 +29,9 @@ public final class StirThePride extends CardImpl { // Creatures you control get +2/+2 until end of turn; this.getSpellAbility().addEffect(new BoostControlledEffect(2,2, Duration.EndOfTurn)); // or until end of turn, creatures you control gain "Whenever this creature deals damage, you gain that much life." - Mode mode = new Mode(); Effect effect = new GainAbilityControlledEffect(new DealsDamageGainLifeSourceTriggeredAbility(), Duration.EndOfTurn); effect.setText("until end of turn, creatures you control gain \"Whenever this creature deals damage, you gain that much life.\""); - mode.addEffect(effect); + Mode mode = new Mode(effect); this.getSpellAbility().getModes().addMode(mode); // Entwine {1}{W} diff --git a/Mage.Sets/src/mage/cards/s/SubtleStrike.java b/Mage.Sets/src/mage/cards/s/SubtleStrike.java index 5fe03e42287..d3a015cfdc7 100644 --- a/Mage.Sets/src/mage/cards/s/SubtleStrike.java +++ b/Mage.Sets/src/mage/cards/s/SubtleStrike.java @@ -29,10 +29,9 @@ public final class SubtleStrike extends CardImpl { this.getSpellAbility().addEffect(minusOneMinusOne); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("gets -1/-1 until end of turn")); // • Put a +1/+1 counter on target creature. - Mode mode1 = new Mode(); AddCountersTargetEffect plusOnePlusOneCounter = new AddCountersTargetEffect(CounterType.P1P1.createInstance()); plusOnePlusOneCounter.setText("Put a +1/+1 counter on target creature"); - mode1.addEffect(plusOnePlusOneCounter); + Mode mode1 = new Mode(plusOnePlusOneCounter); mode1.addTarget(new TargetCreaturePermanent().withChooseHint("gets +1/+1 counter")); this.getSpellAbility().addMode(mode1); } diff --git a/Mage.Sets/src/mage/cards/s/SultaiCharm.java b/Mage.Sets/src/mage/cards/s/SultaiCharm.java index 396660d480f..e3857574757 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiCharm.java +++ b/Mage.Sets/src/mage/cards/s/SultaiCharm.java @@ -37,14 +37,12 @@ public final class SultaiCharm extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); // * Destroy target artifact or enchantment. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); this.getSpellAbility().addMode(mode); // * Draw two cards, then discard a card. - mode = new Mode(); - mode.addEffect(new DrawDiscardControllerEffect(2,1)); + mode = new Mode(new DrawDiscardControllerEffect(2,1)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/s/Suncleanser.java b/Mage.Sets/src/mage/cards/s/Suncleanser.java index ede7ec7aa80..105fd78d0f5 100644 --- a/Mage.Sets/src/mage/cards/s/Suncleanser.java +++ b/Mage.Sets/src/mage/cards/s/Suncleanser.java @@ -44,8 +44,7 @@ public final class Suncleanser extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); // • Target opponent loses all counters. That player can't get counters for as long as Suncleanser remains on the battlefield. - Mode mode = new Mode(); - mode.addEffect(new SuncleanserRemoveCountersEffect(true)); + Mode mode = new Mode(new SuncleanserRemoveCountersEffect(true)); mode.addEffect(new SuncleanserPreventCountersEffect(true)); mode.addTarget(new TargetOpponent()); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/s/SupremeWill.java b/Mage.Sets/src/mage/cards/s/SupremeWill.java index 4ae4f567d70..58766028ffb 100644 --- a/Mage.Sets/src/mage/cards/s/SupremeWill.java +++ b/Mage.Sets/src/mage/cards/s/SupremeWill.java @@ -28,8 +28,7 @@ public final class SupremeWill extends CardImpl { this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(3))); // or Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. - Mode mode = new Mode(); - mode.addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false)); + Mode mode = new Mode(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/TakeDown.java b/Mage.Sets/src/mage/cards/t/TakeDown.java index 275d9181dae..7cf0576ccc9 100644 --- a/Mage.Sets/src/mage/cards/t/TakeDown.java +++ b/Mage.Sets/src/mage/cards/t/TakeDown.java @@ -34,8 +34,7 @@ public final class TakeDown extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); // • Take Down deals 1 damage to each creature with flying - Mode mode = new Mode(); - mode.addEffect(new DamageAllEffect(1, filter)); + Mode mode = new Mode(new DamageAllEffect(1, filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/TemporalCascade.java b/Mage.Sets/src/mage/cards/t/TemporalCascade.java index e181d46b044..13a806be210 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalCascade.java +++ b/Mage.Sets/src/mage/cards/t/TemporalCascade.java @@ -27,8 +27,7 @@ public final class TemporalCascade extends CardImpl { this.getSpellAbility().addEffect(new ShuffleHandGraveyardAllEffect()); // or each player draws seven cards. - Mode mode = new Mode(); - mode.addEffect(new TemporalCascadeDrawEffect()); + Mode mode = new Mode(new TemporalCascadeDrawEffect()); this.getSpellAbility().getModes().addMode(mode); // Entwine {2} diff --git a/Mage.Sets/src/mage/cards/t/TemurCharm.java b/Mage.Sets/src/mage/cards/t/TemurCharm.java index 2e10b9e76be..bc5ccdaf423 100644 --- a/Mage.Sets/src/mage/cards/t/TemurCharm.java +++ b/Mage.Sets/src/mage/cards/t/TemurCharm.java @@ -48,14 +48,12 @@ public final class TemurCharm extends CardImpl { this.getSpellAbility().addTarget(target); // Counter target spell unless its controller pays {3}. - Mode mode = new Mode(); - mode.addEffect(new CounterUnlessPaysEffect(new GenericManaCost(3))); + Mode mode = new Mode(new CounterUnlessPaysEffect(new GenericManaCost(3))); mode.addTarget(new TargetSpell()); this.getSpellAbility().addMode(mode); // Creatures with power 3 or less can't block this turn. - mode = new Mode(); - mode.addEffect(new CantBlockAllEffect(filterCantBlock, Duration.EndOfTurn)); + mode = new Mode(new CantBlockAllEffect(filterCantBlock, Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/ThermalFlux.java b/Mage.Sets/src/mage/cards/t/ThermalFlux.java index 2ca94f6bf8f..7dddc6a0fe2 100644 --- a/Mage.Sets/src/mage/cards/t/ThermalFlux.java +++ b/Mage.Sets/src/mage/cards/t/ThermalFlux.java @@ -48,11 +48,10 @@ public final class ThermalFlux extends CardImpl { new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); // Target snow permanent isn't snow until end of turn. // Draw a card at the beginning of the next turn's upkeep. - Mode mode = new Mode(); - mode.addTarget(new TargetPermanent(filterSnow)); - mode.addEffect(new ThermalFluxEffect(false)); + Mode mode = new Mode(new ThermalFluxEffect(false)); mode.addEffect(new CreateDelayedTriggeredAbilityEffect( new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1)), false)); + mode.addTarget(new TargetPermanent(filterSnow)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/Thunderbolt.java b/Mage.Sets/src/mage/cards/t/Thunderbolt.java index 28b0ad0c89c..3f82a044ce4 100644 --- a/Mage.Sets/src/mage/cards/t/Thunderbolt.java +++ b/Mage.Sets/src/mage/cards/t/Thunderbolt.java @@ -31,8 +31,7 @@ public final class Thunderbolt extends CardImpl { // Choose one - Thunderbolt deals 3 damage to target player; or Thunderbolt deals 4 damage to target creature with flying. this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker()); - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(4)); + Mode mode = new Mode(new DamageTargetEffect(4)); mode.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/Timecrafting.java b/Mage.Sets/src/mage/cards/t/Timecrafting.java index 5fcc757101c..4b6f0b7d05a 100644 --- a/Mage.Sets/src/mage/cards/t/Timecrafting.java +++ b/Mage.Sets/src/mage/cards/t/Timecrafting.java @@ -36,8 +36,7 @@ public final class Timecrafting extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanentOrSuspendedCard()); // or put X time counters on target permanent with a time counter on it or suspended card. - Mode mode = new Mode(); - mode.addEffect(new TimecraftingAddEffect()); + Mode mode = new Mode(new TimecraftingAddEffect()); mode.addTarget(new TargetPermanentOrSuspendedCard(filter, false)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/ToothAndNail.java b/Mage.Sets/src/mage/cards/t/ToothAndNail.java index cd1ef626fe6..0645663c720 100644 --- a/Mage.Sets/src/mage/cards/t/ToothAndNail.java +++ b/Mage.Sets/src/mage/cards/t/ToothAndNail.java @@ -32,8 +32,7 @@ public final class ToothAndNail extends CardImpl { // Search your library for up to two creature cards, reveal them, put them into your hand, then shuffle your library; this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_CREATURES), true)); // or put up to two creature cards from your hand onto the battlefield. - Mode mode = new Mode(); - mode.addEffect(new ToothAndNailPutCreatureOnBattlefieldEffect()); + Mode mode = new Mode(new ToothAndNailPutCreatureOnBattlefieldEffect()); this.getSpellAbility().getModes().addMode(mode); // Entwine {2} diff --git a/Mage.Sets/src/mage/cards/t/TormentorExarch.java b/Mage.Sets/src/mage/cards/t/TormentorExarch.java index e005ad9d6d8..d3f8a398deb 100644 --- a/Mage.Sets/src/mage/cards/t/TormentorExarch.java +++ b/Mage.Sets/src/mage/cards/t/TormentorExarch.java @@ -30,8 +30,7 @@ public final class TormentorExarch extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), false); ability.addTarget(new TargetCreaturePermanent()); - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(0, -2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(0, -2, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TrevasCharm.java b/Mage.Sets/src/mage/cards/t/TrevasCharm.java index 73cec0cde97..c70e004548c 100644 --- a/Mage.Sets/src/mage/cards/t/TrevasCharm.java +++ b/Mage.Sets/src/mage/cards/t/TrevasCharm.java @@ -26,14 +26,12 @@ public final class TrevasCharm extends CardImpl { this.getSpellAbility().addTarget(new TargetEnchantmentPermanent()); // or exile target attacking creature; - Mode mode = new Mode(); - mode.addEffect(new ExileTargetEffect()); + Mode mode = new Mode(new ExileTargetEffect()); mode.addTarget(new TargetAttackingCreature()); this.getSpellAbility().addMode(mode); // or draw a card, then discard a card. - mode = new Mode(); - mode.addEffect(new DrawDiscardControllerEffect()); + mode = new Mode(new DrawDiscardControllerEffect()); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/TriassicEgg.java b/Mage.Sets/src/mage/cards/t/TriassicEgg.java index c6e283da8ff..cc46fecb016 100644 --- a/Mage.Sets/src/mage/cards/t/TriassicEgg.java +++ b/Mage.Sets/src/mage/cards/t/TriassicEgg.java @@ -45,8 +45,7 @@ public final class TriassicEgg extends CardImpl { new SourceHasCounterCondition(CounterType.HATCHLING, 2, Integer.MAX_VALUE)); // or return target creature card from your graveyard to the battlefield. Activate this ability only if two or more hatchling counters are on Triassic Egg. - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect()); Target target = new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD); mode.addTarget(target); ability.addMode(mode); diff --git a/Mage.Sets/src/mage/cards/t/TrickeryCharm.java b/Mage.Sets/src/mage/cards/t/TrickeryCharm.java index a3f1364a1ee..52eedf0d991 100644 --- a/Mage.Sets/src/mage/cards/t/TrickeryCharm.java +++ b/Mage.Sets/src/mage/cards/t/TrickeryCharm.java @@ -26,13 +26,11 @@ public final class TrickeryCharm extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or target creature becomes the creature type of your choice until end of turn - Mode mode = new Mode(); - mode.addEffect(new BecomesChosenCreatureTypeTargetEffect()); + Mode mode = new Mode(new BecomesChosenCreatureTypeTargetEffect()); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or look at the top four cards of your library, then put them back in any order. - mode = new Mode(); - mode.addEffect(new LookLibraryControllerEffect(4)); + mode = new Mode(new LookLibraryControllerEffect(4)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java b/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java index 22fea36bf17..1d8497a5238 100644 --- a/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java +++ b/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java @@ -27,8 +27,7 @@ public final class Triskaidekaphobia extends CardImpl { // At the beginning of your upkeep, choose one - Each player with exactly 13 life loses the game, then each player gains 1 life. // Each player with exactly 13 life loses the game, then each player loses 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility(new TriskaidekaphobiaGainLifeEffect(), TargetController.YOU, false); - Mode mode = new Mode(); - mode.addEffect(new TriskaidekaphobiaLoseLifeEffect()); + Mode mode = new Mode(new TriskaidekaphobiaLoseLifeEffect()); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java b/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java index 31cf77fb035..254c209847f 100644 --- a/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java +++ b/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java @@ -54,10 +54,9 @@ public final class UlashtTheHateSeed extends CardImpl { ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance())); ability.addTarget(new TargetCreaturePermanent()); // or create a 1/1 green Saproling creature token. - Mode mode = new Mode(); Effect effect = new CreateTokenEffect(new SaprolingToken()); effect.setText("Create a 1/1 green Saproling creature token."); - mode.addEffect(effect); + Mode mode = new Mode(effect); ability.addMode(mode); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java index 938e23a894b..22c8d8e1230 100644 --- a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java +++ b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java @@ -41,14 +41,12 @@ public final class UmezawasJitte extends CardImpl { new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); // Target creature gets -1/-1 until end of turn. - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-1, -1, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(-1, -1, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); ability.addMode(mode); // You gain 2 life. - mode = new Mode(); - mode.addEffect(new GainLifeEffect(2)); + mode = new Mode(new GainLifeEffect(2)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java index 8ca363ac401..8b66cc0190d 100644 --- a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java +++ b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java @@ -40,13 +40,11 @@ public final class UnityOfTheDroids extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(artifactCreatureFilter)); // Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard. - Mode mode = new Mode(); - mode.addEffect(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.GRAVEYARD, false, false)); + Mode mode = new Mode(new LookLibraryAndPickControllerEffect(StaticValue.get(4), false, StaticValue.get(1), new FilterCard(), Zone.GRAVEYARD, false, false)); this.getSpellAbility().addMode(mode); // Destroy target nonartifact creature. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetCreaturePermanent(nonArtifactCreatureFilter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/v/VadersCommand.java b/Mage.Sets/src/mage/cards/v/VadersCommand.java index 074a9c05f35..a1aa2db0f09 100644 --- a/Mage.Sets/src/mage/cards/v/VadersCommand.java +++ b/Mage.Sets/src/mage/cards/v/VadersCommand.java @@ -45,20 +45,17 @@ public final class VadersCommand extends CardImpl { this.getSpellAbility().addTarget(new TargetSpell()); // Destroy target planeswalker. - Mode mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + Mode mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetPermanent(filterPlaneswalker)); this.getSpellAbility().addMode(mode); // Destroy target nonartifact creature. - mode = new Mode(); - mode.addEffect(new DestroyTargetEffect()); + mode = new Mode(new DestroyTargetEffect()); mode.addTarget(new TargetCreaturePermanent(filterNonArtifact)); this.getSpellAbility().addMode(mode); // Gain 5 life. - mode = new Mode(); - mode.addEffect(new GainLifeEffect(5).setText("Gain 5 life")); + mode = new Mode(new GainLifeEffect(5).setText("Gain 5 life")); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/v/ValorousStance.java b/Mage.Sets/src/mage/cards/v/ValorousStance.java index 2a5aeabcf16..12db80dab56 100644 --- a/Mage.Sets/src/mage/cards/v/ValorousStance.java +++ b/Mage.Sets/src/mage/cards/v/ValorousStance.java @@ -35,8 +35,7 @@ public final class ValorousStance extends CardImpl { this.getSpellAbility().addEffect(new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn)); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // or destroy target creature with toughness 4 or greater. - Mode mode1 = new Mode(); - mode1.addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(new DestroyTargetEffect()); mode1.addTarget(new TargetCreaturePermanent(filter)); this.getSpellAbility().addMode(mode1); diff --git a/Mage.Sets/src/mage/cards/v/Vandalize.java b/Mage.Sets/src/mage/cards/v/Vandalize.java index d3d7615d37a..fcdd45d031e 100644 --- a/Mage.Sets/src/mage/cards/v/Vandalize.java +++ b/Mage.Sets/src/mage/cards/v/Vandalize.java @@ -25,8 +25,7 @@ public final class Vandalize extends CardImpl { this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); // Destroy target land - Mode mode1 = new Mode(); - mode1.addEffect(new DestroyTargetEffect()); + Mode mode1 = new Mode(new DestroyTargetEffect()); mode1.addTarget(new TargetLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); diff --git a/Mage.Sets/src/mage/cards/v/VerdantConfluence.java b/Mage.Sets/src/mage/cards/v/VerdantConfluence.java index 032bc14ef50..7cb9519ed2d 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantConfluence.java +++ b/Mage.Sets/src/mage/cards/v/VerdantConfluence.java @@ -36,15 +36,13 @@ public final class VerdantConfluence extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent()); // Return target permanent card from your graveyard to your hand; - Mode mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + Mode mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(new FilterPermanentCard())); this.getSpellAbility().getModes().addMode(mode); // Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. TargetCardInLibrary target = new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND); - mode = new Mode(); - mode.addEffect(new SearchLibraryPutInPlayEffect(target, true)); + mode = new Mode(new SearchLibraryPutInPlayEffect(target, true)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java b/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java index e81cac28413..58157a7a24b 100644 --- a/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java +++ b/Mage.Sets/src/mage/cards/v/VeryCrypticCommandD.java @@ -54,22 +54,19 @@ public final class VeryCrypticCommandD extends CardImpl { this.getSpellAbility().addTarget(new TargetPermanent()); // Draw two cards, then discard a card. - Mode mode = new Mode(); - mode.addEffect(new DrawCardSourceControllerEffect(2)); + Mode mode = new Mode(new DrawCardSourceControllerEffect(2)); Effect effect = new DiscardControllerEffect(1); effect.setText(", then discard a card"); mode.addEffect(effect); this.getSpellAbility().getModes().addMode(mode); // Change the target of target spell with a single target. - mode = new Mode(); - mode.addEffect(new ChooseNewTargetsTargetEffect(true, true)); + mode = new Mode(new ChooseNewTargetsTargetEffect(true, true)); mode.addTarget(new TargetStackObject(filter)); this.getSpellAbility().getModes().addMode(mode); // Turn over target nontoken creature. - mode = new Mode(); - mode.addEffect(new TurnOverEffect()); + mode = new Mode(new TurnOverEffect()); mode.addTarget(new TargetCreaturePermanent(filter2)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/v/VindictiveLich.java b/Mage.Sets/src/mage/cards/v/VindictiveLich.java index 23608e37504..9ec09cfb4ca 100644 --- a/Mage.Sets/src/mage/cards/v/VindictiveLich.java +++ b/Mage.Sets/src/mage/cards/v/VindictiveLich.java @@ -46,8 +46,7 @@ public final class VindictiveLich extends CardImpl { ability.addTarget(target); // * Target opponent discards two cards. - Mode mode = new Mode(); - mode.addEffect(new DiscardTargetEffect(2, false)); + Mode mode = new Mode(new DiscardTargetEffect(2, false)); filter = new FilterOpponent(); filter.add(new AnotherTargetPredicate(2, true)); target = new TargetOpponent(filter, false); @@ -56,8 +55,7 @@ public final class VindictiveLich extends CardImpl { ability.addMode(mode); // * Target opponent loses 5 life. - mode = new Mode(); - mode.addEffect(new LoseLifeTargetEffect(5)); + mode = new Mode(new LoseLifeTargetEffect(5)); filter = new FilterOpponent(); filter.add(new AnotherTargetPredicate(3, true)); target = new TargetOpponent(filter, false); diff --git a/Mage.Sets/src/mage/cards/v/VitalityCharm.java b/Mage.Sets/src/mage/cards/v/VitalityCharm.java index 4865a5e56d4..c24d8bb58a0 100644 --- a/Mage.Sets/src/mage/cards/v/VitalityCharm.java +++ b/Mage.Sets/src/mage/cards/v/VitalityCharm.java @@ -37,18 +37,16 @@ public final class VitalityCharm extends CardImpl { // Choose one - Create a 1/1 green Insect creature token this.getSpellAbility().addEffect(new CreateTokenEffect(new InsectToken())); // or target creature gets +1/+1 and gains trample until end of turn - Mode mode = new Mode(); Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn); effect.setText("target creature gets +1/+1"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gains trample until end of turn"); mode.addEffect(effect); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addMode(mode); // or regenerate target Beast. - mode = new Mode(); - mode.addEffect(new RegenerateTargetEffect()); + mode = new Mode(new RegenerateTargetEffect()); mode.addTarget(new TargetPermanent(filter)); this.getSpellAbility().addMode(mode); } diff --git a/Mage.Sets/src/mage/cards/w/WailOfTheNim.java b/Mage.Sets/src/mage/cards/w/WailOfTheNim.java index 9cf86705570..9fab248aff3 100644 --- a/Mage.Sets/src/mage/cards/w/WailOfTheNim.java +++ b/Mage.Sets/src/mage/cards/w/WailOfTheNim.java @@ -24,8 +24,7 @@ public final class WailOfTheNim extends CardImpl { this.getSpellAbility().addEffect(new RegenerateAllEffect(new FilterControlledCreaturePermanent())); // or Wail of the Nim deals 1 damage to each creature and each player. - Mode mode = new Mode(); - mode.addEffect(new DamageEverythingEffect(1)); + Mode mode = new Mode(new DamageEverythingEffect(1)); this.getSpellAbility().getModes().addMode(mode); // Entwine {B} diff --git a/Mage.Sets/src/mage/cards/w/WarpingWail.java b/Mage.Sets/src/mage/cards/w/WarpingWail.java index 669257bc7e2..c11b0014321 100644 --- a/Mage.Sets/src/mage/cards/w/WarpingWail.java +++ b/Mage.Sets/src/mage/cards/w/WarpingWail.java @@ -46,17 +46,14 @@ public final class WarpingWail extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterCreature)); // Counter target sorcery spell. - Mode mode = new Mode(); - mode.addEffect(new CounterTargetEffect()); + Mode mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell(filterSorcery)); this.getSpellAbility().addMode(mode); // Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." - mode = new Mode(); effect = new CreateTokenEffect(new EldraziScionToken()); effect.setText("Create a 1/1 colorless Eldrazi Scion creature token. It has \"Sacrifice this creature: Add {C}.\""); - mode.addEffect(effect); - this.getSpellAbility().addMode(mode); + this.getSpellAbility().addMode(new Mode(effect)); } private WarpingWail(final WarpingWail card) { diff --git a/Mage.Sets/src/mage/cards/w/Winterflame.java b/Mage.Sets/src/mage/cards/w/Winterflame.java index 753bab5129b..5af29441f3a 100644 --- a/Mage.Sets/src/mage/cards/w/Winterflame.java +++ b/Mage.Sets/src/mage/cards/w/Winterflame.java @@ -26,8 +26,7 @@ public final class Winterflame extends CardImpl { this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("tap")); // * Winterflame deals 2 damage to target creature - Mode mode = new Mode(); - mode.addEffect(new DamageTargetEffect(2)); + Mode mode = new Mode(new DamageTargetEffect(2)); mode.addTarget(new TargetCreaturePermanent().withChooseHint("deals 2 damage to")); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/w/WisdomOfTheJedi.java b/Mage.Sets/src/mage/cards/w/WisdomOfTheJedi.java index d764e71ed49..396f213fbf0 100644 --- a/Mage.Sets/src/mage/cards/w/WisdomOfTheJedi.java +++ b/Mage.Sets/src/mage/cards/w/WisdomOfTheJedi.java @@ -37,10 +37,9 @@ public final class WisdomOfTheJedi extends CardImpl { this.getSpellAbility().addEffect(new PreventAllDamageToPlayersEffect(Duration.EndOfTurn, false)); // Target creature you control gets +1/+1 and protection from the color of your choice until end of turn. - Mode mode = new Mode(); Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn); effect.setText("Target creature you control gets +1/+1"); - mode.addEffect(effect); + Mode mode = new Mode(effect); effect = new GainProtectionFromColorTargetEffect(Duration.EndOfTurn); effect.setText("and protection from the color of your choice until end of turn"); mode.addEffect(effect); @@ -48,8 +47,7 @@ public final class WisdomOfTheJedi extends CardImpl { this.getSpellAbility().addMode(mode); // Counter target spell with converted mana cost of 3 or less. - mode = new Mode(); - mode.addEffect(new CounterTargetEffect()); + mode = new Mode(new CounterTargetEffect()); mode.addTarget(new TargetSpell(filterSpell)); this.getSpellAbility().addMode(mode); diff --git a/Mage.Sets/src/mage/cards/w/WretchedConfluence.java b/Mage.Sets/src/mage/cards/w/WretchedConfluence.java index fd200706646..68572eef2e3 100644 --- a/Mage.Sets/src/mage/cards/w/WretchedConfluence.java +++ b/Mage.Sets/src/mage/cards/w/WretchedConfluence.java @@ -39,14 +39,12 @@ public final class WretchedConfluence extends CardImpl { this.getSpellAbility().addTarget(new TargetPlayer()); // Target creature gets -2/-2 until end of turn; - Mode mode = new Mode(); - mode.addEffect(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); + Mode mode = new Mode(new BoostTargetEffect(-2, -2, Duration.EndOfTurn)); mode.addTarget(new TargetCreaturePermanent()); this.getSpellAbility().getModes().addMode(mode); // Return target creature card from your graveyard to your hand. - mode = new Mode(); - mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); + mode = new Mode(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.getSpellAbility().getModes().addMode(mode); } diff --git a/Mage/src/main/java/mage/abilities/Mode.java b/Mage/src/main/java/mage/abilities/Mode.java index fd821ec118e..ee58eea1859 100644 --- a/Mage/src/main/java/mage/abilities/Mode.java +++ b/Mage/src/main/java/mage/abilities/Mode.java @@ -18,10 +18,6 @@ public class Mode implements Serializable { protected final Effects effects; protected String flavorWord; - public Mode() { - this((Effect) null); - } - public Mode(Effect effect) { this.id = UUID.randomUUID(); this.targets = new Targets(); diff --git a/Mage/src/main/java/mage/abilities/Modes.java b/Mage/src/main/java/mage/abilities/Modes.java index fc34a14567b..f43aecc9159 100644 --- a/Mage/src/main/java/mage/abilities/Modes.java +++ b/Mage/src/main/java/mage/abilities/Modes.java @@ -2,6 +2,7 @@ package mage.abilities; import mage.abilities.condition.Condition; import mage.abilities.costs.OptionalAdditionalModeSourceCosts; +import mage.abilities.effects.Effect; import mage.cards.Card; import mage.constants.Outcome; import mage.constants.TargetController; @@ -42,7 +43,7 @@ public class Modes extends LinkedHashMap { private boolean mayChooseNone = false; public Modes() { - this.currentMode = new Mode(); + this.currentMode = new Mode((Effect) null); this.put(currentMode.getId(), currentMode); this.minModes = 1; this.maxModes = 1;