From 4806626ba0ca78d4f582518a3df5c6b5ec070e0e Mon Sep 17 00:00:00 2001
From: DeepCrimson <98864333+DeepCrimson@users.noreply.github.com>
Date: Thu, 16 Jun 2022 12:06:35 -0700
Subject: [PATCH] Refactor: Fix raw use of parameterized class ManaCostsImpl -
'S' cards (#9084)
---
Mage.Sets/src/mage/cards/s/SaberclawGolem.java | 2 +-
Mage.Sets/src/mage/cards/s/SabertoothCobra.java | 2 +-
Mage.Sets/src/mage/cards/s/SacellumArchers.java | 2 +-
Mage.Sets/src/mage/cards/s/SacredCat.java | 2 +-
Mage.Sets/src/mage/cards/s/SacredGuide.java | 2 +-
Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java | 2 +-
Mage.Sets/src/mage/cards/s/SadisticObsession.java | 2 +-
Mage.Sets/src/mage/cards/s/SafeHaven.java | 2 +-
Mage.Sets/src/mage/cards/s/Safeguard.java | 2 +-
Mage.Sets/src/mage/cards/s/SafeholdSentry.java | 2 +-
Mage.Sets/src/mage/cards/s/SageEyeHarrier.java | 2 +-
Mage.Sets/src/mage/cards/s/SaguArcher.java | 2 +-
Mage.Sets/src/mage/cards/s/SaguMauler.java | 2 +-
Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java | 2 +-
Mage.Sets/src/mage/cards/s/Sailmonger.java | 2 +-
Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java | 2 +-
Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java | 2 +-
Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java | 2 +-
Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java | 2 +-
Mage.Sets/src/mage/cards/s/SamiteAlchemist.java | 2 +-
Mage.Sets/src/mage/cards/s/SamiteCenserBearer.java | 2 +-
Mage.Sets/src/mage/cards/s/SamiteSanctuary.java | 2 +-
Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java | 2 +-
Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java | 2 +-
Mage.Sets/src/mage/cards/s/SanctuarySmasher.java | 2 +-
Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java | 4 ++--
Mage.Sets/src/mage/cards/s/SandalsOfAbdallah.java | 2 +-
Mage.Sets/src/mage/cards/s/SandbarMerfolk.java | 2 +-
Mage.Sets/src/mage/cards/s/SandbarSerpent.java | 2 +-
Mage.Sets/src/mage/cards/s/SandstormCharger.java | 2 +-
Mage.Sets/src/mage/cards/s/SandstormEidolon.java | 2 +-
Mage.Sets/src/mage/cards/s/SanguineGuard.java | 2 +-
Mage.Sets/src/mage/cards/s/SanguinePraetor.java | 2 +-
Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java | 2 +-
Mage.Sets/src/mage/cards/s/SapphireLeech.java | 2 +-
Mage.Sets/src/mage/cards/s/SaprazzanBreaker.java | 2 +-
Mage.Sets/src/mage/cards/s/SaprolingSymbiosis.java | 2 +-
Mage.Sets/src/mage/cards/s/SapseepForest.java | 2 +-
Mage.Sets/src/mage/cards/s/SarpadianEmpiresVolVII.java | 2 +-
Mage.Sets/src/mage/cards/s/SatyrHedonist.java | 2 +-
Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java | 2 +-
Mage.Sets/src/mage/cards/s/SatyrPiper.java | 2 +-
Mage.Sets/src/mage/cards/s/SavaenElves.java | 2 +-
Mage.Sets/src/mage/cards/s/SavageGorilla.java | 2 +-
Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java | 6 +++---
Mage.Sets/src/mage/cards/s/SavagebornHydra.java | 2 +-
Mage.Sets/src/mage/cards/s/SavaiCrystal.java | 2 +-
Mage.Sets/src/mage/cards/s/ScaldingDevil.java | 2 +-
Mage.Sets/src/mage/cards/s/Scaldkin.java | 2 +-
Mage.Sets/src/mage/cards/s/ScaleUp.java | 2 +-
Mage.Sets/src/mage/cards/s/Scandalmonger.java | 2 +-
Mage.Sets/src/mage/cards/s/ScarabFeast.java | 2 +-
Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java | 2 +-
Mage.Sets/src/mage/cards/s/ScarwoodBandits.java | 2 +-
Mage.Sets/src/mage/cards/s/ScarwoodHag.java | 2 +-
Mage.Sets/src/mage/cards/s/ScatteredGroves.java | 2 +-
Mage.Sets/src/mage/cards/s/ScavengerFolk.java | 2 +-
Mage.Sets/src/mage/cards/s/ScavengerGrounds.java | 2 +-
Mage.Sets/src/mage/cards/s/ScavengingOoze.java | 2 +-
Mage.Sets/src/mage/cards/s/ScepterOfDominance.java | 2 +-
Mage.Sets/src/mage/cards/s/ScepterOfFugue.java | 2 +-
Mage.Sets/src/mage/cards/s/ScepterOfInsight.java | 2 +-
Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java | 2 +-
Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java | 2 +-
Mage.Sets/src/mage/cards/s/ScionOfDarkness.java | 2 +-
Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java | 2 +-
Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java | 2 +-
Mage.Sets/src/mage/cards/s/ScorchingMissile.java | 2 +-
Mage.Sets/src/mage/cards/s/ScornfulEgotist.java | 2 +-
Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java | 2 +-
Mage.Sets/src/mage/cards/s/ScourgeDevil.java | 2 +-
Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java | 4 ++--
Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java | 2 +-
Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java | 2 +-
Mage.Sets/src/mage/cards/s/Scrap.java | 2 +-
Mage.Sets/src/mage/cards/s/Scrapbasket.java | 2 +-
Mage.Sets/src/mage/cards/s/ScreamsOfTheDamned.java | 2 +-
Mage.Sets/src/mage/cards/s/ScreechingGriffin.java | 2 +-
Mage.Sets/src/mage/cards/s/ScreechingHarpy.java | 2 +-
Mage.Sets/src/mage/cards/s/ScreechingPhoenix.java | 2 +-
Mage.Sets/src/mage/cards/s/ScrollOfFate.java | 2 +-
Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java | 2 +-
Mage.Sets/src/mage/cards/s/ScryingGlass.java | 2 +-
Mage.Sets/src/mage/cards/s/SeaGateWreckage.java | 2 +-
Mage.Sets/src/mage/cards/s/SeaSpirit.java | 2 +-
Mage.Sets/src/mage/cards/s/SeaTroll.java | 2 +-
Mage.Sets/src/mage/cards/s/SearchForTomorrow.java | 2 +-
Mage.Sets/src/mage/cards/s/SearchlightGeist.java | 2 +-
Mage.Sets/src/mage/cards/s/SearingSpearAskari.java | 2 +-
Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java | 2 +-
Mage.Sets/src/mage/cards/s/SeasonedTactician.java | 2 +-
Mage.Sets/src/mage/cards/s/SecludedSteppe.java | 2 +-
Mage.Sets/src/mage/cards/s/SecurityDetail.java | 2 +-
Mage.Sets/src/mage/cards/s/SedgeSliver.java | 2 +-
Mage.Sets/src/mage/cards/s/SedgeTroll.java | 2 +-
Mage.Sets/src/mage/cards/s/SedraxisSpecter.java | 2 +-
Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java | 2 +-
Mage.Sets/src/mage/cards/s/SeedcradleWitch.java | 2 +-
Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java | 2 +-
Mage.Sets/src/mage/cards/s/SeersSundial.java | 2 +-
Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java | 2 +-
Mage.Sets/src/mage/cards/s/SeismicMage.java | 2 +-
Mage.Sets/src/mage/cards/s/SeizeTheDay.java | 2 +-
Mage.Sets/src/mage/cards/s/Seizures.java | 2 +-
Mage.Sets/src/mage/cards/s/SelesnyaCluestone.java | 2 +-
Mage.Sets/src/mage/cards/s/SelesnyaEulogist.java | 2 +-
Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java | 2 +-
Mage.Sets/src/mage/cards/s/SelesnyaLocket.java | 2 +-
Mage.Sets/src/mage/cards/s/SelesnyaSentry.java | 2 +-
Mage.Sets/src/mage/cards/s/SelflessCathar.java | 2 +-
Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java | 2 +-
Mage.Sets/src/mage/cards/s/SenateCourier.java | 2 +-
Mage.Sets/src/mage/cards/s/SenateGuildmage.java | 2 +-
Mage.Sets/src/mage/cards/s/SengirNosferatu.java | 2 +-
Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java | 2 +-
Mage.Sets/src/mage/cards/s/SenselessRage.java | 2 +-
Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java | 2 +-
Mage.Sets/src/mage/cards/s/SepharaSkysBlade.java | 2 +-
Mage.Sets/src/mage/cards/s/SeraphOfTheScales.java | 4 ++--
Mage.Sets/src/mage/cards/s/SereneSteward.java | 2 +-
Mage.Sets/src/mage/cards/s/SerpentGenerator.java | 2 +-
Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java | 2 +-
Mage.Sets/src/mage/cards/s/SerpentineKavu.java | 2 +-
Mage.Sets/src/mage/cards/s/SerraBestiary.java | 2 +-
Mage.Sets/src/mage/cards/s/SerraPaladin.java | 2 +-
Mage.Sets/src/mage/cards/s/SerrasLiturgy.java | 2 +-
Mage.Sets/src/mage/cards/s/ServantOfTymaret.java | 2 +-
Mage.Sets/src/mage/cards/s/SetessanGriffin.java | 2 +-
Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java | 2 +-
Mage.Sets/src/mage/cards/s/SeverTheBloodline.java | 2 +-
Mage.Sets/src/mage/cards/s/SevinnesReclamation.java | 2 +-
Mage.Sets/src/mage/cards/s/SewerRats.java | 2 +-
Mage.Sets/src/mage/cards/s/SewerShambler.java | 2 +-
Mage.Sets/src/mage/cards/s/ShabrazTheSkyshark.java | 2 +-
Mage.Sets/src/mage/cards/s/Shackles.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadesBreath.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadowGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/ShadowLance.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadowbloodEgg.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadowbloodRidge.java | 2 +-
Mage.Sets/src/mage/cards/s/ShadowbornApostle.java | 2 +-
Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java | 2 +-
Mage.Sets/src/mage/cards/s/ShaleskinPlower.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamanEnKor.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamblingRemains.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamblingStrider.java | 2 +-
Mage.Sets/src/mage/cards/s/ShamblingVent.java | 2 +-
Mage.Sets/src/mage/cards/s/ShaperGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/ShaperParasite.java | 2 +-
Mage.Sets/src/mage/cards/s/ShapersOfNature.java | 4 ++--
Mage.Sets/src/mage/cards/s/Shapesharer.java | 2 +-
Mage.Sets/src/mage/cards/s/ShardPhoenix.java | 2 +-
Mage.Sets/src/mage/cards/s/SharkTyphoon.java | 2 +-
Mage.Sets/src/mage/cards/s/ShatteredPerception.java | 2 +-
Mage.Sets/src/mage/cards/s/ShattergangBrothers.java | 6 +++---
Mage.Sets/src/mage/cards/s/ShaukusMinion.java | 2 +-
Mage.Sets/src/mage/cards/s/ShefetDunes.java | 2 +-
Mage.Sets/src/mage/cards/s/ShefetMonitor.java | 2 +-
Mage.Sets/src/mage/cards/s/ShelldockIsle.java | 2 +-
Mage.Sets/src/mage/cards/s/ShelteredThicket.java | 2 +-
Mage.Sets/src/mage/cards/s/ShieldDancer.java | 2 +-
Mage.Sets/src/mage/cards/s/ShieldhideDragon.java | 2 +-
Mage.Sets/src/mage/cards/s/ShiftingCeratops.java | 2 +-
Mage.Sets/src/mage/cards/s/ShimianNightStalker.java | 2 +-
Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java | 2 +-
Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java | 2 +-
Mage.Sets/src/mage/cards/s/ShipwreckSinger.java | 4 ++--
Mage.Sets/src/mage/cards/s/ShivanGorge.java | 2 +-
Mage.Sets/src/mage/cards/s/ShivanHarvest.java | 2 +-
Mage.Sets/src/mage/cards/s/ShivanHellkite.java | 2 +-
Mage.Sets/src/mage/cards/s/ShivanMeteor.java | 2 +-
Mage.Sets/src/mage/cards/s/ShivanSandMage.java | 2 +-
Mage.Sets/src/mage/cards/s/ShivsEmbrace.java | 2 +-
Mage.Sets/src/mage/cards/s/ShoreKeeper.java | 2 +-
Mage.Sets/src/mage/cards/s/ShoreSnapper.java | 2 +-
Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java | 6 +++---
Mage.Sets/src/mage/cards/s/ShorelineRanger.java | 2 +-
Mage.Sets/src/mage/cards/s/ShreddedSails.java | 2 +-
Mage.Sets/src/mage/cards/s/ShroudedLore.java | 2 +-
Mage.Sets/src/mage/cards/s/ShroudedSerpent.java | 2 +-
Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java | 2 +-
Mage.Sets/src/mage/cards/s/Sicken.java | 2 +-
Mage.Sets/src/mage/cards/s/SiegeGangCommander.java | 2 +-
Mage.Sets/src/mage/cards/s/SiegebreakerGiant.java | 2 +-
Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java | 2 +-
Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java | 2 +-
Mage.Sets/src/mage/cards/s/SigilOfTheNewDawn.java | 2 +-
Mage.Sets/src/mage/cards/s/SigilTracer.java | 2 +-
Mage.Sets/src/mage/cards/s/SilentAssassin.java | 2 +-
Mage.Sets/src/mage/cards/s/SilentDeparture.java | 2 +-
Mage.Sets/src/mage/cards/s/SilentSpecter.java | 2 +-
Mage.Sets/src/mage/cards/s/SilkbindFaerie.java | 2 +-
Mage.Sets/src/mage/cards/s/SilklashSpider.java | 2 +-
Mage.Sets/src/mage/cards/s/SilkwingScout.java | 2 +-
Mage.Sets/src/mage/cards/s/SilumgarAssassin.java | 2 +-
Mage.Sets/src/mage/cards/s/SilumgarMonument.java | 2 +-
Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java | 2 +-
Mage.Sets/src/mage/cards/s/SilverWyvern.java | 2 +-
Mage.Sets/src/mage/cards/s/SilverchaseFox.java | 2 +-
Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java | 2 +-
Mage.Sets/src/mage/cards/s/SilversmoteGhoul.java | 2 +-
Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicAscendancy.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicBasilisk.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicCluestone.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicFluxmage.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/SimicKeyrune.java | 2 +-
Mage.Sets/src/mage/cards/s/SimicRagworm.java | 2 +-
Mage.Sets/src/mage/cards/s/SinisterConcoction.java | 2 +-
Mage.Sets/src/mage/cards/s/SinkingFeeling.java | 2 +-
Mage.Sets/src/mage/cards/s/SirenStormtamer.java | 2 +-
.../src/mage/cards/s/SisayWeatherlightCaptain.java | 2 +-
Mage.Sets/src/mage/cards/s/SisaysIngenuity.java | 2 +-
Mage.Sets/src/mage/cards/s/SithEvoker.java | 2 +-
Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/SkarrgTheRagePits.java | 2 +-
Mage.Sets/src/mage/cards/s/SkarrganFirebird.java | 2 +-
Mage.Sets/src/mage/cards/s/SkarrganHellkite.java | 2 +-
Mage.Sets/src/mage/cards/s/SkeletalChangeling.java | 2 +-
Mage.Sets/src/mage/cards/s/SkeletalGrimace.java | 2 +-
Mage.Sets/src/mage/cards/s/SkeletalKathari.java | 2 +-
Mage.Sets/src/mage/cards/s/SkeletalVampire.java | 2 +-
Mage.Sets/src/mage/cards/s/SkeletalWurm.java | 2 +-
Mage.Sets/src/mage/cards/s/SkewerTheCritics.java | 2 +-
Mage.Sets/src/mage/cards/s/Skinthinner.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirkCommando.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirkMarauder.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirsdagCultist.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java | 2 +-
Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java | 2 +-
.../src/mage/cards/s/SkithiryxTheBlightDragon.java | 4 ++--
Mage.Sets/src/mage/cards/s/Skitterskin.java | 2 +-
Mage.Sets/src/mage/cards/s/SkittishValesk.java | 2 +-
Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java | 2 +-
Mage.Sets/src/mage/cards/s/SkullCollector.java | 2 +-
Mage.Sets/src/mage/cards/s/SkullFracture.java | 2 +-
Mage.Sets/src/mage/cards/s/SkullportMerchant.java | 2 +-
Mage.Sets/src/mage/cards/s/SkycatSovereign.java | 2 +-
Mage.Sets/src/mage/cards/s/SkycloudEgg.java | 2 +-
Mage.Sets/src/mage/cards/s/SkycloudExpanse.java | 2 +-
Mage.Sets/src/mage/cards/s/SkylineScout.java | 2 +-
Mage.Sets/src/mage/cards/s/SkyriderPatrol.java | 2 +-
Mage.Sets/src/mage/cards/s/Skyscribing.java | 2 +-
Mage.Sets/src/mage/cards/s/SkyshipStalker.java | 6 +++---
Mage.Sets/src/mage/cards/s/SkyshroudElf.java | 4 ++--
Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java | 2 +-
Mage.Sets/src/mage/cards/s/SkyshroudTroll.java | 2 +-
Mage.Sets/src/mage/cards/s/SkywatcherAdept.java | 2 +-
Mage.Sets/src/mage/cards/s/SkywaySniper.java | 2 +-
Mage.Sets/src/mage/cards/s/SkywiseTeachings.java | 2 +-
Mage.Sets/src/mage/cards/s/SlaughterPact.java | 2 +-
Mage.Sets/src/mage/cards/s/SlayersStronghold.java | 2 +-
Mage.Sets/src/mage/cards/s/SliceAndDice.java | 2 +-
Mage.Sets/src/mage/cards/s/SlimefootTheStowaway.java | 2 +-
Mage.Sets/src/mage/cards/s/SlingbowTrap.java | 2 +-
Mage.Sets/src/mage/cards/s/SlingshotGoblin.java | 2 +-
Mage.Sets/src/mage/cards/s/SlinkingSkirge.java | 2 +-
Mage.Sets/src/mage/cards/s/SlipperyKarst.java | 2 +-
Mage.Sets/src/mage/cards/s/SlipstreamEel.java | 2 +-
Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java | 2 +-
Mage.Sets/src/mage/cards/s/SliptideSerpent.java | 2 +-
Mage.Sets/src/mage/cards/s/SlithBloodletter.java | 2 +-
Mage.Sets/src/mage/cards/s/Slitherhead.java | 2 +-
Mage.Sets/src/mage/cards/s/SlitheringShade.java | 2 +-
Mage.Sets/src/mage/cards/s/SliverOverlord.java | 4 ++--
Mage.Sets/src/mage/cards/s/SliverQueen.java | 2 +-
Mage.Sets/src/mage/cards/s/Sliversmith.java | 2 +-
Mage.Sets/src/mage/cards/s/SluicewayScorpion.java | 2 +-
Mage.Sets/src/mage/cards/s/SlumberingTora.java | 2 +-
Mage.Sets/src/mage/cards/s/SmeltWardIgnus.java | 2 +-
Mage.Sets/src/mage/cards/s/SmitingHelix.java | 2 +-
Mage.Sets/src/mage/cards/s/SmokeTeller.java | 2 +-
Mage.Sets/src/mage/cards/s/SmokespewInvoker.java | 2 +-
Mage.Sets/src/mage/cards/s/SmolderInitiate.java | 2 +-
Mage.Sets/src/mage/cards/s/SmolderingCrater.java | 2 +-
Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java | 2 +-
Mage.Sets/src/mage/cards/s/SnakeBasket.java | 2 +-
Mage.Sets/src/mage/cards/s/SnappingThragg.java | 2 +-
Mage.Sets/src/mage/cards/s/SnarlingUndorak.java | 4 ++--
Mage.Sets/src/mage/cards/s/SneakAttack.java | 2 +-
Mage.Sets/src/mage/cards/s/SnowHound.java | 2 +-
Mage.Sets/src/mage/cards/s/SnowhornRider.java | 2 +-
Mage.Sets/src/mage/cards/s/SoaringHope.java | 2 +-
Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java | 2 +-
Mage.Sets/src/mage/cards/s/SolarBlast.java | 2 +-
Mage.Sets/src/mage/cards/s/SoldeviDigger.java | 2 +-
Mage.Sets/src/mage/cards/s/SoldeviHeretic.java | 2 +-
Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoldierOfFortune.java | 2 +-
Mage.Sets/src/mage/cards/s/SoldierReplica.java | 2 +-
Mage.Sets/src/mage/cards/s/Soliton.java | 2 +-
Mage.Sets/src/mage/cards/s/SoltariCrusader.java | 2 +-
Mage.Sets/src/mage/cards/s/SoltariEmissary.java | 2 +-
Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java | 2 +-
Mage.Sets/src/mage/cards/s/Songstitcher.java | 2 +-
Mage.Sets/src/mage/cards/s/SootfeatherFlock.java | 2 +-
Mage.Sets/src/mage/cards/s/SoothsayerAdept.java | 2 +-
Mage.Sets/src/mage/cards/s/SophicCentaur.java | 2 +-
Mage.Sets/src/mage/cards/s/SoratamiCloudChariot.java | 2 +-
Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java | 2 +-
Mage.Sets/src/mage/cards/s/SorayaTheFalconer.java | 2 +-
Mage.Sets/src/mage/cards/s/SorcererOfTheFang.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulCharmer.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulCollector.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulFoundry.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulKiss.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoulOfRavnica.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoulOfShandalar.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoulOfTheros.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoulOfZendikar.java | 4 ++--
Mage.Sets/src/mage/cards/s/SoulSculptor.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulSeparator.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulShepherd.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulSnare.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulreaperOfMogis.java | 2 +-
Mage.Sets/src/mage/cards/s/SoulswornJury.java | 2 +-
Mage.Sets/src/mage/cards/s/SouthernPaladin.java | 2 +-
Mage.Sets/src/mage/cards/s/SparkSpray.java | 2 +-
Mage.Sets/src/mage/cards/s/Sparkspitter.java | 2 +-
Mage.Sets/src/mage/cards/s/SparktongueDragon.java | 2 +-
Mage.Sets/src/mage/cards/s/SparringCollar.java | 2 +-
Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java | 2 +-
Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java | 2 +-
Mage.Sets/src/mage/cards/s/SpawningBed.java | 2 +-
Mage.Sets/src/mage/cards/s/SpawningPool.java | 2 +-
Mage.Sets/src/mage/cards/s/SpearOfHeliod.java | 2 +-
Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java | 2 +-
Mage.Sets/src/mage/cards/s/SpecterOfTheFens.java | 2 +-
Mage.Sets/src/mage/cards/s/SpectralLynx.java | 2 +-
Mage.Sets/src/mage/cards/s/SpectralSailor.java | 2 +-
Mage.Sets/src/mage/cards/s/SpectralSliver.java | 2 +-
Mage.Sets/src/mage/cards/s/SpectralSteel.java | 2 +-
Mage.Sets/src/mage/cards/s/SpellSnip.java | 2 +-
Mage.Sets/src/mage/cards/s/Spellskite.java | 2 +-
Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiderSpawning.java | 2 +-
Mage.Sets/src/mage/cards/s/SpikeSoldier.java | 2 +-
Mage.Sets/src/mage/cards/s/SpikeWorker.java | 2 +-
Mage.Sets/src/mage/cards/s/SpikeshotElder.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiketailDrake.java | 2 +-
Mage.Sets/src/mage/cards/s/SpikewheelAcrobat.java | 2 +-
Mage.Sets/src/mage/cards/s/SpindriftDrake.java | 2 +-
Mage.Sets/src/mage/cards/s/SpinedBasher.java | 2 +-
Mage.Sets/src/mage/cards/s/SpinerockKnoll.java | 2 +-
Mage.Sets/src/mage/cards/s/SpinyStarfish.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiritBonds.java | 4 ++--
Mage.Sets/src/mage/cards/s/SpiritCairn.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiritEnDal.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiritShield.java | 2 +-
Mage.Sets/src/mage/cards/s/Spiritmonger.java | 4 ++--
Mage.Sets/src/mage/cards/s/SpitFlame.java | 2 +-
Mage.Sets/src/mage/cards/s/SpiteflameWitch.java | 2 +-
Mage.Sets/src/mage/cards/s/SpitfireBastion.java | 2 +-
Mage.Sets/src/mage/cards/s/SpittingDrake.java | 2 +-
Mage.Sets/src/mage/cards/s/SpittingGourna.java | 2 +-
Mage.Sets/src/mage/cards/s/SpittingHydra.java | 2 +-
Mage.Sets/src/mage/cards/s/SpittingSlug.java | 2 +-
Mage.Sets/src/mage/cards/s/SplendorMare.java | 2 +-
Mage.Sets/src/mage/cards/s/SplinteringWind.java | 2 +-
Mage.Sets/src/mage/cards/s/SporebackTroll.java | 2 +-
Mage.Sets/src/mage/cards/s/SpringjackPasture.java | 2 +-
Mage.Sets/src/mage/cards/s/SquallDrifter.java | 2 +-
Mage.Sets/src/mage/cards/s/Squallmonger.java | 2 +-
Mage.Sets/src/mage/cards/s/SquealingDevil.java | 2 +-
Mage.Sets/src/mage/cards/s/SquirrelWrangler.java | 4 ++--
Mage.Sets/src/mage/cards/s/StaffOfDomination.java | 10 +++++-----
Mage.Sets/src/mage/cards/s/StaffOfZegon.java | 2 +-
Mage.Sets/src/mage/cards/s/StalkingAssassin.java | 4 ++--
Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java | 2 +-
Mage.Sets/src/mage/cards/s/StalkingDrone.java | 2 +-
Mage.Sets/src/mage/cards/s/StalkingYeti.java | 2 +-
Mage.Sets/src/mage/cards/s/StampedeDriver.java | 2 +-
Mage.Sets/src/mage/cards/s/StarDestroyer.java | 6 +++---
Mage.Sets/src/mage/cards/s/StarlightInvoker.java | 2 +-
Mage.Sets/src/mage/cards/s/Starstorm.java | 2 +-
Mage.Sets/src/mage/cards/s/StartlingDevelopment.java | 2 +-
Mage.Sets/src/mage/cards/s/Stasis.java | 2 +-
Mage.Sets/src/mage/cards/s/StasisCell.java | 2 +-
Mage.Sets/src/mage/cards/s/SteadfastSentinel.java | 2 +-
Mage.Sets/src/mage/cards/s/SteamSpitter.java | 2 +-
Mage.Sets/src/mage/cards/s/SteelHellkite.java | 2 +-
Mage.Sets/src/mage/cards/s/SteelbaneHydra.java | 2 +-
Mage.Sets/src/mage/cards/s/SteelingStance.java | 2 +-
Mage.Sets/src/mage/cards/s/SteepleCreeper.java | 2 +-
Mage.Sets/src/mage/cards/s/StenchOfEvil.java | 2 +-
Mage.Sets/src/mage/cards/s/StensiaBloodhall.java | 2 +-
Mage.Sets/src/mage/cards/s/StensiaMasquerade.java | 2 +-
Mage.Sets/src/mage/cards/s/SteppeGlider.java | 2 +-
Mage.Sets/src/mage/cards/s/StillLife.java | 2 +-
Mage.Sets/src/mage/cards/s/StillmoonCavalier.java | 6 +++---
Mage.Sets/src/mage/cards/s/StingingBarrier.java | 2 +-
Mage.Sets/src/mage/cards/s/StingingShot.java | 2 +-
Mage.Sets/src/mage/cards/s/Stingmoggie.java | 2 +-
Mage.Sets/src/mage/cards/s/StirTheSands.java | 2 +-
Mage.Sets/src/mage/cards/s/StirringAddress.java | 2 +-
Mage.Sets/src/mage/cards/s/StirringWildwood.java | 2 +-
Mage.Sets/src/mage/cards/s/StitcherGeralf.java | 2 +-
Mage.Sets/src/mage/cards/s/StitchersApprentice.java | 2 +-
Mage.Sets/src/mage/cards/s/StitchwingSkaab.java | 2 +-
Mage.Sets/src/mage/cards/s/StoneHavenMedic.java | 2 +-
Mage.Sets/src/mage/cards/s/StoneKavu.java | 4 ++--
Mage.Sets/src/mage/cards/s/StonefareCrocodile.java | 2 +-
Mage.Sets/src/mage/cards/s/StoneforgeMystic.java | 2 +-
Mage.Sets/src/mage/cards/s/StonehewerGiant.java | 2 +-
Mage.Sets/src/mage/cards/s/StonehornChanter.java | 2 +-
Mage.Sets/src/mage/cards/s/StonewiseFortifier.java | 2 +-
Mage.Sets/src/mage/cards/s/StonewoodInvoker.java | 2 +-
Mage.Sets/src/mage/cards/s/Stonewright.java | 2 +-
Mage.Sets/src/mage/cards/s/StonybrookAngler.java | 2 +-
Mage.Sets/src/mage/cards/s/StormElemental.java | 4 ++--
Mage.Sets/src/mage/cards/s/StormFront.java | 2 +-
Mage.Sets/src/mage/cards/s/StormShaman.java | 2 +-
Mage.Sets/src/mage/cards/s/Stormbind.java | 2 +-
Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java | 2 +-
Mage.Sets/src/mage/cards/s/StormchaserChimera.java | 2 +-
Mage.Sets/src/mage/cards/s/StormcloudDjinn.java | 2 +-
Mage.Sets/src/mage/cards/s/StormcragElemental.java | 2 +-
Mage.Sets/src/mage/cards/s/StormscaleAnarch.java | 2 +-
Mage.Sets/src/mage/cards/s/StormscapeApprentice.java | 4 ++--
Mage.Sets/src/mage/cards/s/StormscapeMaster.java | 4 ++--
Mage.Sets/src/mage/cards/s/StormwingDragon.java | 2 +-
Mage.Sets/src/mage/cards/s/StormwingEntity.java | 2 +-
Mage.Sets/src/mage/cards/s/StoryCircle.java | 2 +-
Mage.Sets/src/mage/cards/s/StrandsOfNight.java | 2 +-
Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java | 2 +-
Mage.Sets/src/mage/cards/s/StranglingSoot.java | 2 +-
Mage.Sets/src/mage/cards/s/StratusDancer.java | 2 +-
Mage.Sets/src/mage/cards/s/StreamHopper.java | 2 +-
Mage.Sets/src/mage/cards/s/StreetSpasm.java | 2 +-
Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java | 2 +-
Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java | 2 +-
Mage.Sets/src/mage/cards/s/StringOfDisappearances.java | 2 +-
Mage.Sets/src/mage/cards/s/StripedRiverwinder.java | 2 +-
Mage.Sets/src/mage/cards/s/StromgaldCrusader.java | 4 ++--
Mage.Sets/src/mage/cards/s/StromkirkOccultist.java | 2 +-
Mage.Sets/src/mage/cards/s/StrongholdBiologist.java | 2 +-
Mage.Sets/src/mage/cards/s/StrongholdMachinist.java | 2 +-
Mage.Sets/src/mage/cards/s/StrongholdOverseer.java | 2 +-
Mage.Sets/src/mage/cards/s/StudentOfWarfare.java | 2 +-
Mage.Sets/src/mage/cards/s/SturdyHatchling.java | 2 +-
.../src/mage/cards/s/SubiraTulzidiCaravanner.java | 2 +-
Mage.Sets/src/mage/cards/s/SultaiBanner.java | 2 +-
Mage.Sets/src/mage/cards/s/SummonersPact.java | 2 +-
Mage.Sets/src/mage/cards/s/SummoningTrap.java | 2 +-
Mage.Sets/src/mage/cards/s/SunCollaredRaptor.java | 2 +-
Mage.Sets/src/mage/cards/s/SunbladeElf.java | 2 +-
Mage.Sets/src/mage/cards/s/SunfireBalm.java | 2 +-
Mage.Sets/src/mage/cards/s/SunflareShaman.java | 2 +-
Mage.Sets/src/mage/cards/s/Sunforger.java | 2 +-
Mage.Sets/src/mage/cards/s/SungrassEgg.java | 2 +-
Mage.Sets/src/mage/cards/s/SungrassPrairie.java | 2 +-
Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java | 2 +-
.../src/mage/cards/s/SunhomeFortressOfTheLegion.java | 2 +-
Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/SunkenCity.java | 2 +-
Mage.Sets/src/mage/cards/s/SunkenField.java | 2 +-
Mage.Sets/src/mage/cards/s/SunkenRuins.java | 6 +++---
Mage.Sets/src/mage/cards/s/SunmanePegasus.java | 2 +-
Mage.Sets/src/mage/cards/s/SunsBounty.java | 2 +-
Mage.Sets/src/mage/cards/s/SunscapeApprentice.java | 4 ++--
Mage.Sets/src/mage/cards/s/SunscapeMaster.java | 4 ++--
Mage.Sets/src/mage/cards/s/Sunstone.java | 2 +-
Mage.Sets/src/mage/cards/s/SurgeMare.java | 2 +-
Mage.Sets/src/mage/cards/s/Surgespanner.java | 2 +-
Mage.Sets/src/mage/cards/s/SurvivorOfTheUnseen.java | 2 +-
Mage.Sets/src/mage/cards/s/SustainingSpirit.java | 2 +-
Mage.Sets/src/mage/cards/s/Sustenance.java | 2 +-
Mage.Sets/src/mage/cards/s/SutureSpirit.java | 2 +-
Mage.Sets/src/mage/cards/s/SvyelunitePriest.java | 2 +-
Mage.Sets/src/mage/cards/s/SwarmGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/Swat.java | 2 +-
Mage.Sets/src/mage/cards/s/SwellOfCourage.java | 2 +-
Mage.Sets/src/mage/cards/s/SwelteringSuns.java | 2 +-
Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java | 2 +-
Mage.Sets/src/mage/cards/s/SwoopingTalon.java | 2 +-
Mage.Sets/src/mage/cards/s/SwordDancer.java | 2 +-
Mage.Sets/src/mage/cards/s/SwordOfKaldra.java | 2 +-
Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java | 4 ++--
Mage.Sets/src/mage/cards/s/SyggRiverGuide.java | 2 +-
Mage.Sets/src/mage/cards/s/SylvanBounty.java | 2 +-
Mage.Sets/src/mage/cards/s/SylvanMight.java | 2 +-
Mage.Sets/src/mage/cards/s/SylvanReclamation.java | 2 +-
Mage.Sets/src/mage/cards/s/SylvokReplica.java | 2 +-
Mage.Sets/src/mage/cards/s/SymbioticDeployment.java | 2 +-
Mage.Sets/src/mage/cards/s/SyndicateGuildmage.java | 4 ++--
Mage.Sets/src/mage/cards/s/SynodArtificer.java | 4 ++--
Mage.Sets/src/mage/cards/s/SynodSanctum.java | 4 ++--
Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java | 2 +-
498 files changed, 553 insertions(+), 553 deletions(-)
diff --git a/Mage.Sets/src/mage/cards/s/SaberclawGolem.java b/Mage.Sets/src/mage/cards/s/SaberclawGolem.java
index 6f9f107e89..ac87263e67 100644
--- a/Mage.Sets/src/mage/cards/s/SaberclawGolem.java
+++ b/Mage.Sets/src/mage/cards/s/SaberclawGolem.java
@@ -26,7 +26,7 @@ public final class SaberclawGolem extends CardImpl {
this.subtype.add(SubType.GOLEM);
this.power = new MageInt(4);
this.toughness = new MageInt(2);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
public SaberclawGolem (final SaberclawGolem card) {
diff --git a/Mage.Sets/src/mage/cards/s/SabertoothCobra.java b/Mage.Sets/src/mage/cards/s/SabertoothCobra.java
index 669aee7f28..101d364d4b 100644
--- a/Mage.Sets/src/mage/cards/s/SabertoothCobra.java
+++ b/Mage.Sets/src/mage/cards/s/SabertoothCobra.java
@@ -33,7 +33,7 @@ public final class SabertoothCobra extends CardImpl {
Ability ability = new DealsDamageToAPlayerTriggeredAbility(effect, false, true);
effect = new AddPoisonCounterTargetEffect(1);
effect.setText("That player gets another poison counter.");
- ability.addEffect(new UnlessPaysDelayedEffect(new ManaCostsImpl("{2}"), effect, PhaseStep.UPKEEP, true,
+ ability.addEffect(new UnlessPaysDelayedEffect(new ManaCostsImpl<>("{2}"), effect, PhaseStep.UPKEEP, true,
"That player gets another poison counter at the beginning of their next upkeep unless they pay {2} before that turn."));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SacellumArchers.java b/Mage.Sets/src/mage/cards/s/SacellumArchers.java
index a56ce1bc0d..2d85929bf9 100644
--- a/Mage.Sets/src/mage/cards/s/SacellumArchers.java
+++ b/Mage.Sets/src/mage/cards/s/SacellumArchers.java
@@ -30,7 +30,7 @@ public final class SacellumArchers extends CardImpl {
this.toughness = new MageInt(3);
// {R}{W}, {tap}: Sacellum Archers deals 2 damage to target attacking or blocking creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAttackingOrBlockingCreature());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SacredCat.java b/Mage.Sets/src/mage/cards/s/SacredCat.java
index 3f6b181e7a..04492e025e 100644
--- a/Mage.Sets/src/mage/cards/s/SacredCat.java
+++ b/Mage.Sets/src/mage/cards/s/SacredCat.java
@@ -28,7 +28,7 @@ public final class SacredCat extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Embalm {W}
- this.addAbility(new EmbalmAbility(new ManaCostsImpl("{W}"), this));
+ this.addAbility(new EmbalmAbility(new ManaCostsImpl<>("{W}"), this));
}
private SacredCat(final SacredCat card) {
diff --git a/Mage.Sets/src/mage/cards/s/SacredGuide.java b/Mage.Sets/src/mage/cards/s/SacredGuide.java
index c2cd0da4df..eed93986ac 100644
--- a/Mage.Sets/src/mage/cards/s/SacredGuide.java
+++ b/Mage.Sets/src/mage/cards/s/SacredGuide.java
@@ -38,7 +38,7 @@ public final class SacredGuide extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}, Sacrifice Sacred Guide: Reveal cards from the top of your library until you reveal a white card. Put that card into your hand and exile all other cards revealed this way.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(filterCard, Zone.HAND, Zone.EXILED), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RevealCardsFromLibraryUntilEffect(filterCard, Zone.HAND, Zone.EXILED), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
index 917c5afb72..d0d81b66d3 100644
--- a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
+++ b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java
@@ -41,7 +41,7 @@ public final class SacredWhiteDeer extends CardImpl {
Ability ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD,
new GainLifeEffect(4),
- new ManaCostsImpl("{3}{G}"),
+ new ManaCostsImpl<>("{3}{G}"),
new PermanentsOnTheBattlefieldCondition(filter)
);
ability.addCost(new TapSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/SadisticObsession.java b/Mage.Sets/src/mage/cards/s/SadisticObsession.java
index eef112e504..3202653046 100644
--- a/Mage.Sets/src/mage/cards/s/SadisticObsession.java
+++ b/Mage.Sets/src/mage/cards/s/SadisticObsession.java
@@ -37,7 +37,7 @@ public final class SadisticObsession extends CardImpl {
// Enchanted creature has "{B}, {T}: Put a -1/-1 counter on target creature."
ability = new SimpleActivatedAbility(new AddCountersTargetEffect(
- CounterType.M1M1.createInstance()), new ManaCostsImpl("{B}")
+ CounterType.M1M1.createInstance()), new ManaCostsImpl<>("{B}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SafeHaven.java b/Mage.Sets/src/mage/cards/s/SafeHaven.java
index 3a0ccfb5ca..945f567c99 100644
--- a/Mage.Sets/src/mage/cards/s/SafeHaven.java
+++ b/Mage.Sets/src/mage/cards/s/SafeHaven.java
@@ -27,7 +27,7 @@ public final class SafeHaven extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
// {2}, {tap}: Exile target creature you control.
- Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(new ExileTargetForSourceEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Safeguard.java b/Mage.Sets/src/mage/cards/s/Safeguard.java
index 318c7c2196..b08325625f 100644
--- a/Mage.Sets/src/mage/cards/s/Safeguard.java
+++ b/Mage.Sets/src/mage/cards/s/Safeguard.java
@@ -26,7 +26,7 @@ public final class Safeguard extends CardImpl {
// {2}{W}: Prevent all combat damage that would be dealt by target creature this turn.
Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, true);
effect.setText("Prevent all combat damage that would be dealt by target creature this turn.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{W}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SafeholdSentry.java b/Mage.Sets/src/mage/cards/s/SafeholdSentry.java
index 5190914547..8a90858a9e 100644
--- a/Mage.Sets/src/mage/cards/s/SafeholdSentry.java
+++ b/Mage.Sets/src/mage/cards/s/SafeholdSentry.java
@@ -31,7 +31,7 @@ public final class SafeholdSentry extends CardImpl {
this.toughness = new MageInt(2);
// {2}{W}, {untap}: Safehold Sentry gets +0/+2 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new UntapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java b/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java
index 5b2215efc6..6e709e3939 100644
--- a/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java
+++ b/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java
@@ -28,7 +28,7 @@ public final class SageEyeHarrier extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {3}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{W}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{W}")));
}
private SageEyeHarrier(final SageEyeHarrier card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaguArcher.java b/Mage.Sets/src/mage/cards/s/SaguArcher.java
index b706cb6015..7837e61f10 100644
--- a/Mage.Sets/src/mage/cards/s/SaguArcher.java
+++ b/Mage.Sets/src/mage/cards/s/SaguArcher.java
@@ -28,7 +28,7 @@ public final class SaguArcher extends CardImpl {
// Reach
this.addAbility(ReachAbility.getInstance());
// Morph {4}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{G}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{G}")));
}
private SaguArcher(final SaguArcher card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaguMauler.java b/Mage.Sets/src/mage/cards/s/SaguMauler.java
index 79995068d7..7994e4a293 100644
--- a/Mage.Sets/src/mage/cards/s/SaguMauler.java
+++ b/Mage.Sets/src/mage/cards/s/SaguMauler.java
@@ -30,7 +30,7 @@ public final class SaguMauler extends CardImpl {
// Hexproof
this.addAbility(HexproofAbility.getInstance());
// Morph {3}{G}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{G}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{G}{U}")));
}
private SaguMauler(final SaguMauler card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java b/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
index 37206315d5..fce7a3bdae 100644
--- a/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
+++ b/Mage.Sets/src/mage/cards/s/SaiMasterThopterist.java
@@ -49,7 +49,7 @@ public final class SaiMasterThopterist extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new DrawCardSourceControllerEffect(1),
- new ManaCostsImpl("{1}{U}")
+ new ManaCostsImpl<>("{1}{U}")
);
ability.addCost(new SacrificeTargetCost(
new TargetControlledPermanent(2, 2, filter2, false)
diff --git a/Mage.Sets/src/mage/cards/s/Sailmonger.java b/Mage.Sets/src/mage/cards/s/Sailmonger.java
index c5f66484c6..2e4fb79d3a 100644
--- a/Mage.Sets/src/mage/cards/s/Sailmonger.java
+++ b/Mage.Sets/src/mage/cards/s/Sailmonger.java
@@ -31,7 +31,7 @@ public final class Sailmonger extends CardImpl {
this.toughness = new MageInt(3);
// {2}: Target creature gains flying until end of turn. Any player may activate this ability.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent());
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
diff --git a/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java b/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java
index b51c154a38..1cf8b57c16 100644
--- a/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java
+++ b/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java
@@ -61,7 +61,7 @@ class SakashimaTheImpostorCopyApplier extends CopyApplier {
// {2}{U}{U}: Return Sakashima the Impostor to its owner's hand at the beginning of the next end step
blueprint.getAbilities().add(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateDelayedTriggeredAbilityEffect(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnToHandSourceEffect(true)), false),
- new ManaCostsImpl("{2}{U}{U}")
+ new ManaCostsImpl<>("{2}{U}{U}")
));
return true;
}
diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java b/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java
index d766236ffe..023d8326d6 100644
--- a/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java
+++ b/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java
@@ -32,7 +32,7 @@ public final class SaltRoadAmbushers extends CardImpl {
this.addAbility(new SaltRoadAmbushersTriggeredAbility());
// Megamorph {3}{G}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{G}{G}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{G}{G}"), true));
}
private SaltRoadAmbushers(final SaltRoadAmbushers card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java b/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java
index 612c06c64c..5201b6480f 100644
--- a/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java
+++ b/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java
@@ -25,7 +25,7 @@ public final class SaltRoadPatrol extends CardImpl {
this.toughness = new MageInt(5);
// Outlast {1}{W}
- this.addAbility(new OutlastAbility(new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new OutlastAbility(new ManaCostsImpl<>("{1}{W}")));
}
private SaltRoadPatrol(final SaltRoadPatrol card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java b/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java
index 1550e4e66f..cfe562fdf6 100644
--- a/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java
+++ b/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java
@@ -36,7 +36,7 @@ public final class SaltRoadQuartermasters extends CardImpl {
"with two +1/+1 counters on it"));
// {2}{G}, Remove a +1/+1 counter from Salt Road Quartermasters: Put a +1/+1 counter on target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SamiteAlchemist.java b/Mage.Sets/src/mage/cards/s/SamiteAlchemist.java
index d0fbb864b0..575c832619 100644
--- a/Mage.Sets/src/mage/cards/s/SamiteAlchemist.java
+++ b/Mage.Sets/src/mage/cards/s/SamiteAlchemist.java
@@ -33,7 +33,7 @@ public final class SamiteAlchemist extends CardImpl {
// {W}{W}, {tap}: Prevent the next 4 damage that would be dealt this turn to target creature you control. Tap that creature. It doesn't untap during your next untap step.
Ability ability = new SimpleActivatedAbility(
new PreventDamageToTargetEffect(Duration.EndOfTurn, 4),
- new ManaCostsImpl("{W}{W}")
+ new ManaCostsImpl<>("{W}{W}")
);
ability.addCost(new TapSourceCost());
ability.addEffect(new TapTargetEffect("Tap that creature"));
diff --git a/Mage.Sets/src/mage/cards/s/SamiteCenserBearer.java b/Mage.Sets/src/mage/cards/s/SamiteCenserBearer.java
index 3abdd434e3..630658ee90 100644
--- a/Mage.Sets/src/mage/cards/s/SamiteCenserBearer.java
+++ b/Mage.Sets/src/mage/cards/s/SamiteCenserBearer.java
@@ -34,7 +34,7 @@ public final class SamiteCenserBearer extends CardImpl {
this.toughness = new MageInt(1);
// {W}, Sacrifice Samite Censer-Bearer: Prevent the next 1 damage that would be dealt to each creature you control this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SamiteCenserBearerEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SamiteCenserBearerEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SamiteSanctuary.java b/Mage.Sets/src/mage/cards/s/SamiteSanctuary.java
index d5f6af08f6..ed20c56e6e 100644
--- a/Mage.Sets/src/mage/cards/s/SamiteSanctuary.java
+++ b/Mage.Sets/src/mage/cards/s/SamiteSanctuary.java
@@ -24,7 +24,7 @@ public final class SamiteSanctuary extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// {2}: Prevent the next 1 damage that would be dealt to target creature this turn. Any player may activate this ability.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,1), new ManaCostsImpl("{2}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,1), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetCreaturePermanent());
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
diff --git a/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java b/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java
index b121dc6ba6..c3fff0cac6 100644
--- a/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java
+++ b/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java
@@ -64,7 +64,7 @@ public final class SamutVoiceOfDissent extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
//W, Tap: Untap another target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetCreaturePermanent(filter2));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java b/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java
index 6067078303..eb0777b3ee 100644
--- a/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java
+++ b/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java
@@ -47,7 +47,7 @@ public final class SanctifierOfSouls extends CardImpl {
// {2}{W}, Exile a creature card from your graveyard: Create a 1/1 white Spirit creature token with flying.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new CreateTokenEffect(new SpiritWhiteToken()),
- new ManaCostsImpl("{2}{W}"));
+ new ManaCostsImpl<>("{2}{W}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard"))));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SanctuarySmasher.java b/Mage.Sets/src/mage/cards/s/SanctuarySmasher.java
index 744e77b9ba..b90005d968 100644
--- a/Mage.Sets/src/mage/cards/s/SanctuarySmasher.java
+++ b/Mage.Sets/src/mage/cards/s/SanctuarySmasher.java
@@ -33,7 +33,7 @@ public final class SanctuarySmasher extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Cycling {2}{R}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{R}")));
// When you cycle Sanctuary Smasher, put a first strike counter on target creature you control.
Ability ability = new CycleTriggeredAbility(
diff --git a/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java b/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java
index 74aec02f34..0d2822911e 100644
--- a/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java
+++ b/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java
@@ -30,8 +30,8 @@ public final class SanctumPlowbeast extends CardImpl {
// Defender
this.addAbility(DefenderAbility.getInstance());
// Plainscycling {2}, islandcycling {2}
- this.addAbility(new PlainscyclingAbility(new ManaCostsImpl("{2}")));
- this.addAbility(new IslandcyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new PlainscyclingAbility(new ManaCostsImpl<>("{2}")));
+ this.addAbility(new IslandcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SanctumPlowbeast(final SanctumPlowbeast card) {
diff --git a/Mage.Sets/src/mage/cards/s/SandalsOfAbdallah.java b/Mage.Sets/src/mage/cards/s/SandalsOfAbdallah.java
index 889aabe1df..64c8aeaa2e 100644
--- a/Mage.Sets/src/mage/cards/s/SandalsOfAbdallah.java
+++ b/Mage.Sets/src/mage/cards/s/SandalsOfAbdallah.java
@@ -29,7 +29,7 @@ public final class SandalsOfAbdallah extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {2}, {tap}: Target creature gains islandwalk until end of turn. When that creature dies this turn, destroy Sandals of Abdallah.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new IslandwalkAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java b/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java
index 1a2e2187f5..b8058a003d 100644
--- a/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java
+++ b/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java
@@ -23,7 +23,7 @@ public final class SandbarMerfolk extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SandbarMerfolk(final SandbarMerfolk card) {
diff --git a/Mage.Sets/src/mage/cards/s/SandbarSerpent.java b/Mage.Sets/src/mage/cards/s/SandbarSerpent.java
index a88b5a446d..38957e2497 100644
--- a/Mage.Sets/src/mage/cards/s/SandbarSerpent.java
+++ b/Mage.Sets/src/mage/cards/s/SandbarSerpent.java
@@ -23,7 +23,7 @@ public final class SandbarSerpent extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(4);
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SandbarSerpent(final SandbarSerpent card) {
diff --git a/Mage.Sets/src/mage/cards/s/SandstormCharger.java b/Mage.Sets/src/mage/cards/s/SandstormCharger.java
index a37db03633..c3f645b925 100644
--- a/Mage.Sets/src/mage/cards/s/SandstormCharger.java
+++ b/Mage.Sets/src/mage/cards/s/SandstormCharger.java
@@ -23,7 +23,7 @@ public final class SandstormCharger extends CardImpl {
this.toughness = new MageInt(4);
// Megamorph {4}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{W}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{W}"), true));
}
private SandstormCharger(final SandstormCharger card) {
diff --git a/Mage.Sets/src/mage/cards/s/SandstormEidolon.java b/Mage.Sets/src/mage/cards/s/SandstormEidolon.java
index 6dccfdd802..07f3a2dea2 100644
--- a/Mage.Sets/src/mage/cards/s/SandstormEidolon.java
+++ b/Mage.Sets/src/mage/cards/s/SandstormEidolon.java
@@ -32,7 +32,7 @@ public final class SandstormEidolon extends CardImpl {
this.toughness = new MageInt(2);
// {R}, Sacrifice Sandstorm Eidolon: Target creature can't block this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBlockTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SanguineGuard.java b/Mage.Sets/src/mage/cards/s/SanguineGuard.java
index c92605234b..d0eb456cd0 100644
--- a/Mage.Sets/src/mage/cards/s/SanguineGuard.java
+++ b/Mage.Sets/src/mage/cards/s/SanguineGuard.java
@@ -29,7 +29,7 @@ public final class SanguineGuard extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(FirstStrikeAbility.getInstance());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private SanguineGuard(final SanguineGuard card) {
diff --git a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java
index 2ed3cb0813..2af8fef6a0 100644
--- a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java
+++ b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java
@@ -36,7 +36,7 @@ public final class SanguinePraetor extends CardImpl {
this.toughness = new MageInt(5);
// {B}, Sacrifice a creature: Destroy each creature with the same converted mana cost as the sacrificed creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SanguinePraetorEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SanguinePraetorEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java b/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java
index 8aa678f2c4..691e881cf7 100644
--- a/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java
+++ b/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java
@@ -25,7 +25,7 @@ public final class SanitariumSkeleton extends CardImpl {
this.toughness = new MageInt(2);
// {2}{B}: Return Sanitarium Skeleton from your graveyard to your hand.
- this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{2}{B}")));
}
private SanitariumSkeleton(final SanitariumSkeleton card) {
diff --git a/Mage.Sets/src/mage/cards/s/SapphireLeech.java b/Mage.Sets/src/mage/cards/s/SapphireLeech.java
index c018b844b8..68dc78d5fc 100644
--- a/Mage.Sets/src/mage/cards/s/SapphireLeech.java
+++ b/Mage.Sets/src/mage/cards/s/SapphireLeech.java
@@ -38,7 +38,7 @@ public final class SapphireLeech extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Blue spells you cast cost {U} more to cast.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
- new SpellsCostIncreasingAllEffect(new ManaCostsImpl("{U}"), filter, TargetController.YOU)));
+ new SpellsCostIncreasingAllEffect(new ManaCostsImpl<>("{U}"), filter, TargetController.YOU)));
}
private SapphireLeech(final SapphireLeech card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanBreaker.java b/Mage.Sets/src/mage/cards/s/SaprazzanBreaker.java
index b2668897b6..e3953752f5 100644
--- a/Mage.Sets/src/mage/cards/s/SaprazzanBreaker.java
+++ b/Mage.Sets/src/mage/cards/s/SaprazzanBreaker.java
@@ -29,7 +29,7 @@ public final class SaprazzanBreaker extends CardImpl {
this.toughness = new MageInt(3);
// {U}: Put the top card of your library into your graveyard. If that card is a land card, Saprazzan Breaker can't be blocked this turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SaprazzanBreakerEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SaprazzanBreakerEffect(), new ManaCostsImpl<>("{U}")));
}
private SaprazzanBreaker(final SaprazzanBreaker card) {
diff --git a/Mage.Sets/src/mage/cards/s/SaprolingSymbiosis.java b/Mage.Sets/src/mage/cards/s/SaprolingSymbiosis.java
index 69bc083e85..672f36eb96 100644
--- a/Mage.Sets/src/mage/cards/s/SaprolingSymbiosis.java
+++ b/Mage.Sets/src/mage/cards/s/SaprolingSymbiosis.java
@@ -25,7 +25,7 @@ public final class SaprolingSymbiosis extends CardImpl {
Effect effect = new CreateTokenEffect(new SaprolingToken(), new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE));
// You may cast Saproling Symbiosis as though it had flash if you pay {2} more to cast it. (You may cast it any time you could cast an instant.)
- Ability ability = new PayMoreToCastAsThoughtItHadFlashAbility(this, new ManaCostsImpl("{2}"));
+ Ability ability = new PayMoreToCastAsThoughtItHadFlashAbility(this, new ManaCostsImpl<>("{2}"));
ability.addEffect(effect);
ability.setRuleAtTheTop(true);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SapseepForest.java b/Mage.Sets/src/mage/cards/s/SapseepForest.java
index 350dc8a602..e2e276aa3a 100644
--- a/Mage.Sets/src/mage/cards/s/SapseepForest.java
+++ b/Mage.Sets/src/mage/cards/s/SapseepForest.java
@@ -45,7 +45,7 @@ public final class SapseepForest extends CardImpl {
// {G}, {tap}: You gain 1 life. Activate this ability only if you control two or more green permanents.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new GainLifeEffect(1),
- new ManaCostsImpl("{G}"),
+ new ManaCostsImpl<>("{G}"),
new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SarpadianEmpiresVolVII.java b/Mage.Sets/src/mage/cards/s/SarpadianEmpiresVolVII.java
index 96b24b599f..5394c265a9 100644
--- a/Mage.Sets/src/mage/cards/s/SarpadianEmpiresVolVII.java
+++ b/Mage.Sets/src/mage/cards/s/SarpadianEmpiresVolVII.java
@@ -35,7 +35,7 @@ public final class SarpadianEmpiresVolVII extends CardImpl {
// As Sarpadian Empires, Vol. VII enters the battlefield, choose white Citizen, blue Camarid, black Thrull, red Goblin, or green Saproling.
this.addAbility(new AsEntersBattlefieldAbility(new SarpadianEmpiresChooseTokenEffect()));
// {3}, {T}: Create a 1/1 creature token of the chosen color and type.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SarpadianEmpiresCreateSelectedTokenEffect(), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SarpadianEmpiresCreateSelectedTokenEffect(), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SatyrHedonist.java b/Mage.Sets/src/mage/cards/s/SatyrHedonist.java
index 319678d014..ae8342fc47 100644
--- a/Mage.Sets/src/mage/cards/s/SatyrHedonist.java
+++ b/Mage.Sets/src/mage/cards/s/SatyrHedonist.java
@@ -27,7 +27,7 @@ public final class SatyrHedonist extends CardImpl {
this.toughness = new MageInt(1);
// {R}, Sacrifice Satyr Hedonist: Add {R}{R}{R}.
- SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3), new ManaCostsImpl("{R}"));
+ SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3), new ManaCostsImpl<>("{R}"));
ability .addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java b/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java
index b601fc404a..33bf21625f 100644
--- a/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java
+++ b/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java
@@ -31,7 +31,7 @@ public final class SatyrNyxSmith extends CardImpl {
// Haste
this.addAbility(HasteAbility.getInstance());
// Inspired — Whenever Satyr Nyx-Smith becomes untapped, you may pay {2}{R}. If you do, create a 3/1 red Elemental enchantment creature token with haste.
- this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new SatyrNyxSmithElementalToken()), new ManaCostsImpl("{2}{R}"))));
+ this.addAbility(new InspiredAbility(new DoIfCostPaid(new CreateTokenEffect(new SatyrNyxSmithElementalToken()), new ManaCostsImpl<>("{2}{R}"))));
}
diff --git a/Mage.Sets/src/mage/cards/s/SatyrPiper.java b/Mage.Sets/src/mage/cards/s/SatyrPiper.java
index a35f0d4c10..e421e0b51c 100644
--- a/Mage.Sets/src/mage/cards/s/SatyrPiper.java
+++ b/Mage.Sets/src/mage/cards/s/SatyrPiper.java
@@ -30,7 +30,7 @@ public final class SatyrPiper extends CardImpl {
this.toughness = new MageInt(1);
// {3}{G}: Target creature must be blocked this turn if able.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{3}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{3}{G}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SavaenElves.java b/Mage.Sets/src/mage/cards/s/SavaenElves.java
index 5b0d87ac76..1f493bb6a4 100644
--- a/Mage.Sets/src/mage/cards/s/SavaenElves.java
+++ b/Mage.Sets/src/mage/cards/s/SavaenElves.java
@@ -43,7 +43,7 @@ public final class SavaenElves extends CardImpl {
// {G}{G}, {tap}: Destroy target Aura attached to a land.
Effect effect = new DestroyTargetEffect();
effect.setText("Destroy target Aura attached to a land");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{G}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{G}{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SavageGorilla.java b/Mage.Sets/src/mage/cards/s/SavageGorilla.java
index 52263a6821..ab6bce013e 100644
--- a/Mage.Sets/src/mage/cards/s/SavageGorilla.java
+++ b/Mage.Sets/src/mage/cards/s/SavageGorilla.java
@@ -30,7 +30,7 @@ public final class SavageGorilla extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ManaCostsImpl("{U}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ManaCostsImpl<>("{U}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java b/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java
index 3c93d285e7..e96da01726 100644
--- a/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java
+++ b/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java
@@ -32,13 +32,13 @@ public final class SavageKnuckleblade extends CardImpl {
this.toughness = new MageInt(4);
// {2}{G}: Savage Knuckleblade gets +2/+2 until end of turn. Activate this ability only once each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}")));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}")));
// {2}{U}: Return Savage Knuckleblade to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{U}")));
// {R}: Savage Knuckleblade gains haste until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SavagebornHydra.java b/Mage.Sets/src/mage/cards/s/SavagebornHydra.java
index 7cc5c9ef8f..83127b5412 100644
--- a/Mage.Sets/src/mage/cards/s/SavagebornHydra.java
+++ b/Mage.Sets/src/mage/cards/s/SavagebornHydra.java
@@ -36,7 +36,7 @@ public final class SavagebornHydra extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance())));
// {1}{RG}: Put a +1/+1 counter on Savageborn Hydra. Activate this ability only any time you could cast a sorcery.
- this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{1}{R/G}")));
+ this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{R/G}")));
}
private SavagebornHydra(final SavagebornHydra card) {
diff --git a/Mage.Sets/src/mage/cards/s/SavaiCrystal.java b/Mage.Sets/src/mage/cards/s/SavaiCrystal.java
index 7f4205fb6e..e03c140cba 100644
--- a/Mage.Sets/src/mage/cards/s/SavaiCrystal.java
+++ b/Mage.Sets/src/mage/cards/s/SavaiCrystal.java
@@ -25,7 +25,7 @@ public final class SavaiCrystal extends CardImpl {
this.addAbility(new BlackManaAbility());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SavaiCrystal(final SavaiCrystal card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScaldingDevil.java b/Mage.Sets/src/mage/cards/s/ScaldingDevil.java
index 914fe0aace..d1ec30eaf3 100644
--- a/Mage.Sets/src/mage/cards/s/ScaldingDevil.java
+++ b/Mage.Sets/src/mage/cards/s/ScaldingDevil.java
@@ -28,7 +28,7 @@ public final class ScaldingDevil extends CardImpl {
this.toughness = new MageInt(1);
// {2}{R}: Scalding Devil deals 1 damage to target player.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{2}{R}"));
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/Scaldkin.java b/Mage.Sets/src/mage/cards/s/Scaldkin.java
index ba7da681c2..f6172d8ad2 100644
--- a/Mage.Sets/src/mage/cards/s/Scaldkin.java
+++ b/Mage.Sets/src/mage/cards/s/Scaldkin.java
@@ -32,7 +32,7 @@ public final class Scaldkin extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{R}, Sacrifice Scaldkin: Scaldkin deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScaleUp.java b/Mage.Sets/src/mage/cards/s/ScaleUp.java
index 969cb0de2a..84cd0f9969 100644
--- a/Mage.Sets/src/mage/cards/s/ScaleUp.java
+++ b/Mage.Sets/src/mage/cards/s/ScaleUp.java
@@ -41,7 +41,7 @@ public final class ScaleUp extends CardImpl {
new CreatureToken(6, 4, "green Wurm with base power and toughness 6/4")
.withColor("G").withSubType(SubType.WURM),
null, filter, Duration.EndOfTurn, true, false, true
- ), new ManaCostsImpl("{4}{G}{G}")));
+ ), new ManaCostsImpl<>("{4}{G}{G}")));
}
private ScaleUp(final ScaleUp card) {
diff --git a/Mage.Sets/src/mage/cards/s/Scandalmonger.java b/Mage.Sets/src/mage/cards/s/Scandalmonger.java
index bcdefe3dca..059d597db3 100644
--- a/Mage.Sets/src/mage/cards/s/Scandalmonger.java
+++ b/Mage.Sets/src/mage/cards/s/Scandalmonger.java
@@ -29,7 +29,7 @@ public final class Scandalmonger extends CardImpl {
this.toughness = new MageInt(3);
// {2}: Target player discards a card. Any player may activate this ability but only any time they could cast a sorcery.
- ActivateAsSorceryActivatedAbility ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{2}"));
+ ActivateAsSorceryActivatedAbility ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetPlayer());
ability.setMayActivate(TargetController.ANY);
ability.addEffect(new InfoEffect("Any player may activate this ability"));
diff --git a/Mage.Sets/src/mage/cards/s/ScarabFeast.java b/Mage.Sets/src/mage/cards/s/ScarabFeast.java
index fde96b30e9..9da01449de 100644
--- a/Mage.Sets/src/mage/cards/s/ScarabFeast.java
+++ b/Mage.Sets/src/mage/cards/s/ScarabFeast.java
@@ -23,7 +23,7 @@ public final class ScarabFeast extends CardImpl {
getSpellAbility().addTarget(new TargetCardInASingleGraveyard(0, 3, StaticFilters.FILTER_CARD_CARDS));
// Cycling {B}
- addAbility(new CyclingAbility(new ManaCostsImpl("{B}")));
+ addAbility(new CyclingAbility(new ManaCostsImpl<>("{B}")));
}
private ScarabFeast(final ScarabFeast card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java b/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java
index 0774e61589..aaf0331ad2 100644
--- a/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java
+++ b/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java
@@ -39,7 +39,7 @@ public final class ScarredVinebreeder extends CardImpl {
// {2}{B}, Exile an Elf card from your graveyard: Scarred Vinebreeder gets +3/+3 until end of turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BoostSourceEffect(3, 3, Duration.EndOfTurn),
- new ManaCostsImpl("{2}{B}"));
+ new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScarwoodBandits.java b/Mage.Sets/src/mage/cards/s/ScarwoodBandits.java
index 18dfd8c8ee..54e3116109 100644
--- a/Mage.Sets/src/mage/cards/s/ScarwoodBandits.java
+++ b/Mage.Sets/src/mage/cards/s/ScarwoodBandits.java
@@ -50,7 +50,7 @@ public final class ScarwoodBandits extends CardImpl {
new SourceRemainsInZoneCondition(Zone.BATTLEFIELD),
"gain control of target artifact for as long as {this} remains on the battlefield"),
new GenericManaCost(2)),
- new ManaCostsImpl("{2}{G}"));
+ new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScarwoodHag.java b/Mage.Sets/src/mage/cards/s/ScarwoodHag.java
index 291ee525b9..ebfafbc096 100644
--- a/Mage.Sets/src/mage/cards/s/ScarwoodHag.java
+++ b/Mage.Sets/src/mage/cards/s/ScarwoodHag.java
@@ -34,7 +34,7 @@ public final class ScarwoodHag extends CardImpl {
// {G}{G}{G}{G}, {tap}: Target creature gains forestwalk until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.EndOfTurn),
- new ManaCostsImpl("{G}{G}{G}{G}"));
+ new ManaCostsImpl<>("{G}{G}{G}{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScatteredGroves.java b/Mage.Sets/src/mage/cards/s/ScatteredGroves.java
index 95c70e0cda..b9f4026a96 100644
--- a/Mage.Sets/src/mage/cards/s/ScatteredGroves.java
+++ b/Mage.Sets/src/mage/cards/s/ScatteredGroves.java
@@ -32,7 +32,7 @@ public final class ScatteredGroves extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScavengerFolk.java b/Mage.Sets/src/mage/cards/s/ScavengerFolk.java
index 48ce3d078e..7898d7f558 100644
--- a/Mage.Sets/src/mage/cards/s/ScavengerFolk.java
+++ b/Mage.Sets/src/mage/cards/s/ScavengerFolk.java
@@ -30,7 +30,7 @@ public final class ScavengerFolk extends CardImpl {
this.toughness = new MageInt(1);
// {G}, {T}, Sacrifice Scavenger Folk: Destroy target artifact.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{G}")); ability.addCost(new TapSourceCost());
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{G}")); ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetArtifactPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java b/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java
index 0b56db41e0..db84024227 100644
--- a/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java
+++ b/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java
@@ -41,7 +41,7 @@ public final class ScavengerGrounds extends CardImpl {
Ability ability2 = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new ExileGraveyardAllPlayersEffect(),
- new ManaCostsImpl("{2}"));
+ new ManaCostsImpl<>("{2}"));
ability2.addCost(new TapSourceCost());
ability2.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/s/ScavengingOoze.java b/Mage.Sets/src/mage/cards/s/ScavengingOoze.java
index dd8e386a75..2bd07be885 100644
--- a/Mage.Sets/src/mage/cards/s/ScavengingOoze.java
+++ b/Mage.Sets/src/mage/cards/s/ScavengingOoze.java
@@ -34,7 +34,7 @@ public final class ScavengingOoze extends CardImpl {
this.toughness = new MageInt(2);
// {G}: Exile target card from a graveyard. If it was a creature card, put a +1/+1 counter on Scavenging Ooze and you gain 1 life.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScavengingOozeEffect(), new ManaCostsImpl("{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScavengingOozeEffect(), new ManaCostsImpl<>("{G}"));
ability.addTarget(new TargetCardInGraveyard());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScepterOfDominance.java b/Mage.Sets/src/mage/cards/s/ScepterOfDominance.java
index aae1f9a024..b5131cbe4b 100644
--- a/Mage.Sets/src/mage/cards/s/ScepterOfDominance.java
+++ b/Mage.Sets/src/mage/cards/s/ScepterOfDominance.java
@@ -23,7 +23,7 @@ public final class ScepterOfDominance extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{W}{W}");
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java b/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java
index 3b56ad7d1a..d5505d4b00 100644
--- a/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java
+++ b/Mage.Sets/src/mage/cards/s/ScepterOfFugue.java
@@ -25,7 +25,7 @@ public final class ScepterOfFugue extends CardImpl {
// {1}{B}, {T}: Target player discards a card. Activate this ability only during your turn.
- Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl("{1}{B}"), MyTurnCondition.instance);
+ Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new ManaCostsImpl<>("{1}{B}"), MyTurnCondition.instance);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
ability.addHint(MyTurnHint.instance);
diff --git a/Mage.Sets/src/mage/cards/s/ScepterOfInsight.java b/Mage.Sets/src/mage/cards/s/ScepterOfInsight.java
index 0e56545cec..d9e23e9724 100644
--- a/Mage.Sets/src/mage/cards/s/ScepterOfInsight.java
+++ b/Mage.Sets/src/mage/cards/s/ScepterOfInsight.java
@@ -22,7 +22,7 @@ public final class ScepterOfInsight extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{U}{U}");
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{3}{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java b/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java
index e6535d5c99..72f6079e42 100644
--- a/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java
+++ b/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java
@@ -30,7 +30,7 @@ public final class ScholarOfAthreos extends CardImpl {
this.toughness = new MageInt(4);
// {2}{B}: Each opponent loses 1 life. You gain life equal to the life lost this way.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScholarOfAthreosEffect(), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScholarOfAthreosEffect(), new ManaCostsImpl<>("{2}{B}")));
}
private ScholarOfAthreos(final ScholarOfAthreos card) {
diff --git a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java
index 52dda5db45..077867a8b1 100644
--- a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java
+++ b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java
@@ -25,7 +25,7 @@ public final class SchoolOfPiranha extends CardImpl {
this.toughness = new MageInt(3);
// At the beginning of your upkeep, sacrifice School of Piranha unless you pay {1}{U}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{1}{U}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false));
}
private SchoolOfPiranha(final SchoolOfPiranha card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
index 1db5653daa..d0379c4417 100644
--- a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
+++ b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java
@@ -40,7 +40,7 @@ public final class ScionOfDarkness extends CardImpl {
this.addAbility(new ScionOfDarknessTriggeredAbility());
// Cycling {3}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
}
private ScionOfDarkness(final ScionOfDarkness card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java b/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java
index 037791b6ac..5c44c99b84 100644
--- a/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java
+++ b/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java
@@ -27,7 +27,7 @@ public final class ScionOfGlaciers extends CardImpl {
this.toughness = new MageInt(5);
// {U}: Scion of Glaciers gets +1/-1 until end of turn
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
private ScionOfGlaciers(final ScionOfGlaciers card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java
index 61d588c0f7..574672b170 100644
--- a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java
+++ b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java
@@ -38,7 +38,7 @@ public final class ScionOfTheUrDragon extends CardImpl {
// {2}: Search your library for a Dragon permanent card and put it into your graveyard. If you do, Scion of the Ur-Dragon becomes a copy of that card until end of turn. Then shuffle your library.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ScionOfTheUrDragonEffect(),
- new ManaCostsImpl("{2}")));
+ new ManaCostsImpl<>("{2}")));
}
private ScionOfTheUrDragon(final ScionOfTheUrDragon card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScorchingMissile.java b/Mage.Sets/src/mage/cards/s/ScorchingMissile.java
index 8a217d2ff8..a389ebb3f1 100644
--- a/Mage.Sets/src/mage/cards/s/ScorchingMissile.java
+++ b/Mage.Sets/src/mage/cards/s/ScorchingMissile.java
@@ -25,7 +25,7 @@ public final class ScorchingMissile extends CardImpl {
this.getSpellAbility().addTarget(new TargetPlayerOrPlaneswalker());
// Flashback {9}{R}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{9}{R}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{9}{R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java b/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java
index 4f25f8af6b..d14005ffc1 100644
--- a/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java
+++ b/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java
@@ -24,7 +24,7 @@ public final class ScornfulEgotist extends CardImpl {
this.toughness = new MageInt(1);
// Morph {U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{U}")));
}
private ScornfulEgotist(final ScornfulEgotist card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java b/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java
index 9018a5534a..d387ca4432 100644
--- a/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java
+++ b/Mage.Sets/src/mage/cards/s/ScourAllPossibilities.java
@@ -24,7 +24,7 @@ public final class ScourAllPossibilities extends CardImpl {
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
// Flashback {4}{U}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{4}{U}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScourgeDevil.java b/Mage.Sets/src/mage/cards/s/ScourgeDevil.java
index c795b9ed19..446e8e12a7 100644
--- a/Mage.Sets/src/mage/cards/s/ScourgeDevil.java
+++ b/Mage.Sets/src/mage/cards/s/ScourgeDevil.java
@@ -29,7 +29,7 @@ public final class ScourgeDevil extends CardImpl {
// When Scourge Devil enters the battlefield, creatures you control get +1/+0 until end of turn.
this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn)));
// Unearth {2}{R}
- this.addAbility(new UnearthAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{2}{R}")));
}
private ScourgeDevil(final ScourgeDevil card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java b/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java
index ddd7a5237f..44aece15c4 100644
--- a/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java
+++ b/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java
@@ -43,11 +43,11 @@ public final class ScourgeOfKherRidges extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{R}: Scourge of Kher Ridges deals 2 damage to each creature without flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(2, filter), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(2, filter), new ManaCostsImpl<>("{1}{R}"));
this.addAbility(ability);
// {5}{R}: Scourge of Kher Ridges deals 6 damage to each other creature with flying.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(6, filter2), new ManaCostsImpl("{5}{R}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(6, filter2), new ManaCostsImpl<>("{5}{R}"));
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java b/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java
index f23b0cbedb..1f6de4fb59 100644
--- a/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java
+++ b/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java
@@ -41,7 +41,7 @@ public final class ScourgeOfTheNobilis extends CardImpl {
// As long as enchanted creature is red, it gets +1/+1 and has "{RW}: This creature gets +1/+0 until end of turn."
SimpleStaticAbility redAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEnchantedEffect(1, 1), new EnchantedCreatureColorCondition(ObjectColor.RED), "As long as enchanted creature is red, it gets +1/+1"));
redAbility.addEffect(new ConditionalContinuousEffect(new GainAbilityAttachedEffect(
- new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R/W}")), AttachmentType.AURA),
+ new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R/W}")), AttachmentType.AURA),
new EnchantedCreatureColorCondition(ObjectColor.RED), "and has \"{R/W}: This creature gets +1/+0 until end of turn.\""));
this.addAbility(redAbility);
diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java b/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java
index c5bd142eb9..8dd18b9436 100644
--- a/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java
+++ b/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java
@@ -49,7 +49,7 @@ public final class ScourgeOfValkas extends CardImpl {
this.addAbility(ability);
// {R}: Scourge of Valkas gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private ScourgeOfValkas(final ScourgeOfValkas card) {
diff --git a/Mage.Sets/src/mage/cards/s/Scrap.java b/Mage.Sets/src/mage/cards/s/Scrap.java
index 7b96912781..065c91d6ef 100644
--- a/Mage.Sets/src/mage/cards/s/Scrap.java
+++ b/Mage.Sets/src/mage/cards/s/Scrap.java
@@ -21,7 +21,7 @@ public final class Scrap extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetArtifactPermanent());
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private Scrap(final Scrap card) {
diff --git a/Mage.Sets/src/mage/cards/s/Scrapbasket.java b/Mage.Sets/src/mage/cards/s/Scrapbasket.java
index de6430a487..7907b10976 100644
--- a/Mage.Sets/src/mage/cards/s/Scrapbasket.java
+++ b/Mage.Sets/src/mage/cards/s/Scrapbasket.java
@@ -32,7 +32,7 @@ public final class Scrapbasket extends CardImpl {
this.toughness = new MageInt(2);
// {1}: Scrapbasket becomes all colors until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesAllColorsEffect(), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesAllColorsEffect(), new ManaCostsImpl<>("{1}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScreamsOfTheDamned.java b/Mage.Sets/src/mage/cards/s/ScreamsOfTheDamned.java
index 1b3c787b20..d1743d9d7c 100644
--- a/Mage.Sets/src/mage/cards/s/ScreamsOfTheDamned.java
+++ b/Mage.Sets/src/mage/cards/s/ScreamsOfTheDamned.java
@@ -24,7 +24,7 @@ public final class ScreamsOfTheDamned extends CardImpl {
// {1}{B}, Exile a card from your graveyard: Screams of the Damned deals 1 damage to each creature and each player.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageEverythingEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard()));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java b/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java
index c7af96f9fe..08d6cdbd62 100644
--- a/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java
+++ b/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java
@@ -33,7 +33,7 @@ public final class ScreechingGriffin extends CardImpl {
// {R}: Target creature can't block Screeching Griffin this turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedByTargetSourceEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{R}"));
+ new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java b/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java
index d901f53009..e9c748d52c 100644
--- a/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java
+++ b/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java
@@ -27,7 +27,7 @@ public final class ScreechingHarpy extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private ScreechingHarpy(final ScreechingHarpy card) {
diff --git a/Mage.Sets/src/mage/cards/s/ScreechingPhoenix.java b/Mage.Sets/src/mage/cards/s/ScreechingPhoenix.java
index 08ce8f9f11..498c20ff3f 100644
--- a/Mage.Sets/src/mage/cards/s/ScreechingPhoenix.java
+++ b/Mage.Sets/src/mage/cards/s/ScreechingPhoenix.java
@@ -33,7 +33,7 @@ public final class ScreechingPhoenix extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BoostControlledEffect(1, 0, Duration.EndOfTurn),
- new ManaCostsImpl("{2}{R}")
+ new ManaCostsImpl<>("{2}{R}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/ScrollOfFate.java b/Mage.Sets/src/mage/cards/s/ScrollOfFate.java
index fd3e2773af..0d467c260f 100644
--- a/Mage.Sets/src/mage/cards/s/ScrollOfFate.java
+++ b/Mage.Sets/src/mage/cards/s/ScrollOfFate.java
@@ -88,7 +88,7 @@ class ScrollOfFateEffect extends OneShotEffect {
if (card.isCreature(game)) {
manaCosts = card.getSpellAbility() != null ? card.getSpellAbility().getManaCosts() : null;
if (manaCosts == null) {
- manaCosts = new ManaCostsImpl("{0}");
+ manaCosts = new ManaCostsImpl<>("{0}");
}
}
MageObjectReference objectReference = new MageObjectReference(card.getId(),
diff --git a/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java b/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
index 746ec0df8b..189029d43c 100644
--- a/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
+++ b/Mage.Sets/src/mage/cards/s/ScrollOfTheMasters.java
@@ -45,7 +45,7 @@ public final class ScrollOfTheMasters extends CardImpl {
Effect effect = new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn);
effect.setText("Target creature you control gets +1/+1 until end of turn for each lore counter on {this}");
Ability ability = new SimpleActivatedAbility(
- Zone.BATTLEFIELD, effect, new ManaCostsImpl("{3}"));
+ Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{3}"));
ability.addTarget(new TargetControlledCreaturePermanent());
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ScryingGlass.java b/Mage.Sets/src/mage/cards/s/ScryingGlass.java
index 5de031332d..d7fbd2837a 100644
--- a/Mage.Sets/src/mage/cards/s/ScryingGlass.java
+++ b/Mage.Sets/src/mage/cards/s/ScryingGlass.java
@@ -28,7 +28,7 @@ public final class ScryingGlass extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
// {3}, {tap}: Choose a number greater than 0 and a color. Target opponent reveals their hand. If that opponent reveals exactly the chosen number of cards of the chosen color, you draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingGlassEffect(), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryingGlassEffect(), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java b/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java
index 2369b612c2..bf4568f0ac 100644
--- a/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java
+++ b/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java
@@ -28,7 +28,7 @@ public final class SeaGateWreckage extends CardImpl {
// {2}{C}, {T}: Draw a card. Activate this ability only if you have no cards in hand.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1),
- new ManaCostsImpl("{2}{C}"), HellbentCondition.instance);
+ new ManaCostsImpl<>("{2}{C}"), HellbentCondition.instance);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SeaSpirit.java b/Mage.Sets/src/mage/cards/s/SeaSpirit.java
index 5965bdf8d9..b6e4afb838 100644
--- a/Mage.Sets/src/mage/cards/s/SeaSpirit.java
+++ b/Mage.Sets/src/mage/cards/s/SeaSpirit.java
@@ -28,7 +28,7 @@ public final class SeaSpirit extends CardImpl {
this.toughness = new MageInt(3);
// {U}: Sea Spirit gets +1/+0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(+1, +0, Duration.EndOfTurn), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(+1, +0, Duration.EndOfTurn), new ManaCostsImpl<>("{U}"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SeaTroll.java b/Mage.Sets/src/mage/cards/s/SeaTroll.java
index a708309ee9..84843e7340 100644
--- a/Mage.Sets/src/mage/cards/s/SeaTroll.java
+++ b/Mage.Sets/src/mage/cards/s/SeaTroll.java
@@ -36,7 +36,7 @@ public final class SeaTroll extends CardImpl {
this.toughness = new MageInt(1);
// {U}: Regenerate Sea Troll. Activate this ability only if Sea Troll blocked or was blocked by a blue creature this turn.
- Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{U}"), new SeaTrollCondition());
+ Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}"), new SeaTrollCondition());
ability.addWatcher(new SeaTrollWatcher());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SearchForTomorrow.java b/Mage.Sets/src/mage/cards/s/SearchForTomorrow.java
index 55d12920c2..29d3b7dea0 100644
--- a/Mage.Sets/src/mage/cards/s/SearchForTomorrow.java
+++ b/Mage.Sets/src/mage/cards/s/SearchForTomorrow.java
@@ -28,7 +28,7 @@ public final class SearchForTomorrow extends CardImpl {
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(target, false, Outcome.PutLandInPlay));
// Suspend 2-{G}
- this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{G}"), this));
+ this.addAbility(new SuspendAbility(2, new ManaCostsImpl<>("{G}"), this));
}
private SearchForTomorrow(final SearchForTomorrow card) {
diff --git a/Mage.Sets/src/mage/cards/s/SearchlightGeist.java b/Mage.Sets/src/mage/cards/s/SearchlightGeist.java
index d6177643c0..ecdf58ea8f 100644
--- a/Mage.Sets/src/mage/cards/s/SearchlightGeist.java
+++ b/Mage.Sets/src/mage/cards/s/SearchlightGeist.java
@@ -32,7 +32,7 @@ public final class SearchlightGeist extends CardImpl {
// {3}{B}: Searchlight Geist gains deathtouch until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{3}{B}")));
+ new ManaCostsImpl<>("{3}{B}")));
}
private SearchlightGeist(final SearchlightGeist card) {
diff --git a/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java b/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java
index 2ea3d3d630..a54553c689 100644
--- a/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java
+++ b/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java
@@ -33,7 +33,7 @@ public final class SearingSpearAskari extends CardImpl {
this.addAbility(new FlankingAbility());
// {1}{R}: Searing Spear Askari gains menace until end of turn. (It can't be blocked except by two or more creatures.)
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}
private SearingSpearAskari(final SearingSpearAskari card) {
diff --git a/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java b/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java
index 062c656d7a..d025495062 100644
--- a/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java
+++ b/Mage.Sets/src/mage/cards/s/SeasonedPyromancer.java
@@ -41,7 +41,7 @@ public final class SeasonedPyromancer extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.GRAVEYARD,
new CreateTokenEffect(new RedElementalToken(), 2),
- new ManaCostsImpl("{3}{R}{R}")
+ new ManaCostsImpl<>("{3}{R}{R}")
);
ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SeasonedTactician.java b/Mage.Sets/src/mage/cards/s/SeasonedTactician.java
index 65db5c59d4..3d83c670ab 100644
--- a/Mage.Sets/src/mage/cards/s/SeasonedTactician.java
+++ b/Mage.Sets/src/mage/cards/s/SeasonedTactician.java
@@ -31,7 +31,7 @@ public final class SeasonedTactician extends CardImpl {
// {3}, Exile the top four cards of your library: The next time a source of your choice would deal damage to you this turn, prevent that damage.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{3}"));
+ new ManaCostsImpl<>("{3}"));
ability.addCost(new ExileFromTopOfLibraryCost(4));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SecludedSteppe.java b/Mage.Sets/src/mage/cards/s/SecludedSteppe.java
index 29c0445629..2473814128 100644
--- a/Mage.Sets/src/mage/cards/s/SecludedSteppe.java
+++ b/Mage.Sets/src/mage/cards/s/SecludedSteppe.java
@@ -24,7 +24,7 @@ public final class SecludedSteppe extends CardImpl {
// {tap}: Add {W}.
this.addAbility(new WhiteManaAbility());
// Cycling {W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{W}")));
}
private SecludedSteppe(final SecludedSteppe card) {
diff --git a/Mage.Sets/src/mage/cards/s/SecurityDetail.java b/Mage.Sets/src/mage/cards/s/SecurityDetail.java
index 26cd0af04a..277b0142f2 100644
--- a/Mage.Sets/src/mage/cards/s/SecurityDetail.java
+++ b/Mage.Sets/src/mage/cards/s/SecurityDetail.java
@@ -26,7 +26,7 @@ public final class SecurityDetail extends CardImpl {
this.addAbility(new LimitedTimesPerTurnActivatedAbility(
Zone.BATTLEFIELD,
new CreateTokenEffect(new SoldierToken()),
- new ManaCostsImpl("{W}{W}"),
+ new ManaCostsImpl<>("{W}{W}"),
1,
new CreatureCountCondition(0, TargetController.YOU)
));
diff --git a/Mage.Sets/src/mage/cards/s/SedgeSliver.java b/Mage.Sets/src/mage/cards/s/SedgeSliver.java
index 67df8ea5d8..08a3dd4acb 100644
--- a/Mage.Sets/src/mage/cards/s/SedgeSliver.java
+++ b/Mage.Sets/src/mage/cards/s/SedgeSliver.java
@@ -43,7 +43,7 @@ public final class SedgeSliver extends CardImpl {
new GainAbilityAllEffect(boost, Duration.WhileOnBattlefield,
filter, "All Sliver creatures have \"This creature gets +1/+1 as long as you control a Swamp.\"")));
// All Slivers have "{B}: Regenerate this permanent."
- Ability regenerate = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"));
+ Ability regenerate = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new GainAbilityAllEffect(regenerate, Duration.WhileOnBattlefield,
filterSlivers, "All Slivers have \"{B}: Regenerate this permanent.\"")));
diff --git a/Mage.Sets/src/mage/cards/s/SedgeTroll.java b/Mage.Sets/src/mage/cards/s/SedgeTroll.java
index 850ac61869..4a618a03d5 100644
--- a/Mage.Sets/src/mage/cards/s/SedgeTroll.java
+++ b/Mage.Sets/src/mage/cards/s/SedgeTroll.java
@@ -36,7 +36,7 @@ public final class SedgeTroll extends CardImpl {
// Sedge Troll gets +1/+1 as long as you control a Swamp.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {B}: Regenerate Sedge Troll.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
}
private SedgeTroll(final SedgeTroll card) {
diff --git a/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java b/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java
index c2b9962b55..6b87d330c9 100644
--- a/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java
+++ b/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java
@@ -31,7 +31,7 @@ public final class SedraxisSpecter extends CardImpl {
// Whenever Sedraxis Specter deals combat damage to a player, that player discards a card.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true));
// Unearth {1}{B}
- this.addAbility(new UnearthAbility(new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{1}{B}")));
}
private SedraxisSpecter(final SedraxisSpecter card) {
diff --git a/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java b/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java
index 2825f28381..6bcf0297cc 100644
--- a/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java
+++ b/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java
@@ -60,7 +60,7 @@ class SedrisTheTraitorKingEffect extends ContinuousEffectImpl {
for (UUID cardId : controller.getGraveyard()) {
Card card = game.getCard(cardId);
if (card != null && card.isCreature(game)) {
- UnearthAbility ability = new UnearthAbility(new ManaCostsImpl("{2}{B}"));
+ UnearthAbility ability = new UnearthAbility(new ManaCostsImpl<>("{2}{B}"));
ability.setSourceId(cardId);
ability.setControllerId(card.getOwnerId());
game.getState().addOtherAbility(card, ability);
diff --git a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
index 295b0056a4..5f007d3146 100644
--- a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
+++ b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java
@@ -30,7 +30,7 @@ public final class SeedcradleWitch extends CardImpl {
this.toughness = new MageInt(1);
// {2}{G}{W}: Target creature gets +3/+3 until end of turn. Untap that creature.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{W}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{W}"));
ability.addEffect(new UntapTargetEffect().setText("untap that creature"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java b/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java
index 28db602d77..32136cf2eb 100644
--- a/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java
+++ b/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java
@@ -31,7 +31,7 @@ public final class SeerOfTheLastTomorrow extends CardImpl {
this.toughness = new MageInt(4);
// {U}, {T}, Discard a card: Target player puts the top three cards of their library into their graveyard.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(3), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(3), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetPlayer());
diff --git a/Mage.Sets/src/mage/cards/s/SeersSundial.java b/Mage.Sets/src/mage/cards/s/SeersSundial.java
index a8f784c710..203dfdf906 100644
--- a/Mage.Sets/src/mage/cards/s/SeersSundial.java
+++ b/Mage.Sets/src/mage/cards/s/SeersSundial.java
@@ -20,7 +20,7 @@ public final class SeersSundial extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// Landfall - Whenever a land enters the battlefield under your control, you may pay {2}. If you do, draw a card.
- this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}")), false)); // optional = false because DoIfCost is already optonal
+ this.addAbility(new LandfallAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}")), false)); // optional = false because DoIfCost is already optonal
}
private SeersSundial(final SeersSundial card) {
diff --git a/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java b/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java
index 78d228ac51..9b12b9e15b 100644
--- a/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java
+++ b/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java
@@ -23,7 +23,7 @@ public final class SegmentedKrotiq extends CardImpl {
this.toughness = new MageInt(5);
// Megamorph {6}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{6}{G}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{6}{G}"), true));
}
private SegmentedKrotiq(final SegmentedKrotiq card) {
diff --git a/Mage.Sets/src/mage/cards/s/SeismicMage.java b/Mage.Sets/src/mage/cards/s/SeismicMage.java
index 5a6cd7ab60..af2165ad31 100644
--- a/Mage.Sets/src/mage/cards/s/SeismicMage.java
+++ b/Mage.Sets/src/mage/cards/s/SeismicMage.java
@@ -30,7 +30,7 @@ public final class SeismicMage extends CardImpl {
this.toughness = new MageInt(1);
// {2}{R}, {tap}, Discard a card: Destroy target land.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetLandPermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SeizeTheDay.java b/Mage.Sets/src/mage/cards/s/SeizeTheDay.java
index 8c9e698c07..af935cf911 100644
--- a/Mage.Sets/src/mage/cards/s/SeizeTheDay.java
+++ b/Mage.Sets/src/mage/cards/s/SeizeTheDay.java
@@ -27,7 +27,7 @@ public final class SeizeTheDay extends CardImpl {
this.getSpellAbility().addEffect(new AddCombatAndMainPhaseEffect());
// Flashback {2}{R}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{2}{R}")));
}
private SeizeTheDay(final SeizeTheDay card) {
diff --git a/Mage.Sets/src/mage/cards/s/Seizures.java b/Mage.Sets/src/mage/cards/s/Seizures.java
index b478616768..30fdbcfb7f 100644
--- a/Mage.Sets/src/mage/cards/s/Seizures.java
+++ b/Mage.Sets/src/mage/cards/s/Seizures.java
@@ -83,7 +83,7 @@ class SeizuresEffect extends OneShotEffect {
}
Player player = game.getPlayer(enchanted.getControllerId());
if (player != null) {
- Cost cost = new ManaCostsImpl("{3}");
+ Cost cost = new ManaCostsImpl<>("{3}");
if (cost.canPay(source, source, player.getId(), game)
&& player.chooseUse(Outcome.Benefit, "Pay " + cost.getText() + " to avoid damage?", source, game)) {
cost.clearPaid();
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaCluestone.java b/Mage.Sets/src/mage/cards/s/SelesnyaCluestone.java
index 8e769f0767..8746ef2e95 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaCluestone.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaCluestone.java
@@ -32,7 +32,7 @@ public final class SelesnyaCluestone extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {G}{W}, {T}, Sacrifice Selesnya Cluestone: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}{W}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaEulogist.java b/Mage.Sets/src/mage/cards/s/SelesnyaEulogist.java
index 24b31ddbc6..e7b7734ac4 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaEulogist.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaEulogist.java
@@ -31,7 +31,7 @@ public final class SelesnyaEulogist extends CardImpl {
// {2}{G}: Exile target creature card from a graveyard, then populate.
Ability ability = new SimpleActivatedAbility(
new ExileTargetEffect().setText("exile target creature card from a graveyard,"),
- new ManaCostsImpl("{2}{G}")
+ new ManaCostsImpl<>("{2}{G}")
);
ability.addEffect(new PopulateEffect("then"));
ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE));
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java b/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java
index 7c56ab5810..307fe2bccc 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java
@@ -32,9 +32,9 @@ public final class SelesnyaGuildmage extends CardImpl {
this.toughness = new MageInt(2);
// {3}{G}: Create a 1/1 green Saproling creature token.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl("{3}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl<>("{3}{G}")));
// {3}{W}: Creatures you control get +1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{3}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{3}{W}")));
}
public SelesnyaGuildmage (final SelesnyaGuildmage card) {
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java
index b8e3be608a..093aa08cde 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java
@@ -29,7 +29,7 @@ public final class SelesnyaKeyrune extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {G}{W}: Selesnya Keyrune becomes a 3/3 green and white Wolf artifact creature until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SelesnyaKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{G}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SelesnyaKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}")));
}
private SelesnyaKeyrune(final SelesnyaKeyrune card) {
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaLocket.java b/Mage.Sets/src/mage/cards/s/SelesnyaLocket.java
index da3ccb4090..64118cf4ff 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaLocket.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaLocket.java
@@ -29,7 +29,7 @@ public final class SelesnyaLocket extends CardImpl {
// {G/W}{G/W}{G/W}{G/W}, {T}, Sacrifice Selesnya Locket: Draw two cards.
Ability ability = new SimpleActivatedAbility(
new DrawCardSourceControllerEffect(2),
- new ManaCostsImpl("{G/W}{G/W}{G/W}{G/W}")
+ new ManaCostsImpl<>("{G/W}{G/W}{G/W}{G/W}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java b/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java
index 9712213c9f..a70865edc7 100644
--- a/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java
+++ b/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java
@@ -27,7 +27,7 @@ public final class SelesnyaSentry extends CardImpl {
this.toughness = new MageInt(2);
// {5}{G}: Regenerate Selesnya Sentry.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{5}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{5}{G}")));
}
private SelesnyaSentry(final SelesnyaSentry card) {
diff --git a/Mage.Sets/src/mage/cards/s/SelflessCathar.java b/Mage.Sets/src/mage/cards/s/SelflessCathar.java
index 6962c393c7..28d5794da2 100644
--- a/Mage.Sets/src/mage/cards/s/SelflessCathar.java
+++ b/Mage.Sets/src/mage/cards/s/SelflessCathar.java
@@ -29,7 +29,7 @@ public final class SelflessCathar extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}, Sacrifice Selfless Cathar: Creatures you control get +1/+1 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java b/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java
index a0a72de56b..c7a9b74376 100644
--- a/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java
+++ b/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java
@@ -51,7 +51,7 @@ public final class SelvalaHeartOfTheWilds extends CardImpl {
ManaEffect manaEffect = new AddManaInAnyCombinationEffect(
GreatestPowerAmongControlledCreaturesValue.instance, GreatestPowerAmongControlledCreaturesValue.instance,
ColoredManaSymbol.W, ColoredManaSymbol.U, ColoredManaSymbol.B, ColoredManaSymbol.R, ColoredManaSymbol.G);
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, manaEffect, new ManaCostsImpl("{G}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, manaEffect, new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SenateCourier.java b/Mage.Sets/src/mage/cards/s/SenateCourier.java
index b016c0c4bc..7db6e5c691 100644
--- a/Mage.Sets/src/mage/cards/s/SenateCourier.java
+++ b/Mage.Sets/src/mage/cards/s/SenateCourier.java
@@ -32,7 +32,7 @@ public final class SenateCourier extends CardImpl {
// {1}{W}: Senate Courier gains vigilance until end of turn.
this.addAbility(new SimpleActivatedAbility(new GainAbilitySourceEffect(
VigilanceAbility.getInstance(), Duration.EndOfTurn
- ), new ManaCostsImpl("{1}{W}")));
+ ), new ManaCostsImpl<>("{1}{W}")));
}
private SenateCourier(final SenateCourier card) {
diff --git a/Mage.Sets/src/mage/cards/s/SenateGuildmage.java b/Mage.Sets/src/mage/cards/s/SenateGuildmage.java
index 90fed4a5bc..23ea9afcc2 100644
--- a/Mage.Sets/src/mage/cards/s/SenateGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SenateGuildmage.java
@@ -33,7 +33,7 @@ public final class SenateGuildmage extends CardImpl {
this.addAbility(ability1);
// {U}, {T}: Draw a card, then discard a card.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl("{U}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{U}"));
ability2.addCost(new TapSourceCost());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/s/SengirNosferatu.java b/Mage.Sets/src/mage/cards/s/SengirNosferatu.java
index 519c4d1cc3..e777771b61 100644
--- a/Mage.Sets/src/mage/cards/s/SengirNosferatu.java
+++ b/Mage.Sets/src/mage/cards/s/SengirNosferatu.java
@@ -43,7 +43,7 @@ public final class SengirNosferatu extends CardImpl {
// {1}{B}, Exile Sengir Nosferatu: Create a 1/2 black Bat creature token with flying. It has "{1}{B}, Sacrifice this creature: Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control."
Effect effect = new CreateTokenEffect(new SengirNosferatuBatToken(), 1);
effect.setText("Create a 1/2 black Bat creature token with flying. It has \"{1}{B}, Sacrifice this creature: Return an exiled card named Sengir Nosferatu to the battlefield under its owner's control.\"");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new ExileSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java b/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java
index e39abcb7b8..4d45d5bcd2 100644
--- a/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java
+++ b/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java
@@ -41,7 +41,7 @@ public final class SenseiGoldenTail extends CardImpl {
Ability ability = new ActivateAsSorceryActivatedAbility(
Zone.BATTLEFIELD,
new AddCountersTargetEffect(CounterType.TRAINING.createInstance()),
- new ManaCostsImpl("{1}{W}")
+ new ManaCostsImpl<>("{1}{W}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SenselessRage.java b/Mage.Sets/src/mage/cards/s/SenselessRage.java
index 4379ae8d86..202469dc20 100644
--- a/Mage.Sets/src/mage/cards/s/SenselessRage.java
+++ b/Mage.Sets/src/mage/cards/s/SenselessRage.java
@@ -39,7 +39,7 @@ public final class SenselessRage extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.WhileOnBattlefield)));
// Madness {1}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{R}")));
}
private SenselessRage(final SenselessRage card) {
diff --git a/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java b/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java
index 7a042f4e6c..5c1ae95bb2 100644
--- a/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java
+++ b/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java
@@ -35,7 +35,7 @@ public final class SentryOfTheUnderworld extends CardImpl {
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
// {W}{B}, Pay 3 life: Regenerate Sentry of the Underworld.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{W}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{W}{B}"));
ability.addCost(new PayLifeCost(3));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SepharaSkysBlade.java b/Mage.Sets/src/mage/cards/s/SepharaSkysBlade.java
index 4cfa788db4..0dfa1d0225 100644
--- a/Mage.Sets/src/mage/cards/s/SepharaSkysBlade.java
+++ b/Mage.Sets/src/mage/cards/s/SepharaSkysBlade.java
@@ -50,7 +50,7 @@ public final class SepharaSkysBlade extends CardImpl {
this.toughness = new MageInt(7);
// You may pay {W} and tap four untapped creatures you control with flying rather than pay this spell's mana cost.
- Ability ability = new AlternativeCostSourceAbility(new ManaCostsImpl("{W}"));
+ Ability ability = new AlternativeCostSourceAbility(new ManaCostsImpl<>("{W}"));
ability.addCost(new TapTargetCost(new TargetControlledPermanent(
4, 4, filter, true
)));
diff --git a/Mage.Sets/src/mage/cards/s/SeraphOfTheScales.java b/Mage.Sets/src/mage/cards/s/SeraphOfTheScales.java
index d21c04c48f..7119d3de1e 100644
--- a/Mage.Sets/src/mage/cards/s/SeraphOfTheScales.java
+++ b/Mage.Sets/src/mage/cards/s/SeraphOfTheScales.java
@@ -38,7 +38,7 @@ public final class SeraphOfTheScales extends CardImpl {
new GainAbilitySourceEffect(
VigilanceAbility.getInstance(),
Duration.EndOfTurn
- ), new ManaCostsImpl("{W}")
+ ), new ManaCostsImpl<>("{W}")
));
// {B}: Seraph of the Scales gains deathtouch until end of turn.
@@ -47,7 +47,7 @@ public final class SeraphOfTheScales extends CardImpl {
new GainAbilitySourceEffect(
DeathtouchAbility.getInstance(),
Duration.EndOfTurn
- ), new ManaCostsImpl("{B}")
+ ), new ManaCostsImpl<>("{B}")
));
// Afterlife 2
diff --git a/Mage.Sets/src/mage/cards/s/SereneSteward.java b/Mage.Sets/src/mage/cards/s/SereneSteward.java
index 0d9df6b92b..6c331a5274 100644
--- a/Mage.Sets/src/mage/cards/s/SereneSteward.java
+++ b/Mage.Sets/src/mage/cards/s/SereneSteward.java
@@ -31,7 +31,7 @@ public final class SereneSteward extends CardImpl {
// Whenever you gain life, you may pay {W}. If you do, put a +1/+1 counter on target creature.
Ability ability = new GainLifeControllerTriggeredAbility(
- new DoIfCostPaid(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{W}")),
+ new DoIfCostPaid(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{W}")),
false);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SerpentGenerator.java b/Mage.Sets/src/mage/cards/s/SerpentGenerator.java
index 2a4d9201f4..b142e9ae6e 100644
--- a/Mage.Sets/src/mage/cards/s/SerpentGenerator.java
+++ b/Mage.Sets/src/mage/cards/s/SerpentGenerator.java
@@ -26,7 +26,7 @@ public final class SerpentGenerator extends CardImpl {
// {4}, {tap}: Create a 1/1 colorless Snake artifact creature token. It has "Whenever this creature deals damage to a player, that player gets a poison counter."
Effect effect = new CreateTokenEffect(new SerpentGeneratorSnakeToken());
effect.setText("Create a 1/1 colorless Snake artifact creature token. It has \"Whenever this creature deals damage to a player, that player gets a poison counter.\"");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{4}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java b/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java
index 2a8681b908..ac1ca9f69b 100644
--- a/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java
+++ b/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java
@@ -31,7 +31,7 @@ public final class SerpentineBasilisk extends CardImpl {
new CreateDelayedTriggeredAbilityEffect(
new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect("destroy that creature at end of combat")), true), false, true));
// Morph {1}{G}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{G}{G}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{G}{G}")));
}
private SerpentineBasilisk(final SerpentineBasilisk card) {
diff --git a/Mage.Sets/src/mage/cards/s/SerpentineKavu.java b/Mage.Sets/src/mage/cards/s/SerpentineKavu.java
index 0c6f101b3a..e563470173 100644
--- a/Mage.Sets/src/mage/cards/s/SerpentineKavu.java
+++ b/Mage.Sets/src/mage/cards/s/SerpentineKavu.java
@@ -27,7 +27,7 @@ public final class SerpentineKavu extends CardImpl {
this.toughness = new MageInt(4);
// {R}: Serpentine Kavu gains haste until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private SerpentineKavu(final SerpentineKavu card) {
diff --git a/Mage.Sets/src/mage/cards/s/SerraBestiary.java b/Mage.Sets/src/mage/cards/s/SerraBestiary.java
index 8275578b8b..575c62697e 100644
--- a/Mage.Sets/src/mage/cards/s/SerraBestiary.java
+++ b/Mage.Sets/src/mage/cards/s/SerraBestiary.java
@@ -45,7 +45,7 @@ public final class SerraBestiary extends CardImpl {
this.addAbility(ability);
// At the beginning of your upkeep, sacrifice Serra Bestiary unless you pay {W}{W}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{W}{W}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false));
// Enchanted creature can't attack or block, and its activated abilities with {T} in their costs can't be activated.
Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockAttachedEffect(AttachmentType.AURA));
diff --git a/Mage.Sets/src/mage/cards/s/SerraPaladin.java b/Mage.Sets/src/mage/cards/s/SerraPaladin.java
index 9eb242def5..0b60727585 100644
--- a/Mage.Sets/src/mage/cards/s/SerraPaladin.java
+++ b/Mage.Sets/src/mage/cards/s/SerraPaladin.java
@@ -38,7 +38,7 @@ public final class SerraPaladin extends CardImpl {
this.addAbility(ability);
// {1}{W}{W}, {tap}: Target creature gains vigilance until end of turn.
- ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}{W}"));
+ ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
index f713471704..1161801ad9 100644
--- a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
+++ b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java
@@ -45,7 +45,7 @@ public final class SerrasLiturgy extends CardImpl {
// {W}, Sacrifice Serra's Liturgy: Destroy up to X target artifacts and/or enchantments, where X is the number of verse counters on Serra's Liturgy.
Effect effect = new DestroyTargetEffect(true);
effect.setText("Destroy up to X target artifacts and/or enchantments, where X is the number of verse counters on {this}.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(0, 0, filter, false));
ability.setTargetAdjuster(VerseCounterAdjuster.instance);
diff --git a/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java b/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java
index 42a5d5321a..1fa718ea4f 100644
--- a/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java
+++ b/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java
@@ -34,7 +34,7 @@ public final class ServantOfTymaret extends CardImpl {
this.addAbility(new InspiredAbility(new ServantOfTymaretEffect()));
// {2}{B}: Regenerate Servant of Tymaret.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{2}{B}")));
}
private ServantOfTymaret(final ServantOfTymaret card) {
diff --git a/Mage.Sets/src/mage/cards/s/SetessanGriffin.java b/Mage.Sets/src/mage/cards/s/SetessanGriffin.java
index 86a01095ba..94237227ef 100644
--- a/Mage.Sets/src/mage/cards/s/SetessanGriffin.java
+++ b/Mage.Sets/src/mage/cards/s/SetessanGriffin.java
@@ -30,7 +30,7 @@ public final class SetessanGriffin extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{G}{G}: Setessan Griffin gets +2/+2 until end of turn. Activate this ability only once each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,2, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}{G}")));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2,2, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{G}")));
}
private SetessanGriffin(final SetessanGriffin card) {
diff --git a/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java b/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java
index 81e26c2ff7..c37129a9e1 100644
--- a/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java
+++ b/Mage.Sets/src/mage/cards/s/SethronHurloonGeneral.java
@@ -54,7 +54,7 @@ public final class SethronHurloonGeneral extends CardImpl {
// {2}{B/R}: Minotaurs you control get +1/+0 and gain menace and haste until end of turn.
Ability ability = new SimpleActivatedAbility(new BoostControlledEffect(
1, 0, Duration.EndOfTurn, filter2
- ).setText("Minotaurs you control get +1/+0"), new ManaCostsImpl("{2}{B/R}"));
+ ).setText("Minotaurs you control get +1/+0"), new ManaCostsImpl<>("{2}{B/R}"));
ability.addEffect(new GainAbilityControlledEffect(
new MenaceAbility(), Duration.EndOfTurn, filter3
).setText("and gain menace"));
diff --git a/Mage.Sets/src/mage/cards/s/SeverTheBloodline.java b/Mage.Sets/src/mage/cards/s/SeverTheBloodline.java
index ae27c60569..69987774ba 100644
--- a/Mage.Sets/src/mage/cards/s/SeverTheBloodline.java
+++ b/Mage.Sets/src/mage/cards/s/SeverTheBloodline.java
@@ -33,7 +33,7 @@ public final class SeverTheBloodline extends CardImpl {
this.getSpellAbility().addEffect(new SeverTheBloodlineEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Flashback {5}{B}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{B}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{B}{B}")));
}
private SeverTheBloodline(final SeverTheBloodline card) {
diff --git a/Mage.Sets/src/mage/cards/s/SevinnesReclamation.java b/Mage.Sets/src/mage/cards/s/SevinnesReclamation.java
index 0cf6945e4b..a5690a9b52 100644
--- a/Mage.Sets/src/mage/cards/s/SevinnesReclamation.java
+++ b/Mage.Sets/src/mage/cards/s/SevinnesReclamation.java
@@ -40,7 +40,7 @@ public final class SevinnesReclamation extends CardImpl {
this.getSpellAbility().addEffect(new SevinnesReclamationEffect());
// Flashback {4}{W}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{4}{W}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{W}")));
}
private SevinnesReclamation(final SevinnesReclamation card) {
diff --git a/Mage.Sets/src/mage/cards/s/SewerRats.java b/Mage.Sets/src/mage/cards/s/SewerRats.java
index 85e342d6f5..5e68ec9295 100644
--- a/Mage.Sets/src/mage/cards/s/SewerRats.java
+++ b/Mage.Sets/src/mage/cards/s/SewerRats.java
@@ -29,7 +29,7 @@ public final class SewerRats extends CardImpl {
this.toughness = new MageInt(1);
// {B}, Pay 1 life: Sewer Rats gets +1/+0 until end of turn. Activate this ability no more than three times each turn.
- Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{B}"), 3);
+ Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"), 3);
ability.addCost(new PayLifeCost(1));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SewerShambler.java b/Mage.Sets/src/mage/cards/s/SewerShambler.java
index 391c599131..3f8a79201f 100644
--- a/Mage.Sets/src/mage/cards/s/SewerShambler.java
+++ b/Mage.Sets/src/mage/cards/s/SewerShambler.java
@@ -27,7 +27,7 @@ public final class SewerShambler extends CardImpl {
// Swampwalk (This creature can't be blocked as long as defending player controls a Swamp.)
this.addAbility(new SwampwalkAbility());
// Scavenge {2}{B} ({2}{B}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
- this.addAbility(new ScavengeAbility(new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new ScavengeAbility(new ManaCostsImpl<>("{2}{B}")));
}
private SewerShambler(final SewerShambler card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShabrazTheSkyshark.java b/Mage.Sets/src/mage/cards/s/ShabrazTheSkyshark.java
index 1fb6afe8ce..b19acab483 100644
--- a/Mage.Sets/src/mage/cards/s/ShabrazTheSkyshark.java
+++ b/Mage.Sets/src/mage/cards/s/ShabrazTheSkyshark.java
@@ -54,7 +54,7 @@ public final class ShabrazTheSkyshark extends CardImpl {
// {W/U}: Target Human gains flying until end of turn.
ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
FlyingAbility.getInstance(), Duration.EndOfTurn
- ), new ManaCostsImpl("{W/U}"));
+ ), new ManaCostsImpl<>("{W/U}"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/Shackles.java b/Mage.Sets/src/mage/cards/s/Shackles.java
index fbe60a1ed5..e2e41ade34 100644
--- a/Mage.Sets/src/mage/cards/s/Shackles.java
+++ b/Mage.Sets/src/mage/cards/s/Shackles.java
@@ -40,7 +40,7 @@ public final class Shackles extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
// {W}: Return Shackles to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{W}")));
}
private Shackles(final Shackles card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java b/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java
index 5a40d4f9dc..d823258d40 100644
--- a/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java
+++ b/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java
@@ -32,7 +32,7 @@ public final class ShadeOfTrokair extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W)));
// Suspend 3-{W}
- this.addAbility(new SuspendAbility(3, new ManaCostsImpl("{W}"), this));
+ this.addAbility(new SuspendAbility(3, new ManaCostsImpl<>("{W}"), this));
}
private ShadeOfTrokair(final ShadeOfTrokair card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShadesBreath.java b/Mage.Sets/src/mage/cards/s/ShadesBreath.java
index dfef9cdb93..7ac89a66e6 100644
--- a/Mage.Sets/src/mage/cards/s/ShadesBreath.java
+++ b/Mage.Sets/src/mage/cards/s/ShadesBreath.java
@@ -32,7 +32,7 @@ public final class ShadesBreath extends CardImpl {
new GainAbilityControlledEffect(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("this creature gets +1/+1 until end of turn"),
- new ManaCostsImpl("{B}")
+ new ManaCostsImpl<>("{B}")
), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_A_CREATURE)
.setText("and gains \"{B}: This creature gets +1/+1 until end of turn.\"")
);
diff --git a/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java b/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java
index 33a40a7f3d..2af510423f 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java
@@ -32,13 +32,13 @@ public final class ShadowGuildmage extends CardImpl {
this.toughness = new MageInt(1);
// {U}, {tap}: Put target creature you control on top of its owner's library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
// {R}, {tap}: Shadow Guildmage deals 1 damage to any target and 1 damage to you.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new DamageControllerEffect(1));
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/s/ShadowLance.java b/Mage.Sets/src/mage/cards/s/ShadowLance.java
index 6ad9eef8b4..d5646f5fa2 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowLance.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowLance.java
@@ -34,7 +34,7 @@ public final class ShadowLance extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
}
private ShadowLance(final ShadowLance card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShadowbloodEgg.java b/Mage.Sets/src/mage/cards/s/ShadowbloodEgg.java
index 6e2599027b..61e10522e1 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowbloodEgg.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowbloodEgg.java
@@ -24,7 +24,7 @@ public final class ShadowbloodEgg extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {2}, {tap}, Sacrifice Shadowblood Egg: Add {B}{R}. Draw a card.
- ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl("{2}"));
+ ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/s/ShadowbloodRidge.java b/Mage.Sets/src/mage/cards/s/ShadowbloodRidge.java
index 62d5d4a582..1f3b618dbf 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowbloodRidge.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowbloodRidge.java
@@ -22,7 +22,7 @@ public final class ShadowbloodRidge extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// {1}, {tap}: Add {B}{R}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java b/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java
index 8ab705985f..c4a8eba84e 100644
--- a/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java
+++ b/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java
@@ -46,7 +46,7 @@ public final class ShadowbornApostle extends CardImpl {
this.getSpellAbility().addEffect(new InfoEffect("A deck can have any number of cards named Shadowborn Apostle."));
// {B}, Sacrifice six creatures named Shadowborn Apostle: Search your library for a Demon creature and put it onto the battlefield. Then shuffle your library.
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(6,6,filterApostle, false)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java b/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
index efa578ccd1..b4e12c56c3 100644
--- a/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
+++ b/Mage.Sets/src/mage/cards/s/ShalaiVoiceOfPlenty.java
@@ -65,7 +65,7 @@ public final class ShalaiVoiceOfPlenty extends CardImpl {
CounterType.P1P1.createInstance(),
StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED
),
- new ManaCostsImpl("{4}{G}{G}")
+ new ManaCostsImpl<>("{4}{G}{G}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java b/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java
index 2e76ea2b86..1ab4a6cfcd 100644
--- a/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java
+++ b/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java
@@ -27,7 +27,7 @@ public final class ShaleskinPlower extends CardImpl {
this.toughness = new MageInt(2);
// Morph {4}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{R}")));
// When Shaleskin Plower is turned face up, destroy target land.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new DestroyTargetEffect());
ability.addTarget(new TargetLandPermanent());
diff --git a/Mage.Sets/src/mage/cards/s/ShamanEnKor.java b/Mage.Sets/src/mage/cards/s/ShamanEnKor.java
index 0561458fd8..7fd0e76352 100644
--- a/Mage.Sets/src/mage/cards/s/ShamanEnKor.java
+++ b/Mage.Sets/src/mage/cards/s/ShamanEnKor.java
@@ -51,7 +51,7 @@ public final class ShamanEnKor extends CardImpl {
this.addAbility(ability);
// {1}{W}: The next time a source of your choice would deal damage to target creature this turn, that damage is dealt to Shaman en-Kor instead.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShamanEnKorRedirectFromTargetEffect(), new ManaCostsImpl("{1}{W}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShamanEnKorRedirectFromTargetEffect(), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java
index 406e593c90..030edfad8d 100644
--- a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java
+++ b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java
@@ -49,7 +49,7 @@ public final class ShamanOfForgottenWays extends CardImpl {
Ability ability = new ActivateIfConditionActivatedAbility(
Zone.BATTLEFIELD,
new ShamanOfForgottenWaysEffect(),
- new ManaCostsImpl("{9}{G}{G}"),
+ new ManaCostsImpl<>("{9}{G}{G}"),
FormidableCondition.instance);
ability.addCost(new TapSourceCost());
ability.setAbilityWord(AbilityWord.FORMIDABLE);
diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java b/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java
index 93e7ea1dee..e77e30e1ae 100644
--- a/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java
+++ b/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java
@@ -58,7 +58,7 @@ public final class ShamanOfTheGreatHunt extends CardImpl {
// Ferocious — {2}{G/U}{G/U}: Draw a card for each creature you control with power 4 or greater.
DynamicValue amount = new PermanentsOnBattlefieldCount(filter);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(amount), new ManaCostsImpl("{2}{G/U}{G/U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(amount), new ManaCostsImpl<>("{2}{G/U}{G/U}"));
ability.setAbilityWord(AbilityWord.FEROCIOUS);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShamblingRemains.java b/Mage.Sets/src/mage/cards/s/ShamblingRemains.java
index 07299c5fae..075aae6b3d 100644
--- a/Mage.Sets/src/mage/cards/s/ShamblingRemains.java
+++ b/Mage.Sets/src/mage/cards/s/ShamblingRemains.java
@@ -28,7 +28,7 @@ public final class ShamblingRemains extends CardImpl {
// Shambling Remains can't block.
this.addAbility(new CantBlockAbility());
// Unearth {B}{R}
- this.addAbility(new UnearthAbility(new ManaCostsImpl("{B}{R}")));
+ this.addAbility(new UnearthAbility(new ManaCostsImpl<>("{B}{R}")));
}
private ShamblingRemains(final ShamblingRemains card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShamblingStrider.java b/Mage.Sets/src/mage/cards/s/ShamblingStrider.java
index a07825d7b7..a6ca632c31 100644
--- a/Mage.Sets/src/mage/cards/s/ShamblingStrider.java
+++ b/Mage.Sets/src/mage/cards/s/ShamblingStrider.java
@@ -26,7 +26,7 @@ public final class ShamblingStrider extends CardImpl {
this.toughness = new MageInt(5);
// {R}{G}: Shambling Strider gets +1/-1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl("{R}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, -1, Duration.EndOfTurn), new ManaCostsImpl<>("{R}{G}")));
}
private ShamblingStrider(final ShamblingStrider card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShamblingVent.java b/Mage.Sets/src/mage/cards/s/ShamblingVent.java
index a0642f518d..094c961457 100644
--- a/Mage.Sets/src/mage/cards/s/ShamblingVent.java
+++ b/Mage.Sets/src/mage/cards/s/ShamblingVent.java
@@ -36,7 +36,7 @@ public final class ShamblingVent extends CardImpl {
// {1}{W}{B}: Shambling Vent becomes a 2/3 white and black Elemental creature with lifelink until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
- new ShamblingVentToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{W}{B}")));
+ new ShamblingVentToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{B}")));
}
private ShamblingVent(final ShamblingVent card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java b/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java
index 0052ff5b84..5251200ccb 100644
--- a/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java
@@ -32,13 +32,13 @@ public final class ShaperGuildmage extends CardImpl {
this.toughness = new MageInt(1);
// {W}, {tap}: Target creature gains first strike until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {B}, {tap}: Target creature gets +1/+0 until end of turn.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShaperParasite.java b/Mage.Sets/src/mage/cards/s/ShaperParasite.java
index d41caa1c26..44aeb25889 100644
--- a/Mage.Sets/src/mage/cards/s/ShaperParasite.java
+++ b/Mage.Sets/src/mage/cards/s/ShaperParasite.java
@@ -35,7 +35,7 @@ public final class ShaperParasite extends CardImpl {
this.toughness = new MageInt(3);
// Morph {2}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{U}")));
// When Shaper Parasite is turned face up, target creature gets +2/-2 or -2/+2 until end of turn.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new ShaperParasiteEffect());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/ShapersOfNature.java b/Mage.Sets/src/mage/cards/s/ShapersOfNature.java
index 7adf833497..3deaabc134 100644
--- a/Mage.Sets/src/mage/cards/s/ShapersOfNature.java
+++ b/Mage.Sets/src/mage/cards/s/ShapersOfNature.java
@@ -33,12 +33,12 @@ public final class ShapersOfNature extends CardImpl {
this.toughness = new MageInt(3);
// {3}{G}: Put a +1/+1 counter on target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl("{3}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{3}{G}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {2}{U}, Remove a +1/+1 counter from a creature you control: Draw a card.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new RemoveCounterCost(new TargetControlledCreaturePermanent(), CounterType.P1P1));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/Shapesharer.java b/Mage.Sets/src/mage/cards/s/Shapesharer.java
index 7e1548c694..7944dbc31a 100644
--- a/Mage.Sets/src/mage/cards/s/Shapesharer.java
+++ b/Mage.Sets/src/mage/cards/s/Shapesharer.java
@@ -40,7 +40,7 @@ public final class Shapesharer extends CardImpl {
// {2}{U}: Target Shapeshifter becomes a copy of target creature until your next turn.
Ability copyAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new ShapesharerEffect(),
- new ManaCostsImpl("{2}{U}"));
+ new ManaCostsImpl<>("{2}{U}"));
copyAbility.addTarget(new TargetPermanent(filterShapeshifter));
copyAbility.addTarget(new TargetCreaturePermanent());
this.addAbility(copyAbility);
diff --git a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java
index 0724aae57e..fbb686f32b 100644
--- a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java
+++ b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java
@@ -47,7 +47,7 @@ public final class ShardPhoenix extends CardImpl {
// {R}{R}{R}: Return Shard Phoenix from your graveyard to your hand. Activate this ability only during your upkeep.
this.addAbility(new ConditionalActivatedAbility(Zone.GRAVEYARD,
- new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl("{R}{R}{R}"), new IsStepCondition(PhaseStep.UPKEEP), null));
+ new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{R}{R}{R}"), new IsStepCondition(PhaseStep.UPKEEP), null));
}
private ShardPhoenix(final ShardPhoenix card) {
diff --git a/Mage.Sets/src/mage/cards/s/SharkTyphoon.java b/Mage.Sets/src/mage/cards/s/SharkTyphoon.java
index cb4c2dc9c6..733d8cc85d 100644
--- a/Mage.Sets/src/mage/cards/s/SharkTyphoon.java
+++ b/Mage.Sets/src/mage/cards/s/SharkTyphoon.java
@@ -35,7 +35,7 @@ public final class SharkTyphoon extends CardImpl {
));
// Cycling {X}{1}{U}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{X}{1}{U}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{X}{1}{U}")));
// When you cycle Shark Typhoon, create an X/X blue Shark creature token with flying.
this.addAbility(new SharkTyphoonTriggeredAbility());
diff --git a/Mage.Sets/src/mage/cards/s/ShatteredPerception.java b/Mage.Sets/src/mage/cards/s/ShatteredPerception.java
index f678090975..758a843ccf 100644
--- a/Mage.Sets/src/mage/cards/s/ShatteredPerception.java
+++ b/Mage.Sets/src/mage/cards/s/ShatteredPerception.java
@@ -22,7 +22,7 @@ public final class ShatteredPerception extends CardImpl {
// Discard all the cards in your hand, then draw that many cards.
this.getSpellAbility().addEffect(new DiscardHandDrawSameNumberSourceEffect());
// Flashback {5}{R}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{R}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{R}")));
}
private ShatteredPerception(final ShatteredPerception card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
index 7fb2e52975..e6698d021a 100644
--- a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
+++ b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java
@@ -41,18 +41,18 @@ public final class ShattergangBrothers extends CardImpl {
this.toughness = new MageInt(3);
// {2}{B}, Sacrifice a creature: Each other player sacrifices a creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new ManaCostsImpl("{2}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(FILTER_CONTROLLED_CREATURE_SHORT_TEXT), new ManaCostsImpl<>("{2}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
// {2}{R}, Sacrifice an artifact: Each other player sacrifices an artifact.
FilterControlledPermanent filter = new FilterControlledArtifactPermanent("an artifact");
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl("{2}{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
this.addAbility(ability);
// {2}{G}, Sacrifice an enchantment: Each other player sacrifices an enchantment.
filter = new FilterControlledPermanent("an enchantment");
filter.add(CardType.ENCHANTMENT.getPredicate());
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl("{2}{G}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShattergangBrothersEffect(filter), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShaukusMinion.java b/Mage.Sets/src/mage/cards/s/ShaukusMinion.java
index b00de4fac1..339402edac 100644
--- a/Mage.Sets/src/mage/cards/s/ShaukusMinion.java
+++ b/Mage.Sets/src/mage/cards/s/ShaukusMinion.java
@@ -39,7 +39,7 @@ public final class ShaukusMinion extends CardImpl {
this.toughness = new MageInt(2);
// {B}{R}, {tap}: Shauku's Minion deals 2 damage to target white creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{B}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{B}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShefetDunes.java b/Mage.Sets/src/mage/cards/s/ShefetDunes.java
index 4adfe7d350..f5724b9d3c 100644
--- a/Mage.Sets/src/mage/cards/s/ShefetDunes.java
+++ b/Mage.Sets/src/mage/cards/s/ShefetDunes.java
@@ -49,7 +49,7 @@ public final class ShefetDunes extends CardImpl {
Ability ability2 = new ActivateAsSorceryActivatedAbility(
Zone.BATTLEFIELD,
new BoostControlledEffect(1, 1, Duration.EndOfTurn),
- new ManaCostsImpl("{2}{W}{W}"));
+ new ManaCostsImpl<>("{2}{W}{W}"));
ability2.addCost(new TapSourceCost());
ability2.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filterDesertPermanent, true)));
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
index 456998072f..9a822d32fc 100644
--- a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
+++ b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java
@@ -40,7 +40,7 @@ public final class ShefetMonitor extends CardImpl {
this.toughness = new MageInt(5);
// Cycling {3}{G}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}{G}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}{G}")));
// When you cycle Shefet Monitor, you may search your library for a basic land card or a Desert card, put it onto the battlefield, then shuffle your library.
this.addAbility(new CycleTriggeredAbility(
diff --git a/Mage.Sets/src/mage/cards/s/ShelldockIsle.java b/Mage.Sets/src/mage/cards/s/ShelldockIsle.java
index 3fbc09f370..1feb7b775e 100644
--- a/Mage.Sets/src/mage/cards/s/ShelldockIsle.java
+++ b/Mage.Sets/src/mage/cards/s/ShelldockIsle.java
@@ -39,7 +39,7 @@ public final class ShelldockIsle extends CardImpl {
Ability ability = new SimpleActivatedAbility(new ConditionalOneShotEffect(
new HideawayPlayEffect(), condition, "you may play the exiled card " +
"without paying its mana cost if a library has twenty or fewer cards in it"
- ), new ManaCostsImpl("{U}"));
+ ), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShelteredThicket.java b/Mage.Sets/src/mage/cards/s/ShelteredThicket.java
index 676eae6264..fdb41d0733 100644
--- a/Mage.Sets/src/mage/cards/s/ShelteredThicket.java
+++ b/Mage.Sets/src/mage/cards/s/ShelteredThicket.java
@@ -32,7 +32,7 @@ public final class ShelteredThicket extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShieldDancer.java b/Mage.Sets/src/mage/cards/s/ShieldDancer.java
index 788c24f719..da3fb9851a 100644
--- a/Mage.Sets/src/mage/cards/s/ShieldDancer.java
+++ b/Mage.Sets/src/mage/cards/s/ShieldDancer.java
@@ -35,7 +35,7 @@ public final class ShieldDancer extends CardImpl {
this.toughness = new MageInt(3);
// {2}{W}: The next time target attacking creature would deal combat damage to Shield Dancer this turn, that creature deals that damage to itself instead.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShieldDancerRedirectionEffect(), new ManaCostsImpl("{2}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShieldDancerRedirectionEffect(), new ManaCostsImpl<>("{2}{W}"));
ability.addTarget(new TargetAttackingCreature());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java b/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java
index 2447912018..9c7aeb4518 100644
--- a/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java
+++ b/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java
@@ -43,7 +43,7 @@ public final class ShieldhideDragon extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Megamorph {5}{W}{W}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{W}{W}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{W}{W}"), true));
// When Shieldhide Dragon is turned face up, put a +1/+1 counter on each other Dragon you control.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, false));
diff --git a/Mage.Sets/src/mage/cards/s/ShiftingCeratops.java b/Mage.Sets/src/mage/cards/s/ShiftingCeratops.java
index efc57339c0..285a0d0654 100644
--- a/Mage.Sets/src/mage/cards/s/ShiftingCeratops.java
+++ b/Mage.Sets/src/mage/cards/s/ShiftingCeratops.java
@@ -46,7 +46,7 @@ public final class ShiftingCeratops extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.BLUE));
// {G}: Shifting Ceratops gains your choice of reach, trample, or haste until end of turn.
- this.addAbility(new SimpleActivatedAbility(new ShiftingCeratopsEffect(), new ManaCostsImpl("{G}")));
+ this.addAbility(new SimpleActivatedAbility(new ShiftingCeratopsEffect(), new ManaCostsImpl<>("{G}")));
}
private ShiftingCeratops(final ShiftingCeratops card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java b/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java
index 360147f92b..d26f6f0fa3 100644
--- a/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java
+++ b/Mage.Sets/src/mage/cards/s/ShimianNightStalker.java
@@ -41,7 +41,7 @@ public final class ShimianNightStalker extends CardImpl {
this.toughness = new MageInt(4);
// {B}, {T}: All damage that would be dealt to you this turn by target attacking creature is dealt to Shimian Night Stalker instead.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShimianNightStalkerRedirectDamageEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShimianNightStalkerRedirectDamageEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java b/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java
index e4d92e3865..145a849f66 100644
--- a/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java
+++ b/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java
@@ -27,7 +27,7 @@ public final class ShimmeringBarrier extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
this.addAbility(FirstStrikeAbility.getInstance());
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private ShimmeringBarrier(final ShimmeringBarrier card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java b/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java
index f18d8f4aea..b2795505c8 100644
--- a/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java
+++ b/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java
@@ -28,7 +28,7 @@ public final class ShimmerscaleDrake extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java
index 01dd3e5383..f2c1eb321b 100644
--- a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java
+++ b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java
@@ -34,11 +34,11 @@ public final class ShipwreckSinger extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {1}{U}: Target creature an opponent controls attacks this turn if able.
- Ability ability = new SimpleActivatedAbility(new AttacksIfAbleTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(new AttacksIfAbleTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE));
this.addAbility(ability);
// {1}{B}, {T}: Attacking creatures get -1/-1 until end of turn.
- ability = new SimpleActivatedAbility(new BoostAllEffect(-1,-1, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false), new ManaCostsImpl("{1}{B}"));
+ ability = new SimpleActivatedAbility(new BoostAllEffect(-1,-1, Duration.EndOfTurn, StaticFilters.FILTER_ATTACKING_CREATURES, false), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShivanGorge.java b/Mage.Sets/src/mage/cards/s/ShivanGorge.java
index 38600dcf26..62ac093453 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanGorge.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanGorge.java
@@ -28,7 +28,7 @@ public final class ShivanGorge extends CardImpl {
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {2}{R}, {tap}: Shivan Gorge deals 1 damage to each opponent.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShivanHarvest.java b/Mage.Sets/src/mage/cards/s/ShivanHarvest.java
index 9479900a7d..19c050d4b4 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanHarvest.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanHarvest.java
@@ -25,7 +25,7 @@ public final class ShivanHarvest extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
// {1}{R}, Sacrifice a creature: Destroy target nonbasic land.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetNonBasicLandPermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShivanHellkite.java b/Mage.Sets/src/mage/cards/s/ShivanHellkite.java
index d68872f3b7..971c7296f4 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanHellkite.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanHellkite.java
@@ -28,7 +28,7 @@ public final class ShivanHellkite extends CardImpl {
this.power = new MageInt(5);
this.toughness = new MageInt(5);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/ShivanMeteor.java b/Mage.Sets/src/mage/cards/s/ShivanMeteor.java
index d360153716..92af25729c 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanMeteor.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanMeteor.java
@@ -24,7 +24,7 @@ public final class ShivanMeteor extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(13));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Suspend 2-{1}{R}{R}
- this.addAbility(new SuspendAbility(2, new ManaCostsImpl("{1}{R}{R}"), this));
+ this.addAbility(new SuspendAbility(2, new ManaCostsImpl<>("{1}{R}{R}"), this));
}
private ShivanMeteor(final ShivanMeteor card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShivanSandMage.java b/Mage.Sets/src/mage/cards/s/ShivanSandMage.java
index eca0d7e3fe..34ac57b68d 100644
--- a/Mage.Sets/src/mage/cards/s/ShivanSandMage.java
+++ b/Mage.Sets/src/mage/cards/s/ShivanSandMage.java
@@ -53,7 +53,7 @@ public final class ShivanSandMage extends CardImpl {
this.addAbility(ability);
// Suspend 4-{R}
- this.addAbility(new SuspendAbility(4, new ManaCostsImpl("{R}"), this));
+ this.addAbility(new SuspendAbility(4, new ManaCostsImpl<>("{R}"), this));
}
private ShivanSandMage(final ShivanSandMage card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java b/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java
index be3bd98732..7820e2d108 100644
--- a/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java
+++ b/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java
@@ -47,7 +47,7 @@ public final class ShivsEmbrace extends CardImpl {
ability.addEffect(effect);
this.addAbility(ability);
// {R}: Enchanted creature gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShoreKeeper.java b/Mage.Sets/src/mage/cards/s/ShoreKeeper.java
index fa0ed94b27..4d4646498e 100644
--- a/Mage.Sets/src/mage/cards/s/ShoreKeeper.java
+++ b/Mage.Sets/src/mage/cards/s/ShoreKeeper.java
@@ -29,7 +29,7 @@ public final class ShoreKeeper extends CardImpl {
this.toughness = new MageInt(3);
// {7}{u}, {t}, Sacrifice Shore Keeper: Draw three cards.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new ManaCostsImpl("{7}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(3), new ManaCostsImpl<>("{7}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/ShoreSnapper.java b/Mage.Sets/src/mage/cards/s/ShoreSnapper.java
index 86c51ad14a..c2d9e2c5a2 100644
--- a/Mage.Sets/src/mage/cards/s/ShoreSnapper.java
+++ b/Mage.Sets/src/mage/cards/s/ShoreSnapper.java
@@ -29,7 +29,7 @@ public final class ShoreSnapper extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilitySourceEffect(new IslandwalkAbility(), Duration.EndOfTurn),
- new ManaCostsImpl("{U}")));
+ new ManaCostsImpl<>("{U}")));
}
private ShoreSnapper(final ShoreSnapper card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java b/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java
index 1996ca1408..af6f41d8a9 100644
--- a/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java
+++ b/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java
@@ -38,13 +38,13 @@ public final class ShorecrasherElemental extends CardImpl {
this.toughness = new MageInt(3);
// {U}: Exile Shorecrasher Elemental, then return it to the battlefield face down under its owner's control.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShorecrasherElementalEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShorecrasherElementalEffect(), new ManaCostsImpl<>("{U}")));
// {1}: Shorecrasher Elemental gets +1/-1 or -1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShorecrasherElementalBoostEffect(), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShorecrasherElementalBoostEffect(), new ManaCostsImpl<>("{1}")));
// Megamorph {4}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{U}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{U}"), true));
}
diff --git a/Mage.Sets/src/mage/cards/s/ShorelineRanger.java b/Mage.Sets/src/mage/cards/s/ShorelineRanger.java
index 45279e0c10..3c7170cd80 100644
--- a/Mage.Sets/src/mage/cards/s/ShorelineRanger.java
+++ b/Mage.Sets/src/mage/cards/s/ShorelineRanger.java
@@ -29,7 +29,7 @@ public final class ShorelineRanger extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Islandcycling {2}
- this.addAbility(new IslandcyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new IslandcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private ShorelineRanger(final ShorelineRanger card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShreddedSails.java b/Mage.Sets/src/mage/cards/s/ShreddedSails.java
index eb20e6fe23..d77da51831 100644
--- a/Mage.Sets/src/mage/cards/s/ShreddedSails.java
+++ b/Mage.Sets/src/mage/cards/s/ShreddedSails.java
@@ -42,7 +42,7 @@ public final class ShreddedSails extends CardImpl {
this.getSpellAbility().addMode(mode);
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private ShreddedSails(final ShreddedSails card) {
diff --git a/Mage.Sets/src/mage/cards/s/ShroudedLore.java b/Mage.Sets/src/mage/cards/s/ShroudedLore.java
index 137463dca1..b13a319f9b 100644
--- a/Mage.Sets/src/mage/cards/s/ShroudedLore.java
+++ b/Mage.Sets/src/mage/cards/s/ShroudedLore.java
@@ -65,7 +65,7 @@ class ShroudedLoreEffect extends OneShotEffect {
if (you != null && opponent != null) {
FilterCard filter = new FilterCard();
filter.add(new OwnerIdPredicate(you.getId()));
- Cost cost = new ManaCostsImpl("{B}");
+ Cost cost = new ManaCostsImpl<>("{B}");
TargetCardInGraveyard chosenCard;
Card card = null;
boolean done = false;
diff --git a/Mage.Sets/src/mage/cards/s/ShroudedSerpent.java b/Mage.Sets/src/mage/cards/s/ShroudedSerpent.java
index e3654eed05..9ca66eb5b4 100644
--- a/Mage.Sets/src/mage/cards/s/ShroudedSerpent.java
+++ b/Mage.Sets/src/mage/cards/s/ShroudedSerpent.java
@@ -29,7 +29,7 @@ public final class ShroudedSerpent extends CardImpl {
// Whenever Shrouded Serpent attacks, defending player may pay {4}. If they don't, Shrouded Serpent can't be blocked this turn.
this.addAbility(new AttacksTriggeredAbility(
- new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new CantBeBlockedByAllSourceEffect(new FilterCreaturePermanent(), Duration.EndOfCombat), new ManaCostsImpl("{4}")),
+ new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new CantBeBlockedByAllSourceEffect(new FilterCreaturePermanent(), Duration.EndOfCombat), new ManaCostsImpl<>("{4}")),
false,
"Whenever {this} attacks, defending player may pay {4}. If they don't, {this} can't be blocked this turn.",
SetTargetPointer.PLAYER));
diff --git a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
index fd3d9eb674..1c290b2ea0 100644
--- a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
+++ b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java
@@ -46,7 +46,7 @@ public final class ShuYunTheSilentTempest extends CardImpl {
Ability ability = new SpellCastControllerTriggeredAbility(
new DoIfCostPaid(
new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{R/W}{R/W}"),
+ new ManaCostsImpl<>("{R/W}{R/W}"),
"Pay to let target creature gain double strike?"),
filter, false);
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/Sicken.java b/Mage.Sets/src/mage/cards/s/Sicken.java
index 9d39d17723..37eb422f38 100644
--- a/Mage.Sets/src/mage/cards/s/Sicken.java
+++ b/Mage.Sets/src/mage/cards/s/Sicken.java
@@ -35,7 +35,7 @@ public final class Sicken extends CardImpl {
// Enchanted creature gets -2/-2.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-1, -1, Duration.WhileOnBattlefield)));
//Cycling
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private Sicken(final Sicken card) {
diff --git a/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java b/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java
index 0d2a329629..8c08fe0553 100644
--- a/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java
+++ b/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java
@@ -39,7 +39,7 @@ public final class SiegeGangCommander extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new GoblinToken(), 3), false));
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, false)));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SiegebreakerGiant.java b/Mage.Sets/src/mage/cards/s/SiegebreakerGiant.java
index 1a3360b352..d6b25870f2 100644
--- a/Mage.Sets/src/mage/cards/s/SiegebreakerGiant.java
+++ b/Mage.Sets/src/mage/cards/s/SiegebreakerGiant.java
@@ -36,7 +36,7 @@ public final class SiegebreakerGiant extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new CantBlockTargetEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{3}{R}")
+ new ManaCostsImpl<>("{3}{R}")
);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java b/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java
index 3e77e19218..7531a6b2de 100644
--- a/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java
+++ b/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java
@@ -30,7 +30,7 @@ public final class SightedCasteSorcerer extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new ExaltedAbility());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")));
}
public SightedCasteSorcerer (final SightedCasteSorcerer card) {
diff --git a/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java b/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java
index 7d83c4ee59..e9a5716ad5 100644
--- a/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java
+++ b/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java
@@ -43,7 +43,7 @@ public final class SigilOfTheNayanGods extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(amount, amount, Duration.WhileOnBattlefield)));
// Cycling {G/W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{G/W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{G/W}")));
}
private SigilOfTheNayanGods(final SigilOfTheNayanGods card) {
diff --git a/Mage.Sets/src/mage/cards/s/SigilOfTheNewDawn.java b/Mage.Sets/src/mage/cards/s/SigilOfTheNewDawn.java
index ca6e00901b..1b6ad55337 100644
--- a/Mage.Sets/src/mage/cards/s/SigilOfTheNewDawn.java
+++ b/Mage.Sets/src/mage/cards/s/SigilOfTheNewDawn.java
@@ -25,7 +25,7 @@ public final class SigilOfTheNewDawn extends CardImpl {
Effect effect = new ReturnFromGraveyardToHandTargetEffect();
effect.setText("return that card to your hand");
this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(
- new DoIfCostPaid(effect, new ManaCostsImpl("{1}{W}")),
+ new DoIfCostPaid(effect, new ManaCostsImpl<>("{1}{W}")),
false, StaticFilters.FILTER_PERMANENT_A_CREATURE, true, true
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SigilTracer.java b/Mage.Sets/src/mage/cards/s/SigilTracer.java
index 95deaf09e5..780b9fa554 100644
--- a/Mage.Sets/src/mage/cards/s/SigilTracer.java
+++ b/Mage.Sets/src/mage/cards/s/SigilTracer.java
@@ -40,7 +40,7 @@ public final class SigilTracer extends CardImpl {
this.toughness = new MageInt(2);
// {1}{U}, Tap two untapped Wizards you control: Copy target instant or sorcery spell. You may choose new targets for the copy.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CopyTargetSpellEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_INSTANT_OR_SORCERY));
ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, false)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilentAssassin.java b/Mage.Sets/src/mage/cards/s/SilentAssassin.java
index d433cbf48b..33cb908e48 100644
--- a/Mage.Sets/src/mage/cards/s/SilentAssassin.java
+++ b/Mage.Sets/src/mage/cards/s/SilentAssassin.java
@@ -38,7 +38,7 @@ public final class SilentAssassin extends CardImpl {
new AtTheEndOfCombatDelayedTriggeredAbility(
new DestroyTargetEffect().setText("destroy target blocking creature")
), true
- ), new ManaCostsImpl("{3}{B}"));
+ ), new ManaCostsImpl<>("{3}{B}"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SilentDeparture.java b/Mage.Sets/src/mage/cards/s/SilentDeparture.java
index d0e8e7cb8a..c397bfc7f5 100644
--- a/Mage.Sets/src/mage/cards/s/SilentDeparture.java
+++ b/Mage.Sets/src/mage/cards/s/SilentDeparture.java
@@ -25,7 +25,7 @@ public final class SilentDeparture extends CardImpl {
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
// Flashback {4}{U}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{4}{U}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{U}")));
}
private SilentDeparture(final SilentDeparture card) {
diff --git a/Mage.Sets/src/mage/cards/s/SilentSpecter.java b/Mage.Sets/src/mage/cards/s/SilentSpecter.java
index f33626cb3e..1764064710 100644
--- a/Mage.Sets/src/mage/cards/s/SilentSpecter.java
+++ b/Mage.Sets/src/mage/cards/s/SilentSpecter.java
@@ -31,7 +31,7 @@ public final class SilentSpecter extends CardImpl {
// Whenever Silent Specter deals combat damage to a player, that player discards two cards.
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(2), false, true));
// Morph {3}{B}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{B}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{B}{B}")));
}
private SilentSpecter(final SilentSpecter card) {
diff --git a/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java b/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java
index dd3725bc94..076305a352 100644
--- a/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java
+++ b/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java
@@ -34,7 +34,7 @@ public final class SilkbindFaerie extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{WU}, {untap}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{1}{W/U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{1}{W/U}"));
ability.addCost(new UntapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilklashSpider.java b/Mage.Sets/src/mage/cards/s/SilklashSpider.java
index 9aec75f8ad..229199ec03 100644
--- a/Mage.Sets/src/mage/cards/s/SilklashSpider.java
+++ b/Mage.Sets/src/mage/cards/s/SilklashSpider.java
@@ -41,7 +41,7 @@ public final class SilklashSpider extends CardImpl {
// {X}{G}{G}: Silklash Spider deals X damage to each creature with flying.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new DamageAllEffect(ManacostVariableValue.REGULAR, filter),
- new ManaCostsImpl("{X}{G}{G}")));
+ new ManaCostsImpl<>("{X}{G}{G}")));
}
private SilklashSpider(final SilklashSpider card) {
diff --git a/Mage.Sets/src/mage/cards/s/SilkwingScout.java b/Mage.Sets/src/mage/cards/s/SilkwingScout.java
index 5ade8a775f..99651042e0 100644
--- a/Mage.Sets/src/mage/cards/s/SilkwingScout.java
+++ b/Mage.Sets/src/mage/cards/s/SilkwingScout.java
@@ -37,7 +37,7 @@ public final class SilkwingScout extends CardImpl {
// {G}, Sacrifice Silkwing Scout: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
- new ManaCostsImpl("{G}"));
+ new ManaCostsImpl<>("{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java b/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java
index 7ec71e11a4..eb84761c0b 100644
--- a/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java
+++ b/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java
@@ -45,7 +45,7 @@ public final class SilumgarAssassin extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedByCreaturesWithGreaterPowerEffect()));
// Megamorph {2}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{B}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{B}"), true));
// When Silumgar Assassin is turned face up, destroy target creature with power 3 or less an opponent controls.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new DestroyTargetEffect(), false);
diff --git a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java
index 079591759f..fcb2a8a0c4 100644
--- a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java
+++ b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java
@@ -32,7 +32,7 @@ public final class SilumgarMonument extends CardImpl {
// {4}{U}{B}: Silumgar Monument becomes a 4/4 blue and black Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect
- (new OjutaiMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{4}{U}{B}")));
+ (new OjutaiMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{U}{B}")));
}
private SilumgarMonument(final SilumgarMonument card) {
diff --git a/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java b/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java
index 08fdd03aee..ea5b361c52 100644
--- a/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java
+++ b/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java
@@ -29,7 +29,7 @@ public final class SilumgarSpellEater extends CardImpl {
this.toughness = new MageInt(3);
// Megamorph {4}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{U}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{U}"), true));
// When Silumgar Spell-Eater is turned face up, counter target spell unless its controller pays {3}.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new CounterUnlessPaysEffect(new GenericManaCost(3)), false, false);
diff --git a/Mage.Sets/src/mage/cards/s/SilverWyvern.java b/Mage.Sets/src/mage/cards/s/SilverWyvern.java
index b1b0e8d21e..5040adfe5b 100644
--- a/Mage.Sets/src/mage/cards/s/SilverWyvern.java
+++ b/Mage.Sets/src/mage/cards/s/SilverWyvern.java
@@ -49,7 +49,7 @@ public final class SilverWyvern extends CardImpl {
new ChooseNewTargetsTargetEffect(true, true)
.setText("Change the target of target spell or ability that targets only {this}. " +
"The new target must be a creature"),
- new ManaCostsImpl("{U}")
+ new ManaCostsImpl<>("{U}")
);
ability.addTarget(new TargetStackObject(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilverchaseFox.java b/Mage.Sets/src/mage/cards/s/SilverchaseFox.java
index 3e1a44ef96..55cc6f69cf 100644
--- a/Mage.Sets/src/mage/cards/s/SilverchaseFox.java
+++ b/Mage.Sets/src/mage/cards/s/SilverchaseFox.java
@@ -28,7 +28,7 @@ public final class SilverchaseFox extends CardImpl {
this.toughness = new MageInt(2);
// {1}{W}, Sacrifice Silverchase Fox: Exile target enchantment.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetEnchantmentPermanent());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java b/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java
index c88e7f55ce..f776ac2fb5 100644
--- a/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java
+++ b/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java
@@ -34,7 +34,7 @@ public final class SilvergladePathfinder extends CardImpl {
// {1}{G}, {tap}, Discard a card: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
- new ManaCostsImpl("{1}{G}"));
+ new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilversmoteGhoul.java b/Mage.Sets/src/mage/cards/s/SilversmoteGhoul.java
index 85d5dd0288..ceb5b9494f 100644
--- a/Mage.Sets/src/mage/cards/s/SilversmoteGhoul.java
+++ b/Mage.Sets/src/mage/cards/s/SilversmoteGhoul.java
@@ -47,7 +47,7 @@ public final class SilversmoteGhoul extends CardImpl {
// {1}{B}, Sacrifice Silversmote Ghoul: Draw a card.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}")
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{B}")
);
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java b/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java
index 942645fd72..de0d80a4e7 100644
--- a/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java
+++ b/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java
@@ -31,7 +31,7 @@ public final class SilvosRogueElemental extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// {G}: Regenerate Silvos, Rogue Elemental.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{G}")));
}
private SilvosRogueElemental(final SilvosRogueElemental card) {
diff --git a/Mage.Sets/src/mage/cards/s/SimicAscendancy.java b/Mage.Sets/src/mage/cards/s/SimicAscendancy.java
index df75a5edaf..b981f659d0 100644
--- a/Mage.Sets/src/mage/cards/s/SimicAscendancy.java
+++ b/Mage.Sets/src/mage/cards/s/SimicAscendancy.java
@@ -33,7 +33,7 @@ public final class SimicAscendancy extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{U}");
// {1}{G}{U}: Put a +1/+1 counter on target creature you control.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{1}{G}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{G}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java
index 89fb8bc954..605c744961 100644
--- a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java
+++ b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java
@@ -42,7 +42,7 @@ public final class SimicBasilisk extends CardImpl {
Effect effect = new CreateDelayedTriggeredAbilityEffect(
new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true);
effect.setText("destroy that creature at end of combat");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new DealsDamageToACreatureTriggeredAbility(effect, true, false, true), Duration.EndOfTurn), new ManaCostsImpl("{1}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(new DealsDamageToACreatureTriggeredAbility(effect, true, false, true), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_A_CREATURE_P1P1));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SimicCluestone.java b/Mage.Sets/src/mage/cards/s/SimicCluestone.java
index 9e3ec201bd..1556c34e24 100644
--- a/Mage.Sets/src/mage/cards/s/SimicCluestone.java
+++ b/Mage.Sets/src/mage/cards/s/SimicCluestone.java
@@ -32,7 +32,7 @@ public final class SimicCluestone extends CardImpl {
this.addAbility(new BlueManaAbility());
// {G}{U}, {T}, Sacrifice Simic Cluestone: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{G}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SimicFluxmage.java b/Mage.Sets/src/mage/cards/s/SimicFluxmage.java
index c659711909..a2613fd61a 100644
--- a/Mage.Sets/src/mage/cards/s/SimicFluxmage.java
+++ b/Mage.Sets/src/mage/cards/s/SimicFluxmage.java
@@ -38,7 +38,7 @@ public final class SimicFluxmage extends CardImpl {
this.addAbility(new EvolveAbility());
// 1{U}, {T}: Move a +1/+1 counter from Simic Fluxmage onto target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveCounterFromSourceToTargetEffect(),new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveCounterFromSourceToTargetEffect(),new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java
index f29b9cfe9c..c451d148e5 100644
--- a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java
@@ -51,7 +51,7 @@ public final class SimicGuildmage extends CardImpl {
this.toughness = new MageInt(2);
// {1}{G}: Move a +1/+1 counter from target creature onto another target creature with the same controller.
- Ability countersAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveCounterFromTargetToTargetEffect(), new ManaCostsImpl("{1}{G}"));
+ Ability countersAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveCounterFromTargetToTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
TargetCreaturePermanent target = new TargetCreaturePermanent(
new FilterCreaturePermanent("creature (you take counter from)"));
target.setTargetTag(1);
@@ -67,7 +67,7 @@ public final class SimicGuildmage extends CardImpl {
this.addAbility(countersAbility);
// {1}{U}: Attach target Aura enchanting a permanent to another permanent with the same controller.
- Ability auraAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveAuraEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability auraAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MoveAuraEffect(), new ManaCostsImpl<>("{1}{U}"));
auraAbility.addTarget(new TargetPermanent(auraFilter));
this.addAbility(auraAbility);
diff --git a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java
index f355e3222e..9cae760bb7 100644
--- a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java
+++ b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java
@@ -31,7 +31,7 @@ public final class SimicKeyrune extends CardImpl {
this.addAbility(new BlueManaAbility());
// {G}{U}: Simic Keyrune becomes a 2/3 green and blue Crab artifact creature with hexproof until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SimicKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{G}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SimicKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{U}")));
}
private SimicKeyrune(final SimicKeyrune card) {
diff --git a/Mage.Sets/src/mage/cards/s/SimicRagworm.java b/Mage.Sets/src/mage/cards/s/SimicRagworm.java
index ccc5f3b903..2c86eac06a 100644
--- a/Mage.Sets/src/mage/cards/s/SimicRagworm.java
+++ b/Mage.Sets/src/mage/cards/s/SimicRagworm.java
@@ -25,7 +25,7 @@ public final class SimicRagworm extends CardImpl {
this.toughness = new MageInt(3);
// {U}: Untap Simic Ragworm.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{U}")));
}
private SimicRagworm(final SimicRagworm card) {
diff --git a/Mage.Sets/src/mage/cards/s/SinisterConcoction.java b/Mage.Sets/src/mage/cards/s/SinisterConcoction.java
index 4795cdc41d..67a26f69dd 100644
--- a/Mage.Sets/src/mage/cards/s/SinisterConcoction.java
+++ b/Mage.Sets/src/mage/cards/s/SinisterConcoction.java
@@ -26,7 +26,7 @@ public final class SinisterConcoction extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}");
// {B}, Pay 1 life, Put the top card of your library into your graveyard, Discard a card, Sacrifice Sinister Concoction: Destroy target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new PayLifeCost(1));
ability.addCost(new MillCardsCost());
ability.addCost(new DiscardCardCost());
diff --git a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
index eb5098dc99..a587eb38e2 100644
--- a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
+++ b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java
@@ -46,7 +46,7 @@ public final class SinkingFeeling extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
// Enchanted creature has "{1}, Put a -1/-1 counter on this creature: Untap this creature.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{1}"));
ability2.addCost(new PutCountersSourceCost(CounterType.M1M1.createInstance()).setText("put a -1/-1 counter on this creature"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability2, AttachmentType.AURA, Duration.Custom, "Enchanted creature has \"{1}, Put a -1/-1 counter on this creature: Untap this creature.\"")));
diff --git a/Mage.Sets/src/mage/cards/s/SirenStormtamer.java b/Mage.Sets/src/mage/cards/s/SirenStormtamer.java
index 666f896b65..cd77b0bd15 100644
--- a/Mage.Sets/src/mage/cards/s/SirenStormtamer.java
+++ b/Mage.Sets/src/mage/cards/s/SirenStormtamer.java
@@ -45,7 +45,7 @@ public final class SirenStormtamer extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {U}, Sacrifice Siren Stormtamer: Counter target spell or ability that targets you or a creature you control.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{U}"));
ability.addTarget(new SirenStormtamerTargetObject());
ability.addCost(new SacrificeSourceCost());
diff --git a/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java b/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java
index 1334f8291e..1e1ada5df1 100644
--- a/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java
+++ b/Mage.Sets/src/mage/cards/s/SisayWeatherlightCaptain.java
@@ -48,7 +48,7 @@ public final class SisayWeatherlightCaptain extends CardImpl {
// {W}{U}{B}{R}{G}: Search your library for a legendary permanent card with converted mana cost less than Sisay's power, put that card onto the battlefield, then shuffle your library.
this.addAbility(new SimpleActivatedAbility(
new SisayWeatherlightCaptainEffect(),
- new ManaCostsImpl("{W}{U}{B}{R}{G}")
+ new ManaCostsImpl<>("{W}{U}{B}{R}{G}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java b/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java
index f08e7cf7e0..a01418d911 100644
--- a/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java
+++ b/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java
@@ -44,7 +44,7 @@ public final class SisaysIngenuity extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
// Enchanted creature has "{2}{U}: Target creature becomes the color of your choice until end of turn."
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorTargetEffect(Duration.EndOfTurn),
- new ManaCostsImpl("{2}{U}"));
+ new ManaCostsImpl<>("{2}{U}"));
ability.addTarget(new TargetCreaturePermanent());
Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA);
effect.setText("Enchanted creature has \"{2}{U}: Target creature becomes the color of your choice until end of turn.\"");
diff --git a/Mage.Sets/src/mage/cards/s/SithEvoker.java b/Mage.Sets/src/mage/cards/s/SithEvoker.java
index 051394b13b..686f7d8488 100644
--- a/Mage.Sets/src/mage/cards/s/SithEvoker.java
+++ b/Mage.Sets/src/mage/cards/s/SithEvoker.java
@@ -41,7 +41,7 @@ public final class SithEvoker extends CardImpl {
this.toughness = new MageInt(3);
// {T}, {B}, Sacrifice a creature: You gain life equal to that creature's power or toughness.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SithEvokerEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SithEvokerEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
diff --git a/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java b/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java
index 42d1a093c1..c1b6da136b 100644
--- a/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java
@@ -37,11 +37,11 @@ public final class SkarrgGuildmage extends CardImpl {
// {R}{G}: Creatures you control gain trample until end of turn.
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD, new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent(), "Creatures you control gain trample until end of turn"),
- new ManaCostsImpl("{R}{G}")));
+ new ManaCostsImpl<>("{R}{G}")));
// {1}{R}{G}: Target land you control becomes a 4/4 Elemental creature until end of turn. It's still a land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureTargetEffect(
new ElementalCreatureToken(4, 4, "4/4 Elemental creature"),
- false, true, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}{G}") );
+ false, true, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}{G}") );
ability.addTarget(new TargetPermanent(new FilterControlledLandPermanent()));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SkarrgTheRagePits.java b/Mage.Sets/src/mage/cards/s/SkarrgTheRagePits.java
index 2e8e7cdee9..92d48aa5a0 100644
--- a/Mage.Sets/src/mage/cards/s/SkarrgTheRagePits.java
+++ b/Mage.Sets/src/mage/cards/s/SkarrgTheRagePits.java
@@ -26,7 +26,7 @@ public final class SkarrgTheRagePits extends CardImpl {
public SkarrgTheRagePits(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new ColorlessManaAbility());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{R}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{R}{G}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn));
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java
index ebe3af2be2..dadce98393 100644
--- a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java
+++ b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java
@@ -39,7 +39,7 @@ public final class SkarrganFirebird extends CardImpl {
this.addAbility(new ConditionalActivatedAbility(
Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToHandEffect(),
- new ManaCostsImpl("{R}{R}{R}"),
+ new ManaCostsImpl<>("{R}{R}{R}"),
new OpponentWasDealtDamageCondition(),
null));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java b/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java
index 778f98de68..816e660ae3 100644
--- a/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java
+++ b/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java
@@ -39,7 +39,7 @@ public final class SkarrganHellkite extends CardImpl {
// {3}{R}: Skarrgan Hellkite deals 2 damage divided as you choose among one or two targets. Activate this ability only if Skarrgan Hellkite has a +1/+1 counter on it.
Ability ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD, new DamageMultiEffect(2),
- new ManaCostsImpl("{3}{R}"), new SourceHasCounterCondition(CounterType.P1P1),
+ new ManaCostsImpl<>("{3}{R}"), new SourceHasCounterCondition(CounterType.P1P1),
"{3}{R}: {this} deals 2 damage divided as you choose among one or two targets. " +
"Activate only if {this} has a +1/+1 counter on it."
);
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java b/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java
index 7779623592..a53e04f123 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java
@@ -28,7 +28,7 @@ public final class SkeletalChangeling extends CardImpl {
// Changeling
this.addAbility(new ChangelingAbility());
// {1}{B}: Regenerate Skeletal Changeling.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private SkeletalChangeling(final SkeletalChangeling card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java b/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java
index 2e8a9a30f7..564ee4fe59 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java
@@ -41,7 +41,7 @@ public final class SkeletalGrimace extends CardImpl {
this.addAbility(ability);
// Enchanted creature gets +1/+1 and has "{B}: Regenerate this creature."
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 1, Duration.WhileOnBattlefield)));
- Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"));
+ Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java
index 6b741680b9..f6e44979d3 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java
@@ -32,7 +32,7 @@ public final class SkeletalKathari extends CardImpl {
this.toughness = new MageInt(2);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalVampire.java b/Mage.Sets/src/mage/cards/s/SkeletalVampire.java
index 22758d1175..265cf143e3 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalVampire.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalVampire.java
@@ -45,7 +45,7 @@ public final class SkeletalVampire extends CardImpl {
// When Skeletal Vampire enters the battlefield, create two 1/1 black Bat creature tokens with flying.
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BatToken(), 2)));
// {3}{B}{B}, Sacrifice a Bat: Create two 1/1 black Bat creature tokens with flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BatToken(), 2), new ManaCostsImpl("{3}{B}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BatToken(), 2), new ManaCostsImpl<>("{3}{B}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false)));
this.addAbility(ability);
// Sacrifice a Bat: Regenerate Skeletal Vampire.
diff --git a/Mage.Sets/src/mage/cards/s/SkeletalWurm.java b/Mage.Sets/src/mage/cards/s/SkeletalWurm.java
index 0ad633485d..bdcf8a164b 100644
--- a/Mage.Sets/src/mage/cards/s/SkeletalWurm.java
+++ b/Mage.Sets/src/mage/cards/s/SkeletalWurm.java
@@ -26,7 +26,7 @@ public final class SkeletalWurm extends CardImpl {
this.power = new MageInt(7);
this.toughness = new MageInt(6);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
}
private SkeletalWurm(final SkeletalWurm card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkewerTheCritics.java b/Mage.Sets/src/mage/cards/s/SkewerTheCritics.java
index 808d6637fa..519ebffcee 100644
--- a/Mage.Sets/src/mage/cards/s/SkewerTheCritics.java
+++ b/Mage.Sets/src/mage/cards/s/SkewerTheCritics.java
@@ -23,7 +23,7 @@ public final class SkewerTheCritics extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Spectacle {R}
- this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{R}")));
+ this.addAbility(new SpectacleAbility(this, new ManaCostsImpl<>("{R}")));
}
private SkewerTheCritics(final SkewerTheCritics card) {
diff --git a/Mage.Sets/src/mage/cards/s/Skinthinner.java b/Mage.Sets/src/mage/cards/s/Skinthinner.java
index 052190c5f5..ce738b65b9 100644
--- a/Mage.Sets/src/mage/cards/s/Skinthinner.java
+++ b/Mage.Sets/src/mage/cards/s/Skinthinner.java
@@ -27,7 +27,7 @@ public final class Skinthinner extends CardImpl {
this.toughness = new MageInt(1);
// Morph {3}{B}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{B}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{B}{B}")));
// When Skinthinner is turned face up, destroy target nonblack creature. It can't be regenerated.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new DestroyTargetEffect(true));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
diff --git a/Mage.Sets/src/mage/cards/s/SkirkCommando.java b/Mage.Sets/src/mage/cards/s/SkirkCommando.java
index d44a07d1c9..8fd4e024fd 100644
--- a/Mage.Sets/src/mage/cards/s/SkirkCommando.java
+++ b/Mage.Sets/src/mage/cards/s/SkirkCommando.java
@@ -35,7 +35,7 @@ public final class SkirkCommando extends CardImpl {
this.addAbility(new SkirkCommandoTriggeredAbility());
//Morph {2}{R} (You may cast this card face down as a 2/2 creature for 3. Turn it face up any time for its morph cost.)
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java b/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java
index ef086d3db4..55dd15459d 100644
--- a/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java
+++ b/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java
@@ -43,7 +43,7 @@ public final class SkirkDrillSergeant extends CardImpl {
this.toughness = new MageInt(1);
// Whenever Skirk Drill Sergeant or another Goblin dies, you may pay {2}{R}. If you do, reveal the top card of your library. If it's a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard.
- this.addAbility(new DiesThisOrAnotherCreatureTriggeredAbility(new DoIfCostPaid(new SkirkDrillSergeantEffect(), new ManaCostsImpl("{2}{R}")), false, filter));
+ this.addAbility(new DiesThisOrAnotherCreatureTriggeredAbility(new DoIfCostPaid(new SkirkDrillSergeantEffect(), new ManaCostsImpl<>("{2}{R}")), false, filter));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkirkMarauder.java b/Mage.Sets/src/mage/cards/s/SkirkMarauder.java
index 397940e73c..a86dcb65af 100644
--- a/Mage.Sets/src/mage/cards/s/SkirkMarauder.java
+++ b/Mage.Sets/src/mage/cards/s/SkirkMarauder.java
@@ -27,7 +27,7 @@ public final class SkirkMarauder extends CardImpl {
this.toughness = new MageInt(1);
// Morph {2}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{R}")));
// When Skirk Marauder is turned face up, it deals 2 damage to any target.
Ability ability = new TurnedFaceUpSourceTriggeredAbility(new DamageTargetEffect(2, "it"));
diff --git a/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java b/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java
index 04969add8f..ebacc960bd 100644
--- a/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java
+++ b/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java
@@ -30,7 +30,7 @@ public final class SkirkRidgeExhumer extends CardImpl {
this.toughness = new MageInt(1);
// {B}, {tap}, Discard a card: Create a 1/1 black Zombie Goblin creature token named Festering Goblin. It has "When Festering Goblin dies, target creature gets -1/-1 until end of turn."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new FesteringGoblinToken()), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new FesteringGoblinToken()), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java
index 283fb8af42..fc807c6e3d 100644
--- a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java
+++ b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java
@@ -32,7 +32,7 @@ public final class SkirsdagCultist extends CardImpl {
this.toughness = new MageInt(2);
// {R}, {T}, Sacrifice a creature: Skirsdag Cultist deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java b/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java
index a5504780f0..1ea4d5e62b 100644
--- a/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java
+++ b/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java
@@ -39,7 +39,7 @@ public final class SkirsdagFlayer extends CardImpl {
this.toughness = new MageInt(1);
// {3}{B}, {tap}, Sacrifice a Human: Destroy target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java b/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java
index 865e8a4d28..4584ef0835 100644
--- a/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java
+++ b/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java
@@ -29,7 +29,7 @@ public final class SkirsdagSupplicant extends CardImpl {
this.toughness = new MageInt(3);
// {B}, {T}, Discard a card: Each player loses 2 life.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeAllPlayersEffect(2), new ManaCostsImpl("{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeAllPlayersEffect(2), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java b/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java
index 95279e779e..2fec41c3bb 100644
--- a/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java
+++ b/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java
@@ -36,8 +36,8 @@ public final class SkithiryxTheBlightDragon extends CardImpl {
this.toughness = new MageInt(4);
this.addAbility(FlyingAbility.getInstance());
this.addAbility(InfectAbility.getInstance());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{B}")));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}{B}")));
}
public SkithiryxTheBlightDragon (final SkithiryxTheBlightDragon card) {
diff --git a/Mage.Sets/src/mage/cards/s/Skitterskin.java b/Mage.Sets/src/mage/cards/s/Skitterskin.java
index ed40db6bfc..70676dd1b6 100644
--- a/Mage.Sets/src/mage/cards/s/Skitterskin.java
+++ b/Mage.Sets/src/mage/cards/s/Skitterskin.java
@@ -48,7 +48,7 @@ public final class Skitterskin extends CardImpl {
// {1}{B}: Regenerate Skitterskin. Activate this ability only if you control another colorless creature.
Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD,
new RegenerateSourceEffect(),
- new ManaCostsImpl("{1}{B}"),
+ new ManaCostsImpl<>("{1}{B}"),
new PermanentsOnTheBattlefieldCondition(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkittishValesk.java b/Mage.Sets/src/mage/cards/s/SkittishValesk.java
index 04d609547c..6c355fe6e1 100644
--- a/Mage.Sets/src/mage/cards/s/SkittishValesk.java
+++ b/Mage.Sets/src/mage/cards/s/SkittishValesk.java
@@ -35,7 +35,7 @@ public final class SkittishValesk extends CardImpl {
this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SkittishValeskEffect(), TargetController.YOU, false));
// Morph {5}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{R}")));
}
private SkittishValesk(final SkittishValesk card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java b/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java
index 7e8b751c21..0c77b34bce 100644
--- a/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java
+++ b/Mage.Sets/src/mage/cards/s/SkolaGrovedancer.java
@@ -35,7 +35,7 @@ public final class SkolaGrovedancer extends CardImpl {
// {2}{G}: Put the top card of your library into your graveyard.
this.addAbility(new SimpleActivatedAbility(
- new MillCardsControllerEffect(1), new ManaCostsImpl("{2}{G}")
+ new MillCardsControllerEffect(1), new ManaCostsImpl<>("{2}{G}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkullCollector.java b/Mage.Sets/src/mage/cards/s/SkullCollector.java
index 71ce9345e6..5d87d96322 100644
--- a/Mage.Sets/src/mage/cards/s/SkullCollector.java
+++ b/Mage.Sets/src/mage/cards/s/SkullCollector.java
@@ -40,7 +40,7 @@ public final class SkullCollector extends CardImpl {
// At the beginning of your upkeep, return a black creature you control to its owner's hand.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false));
// {1}{B}: Regenerate Skull Collector.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private SkullCollector(final SkullCollector card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkullFracture.java b/Mage.Sets/src/mage/cards/s/SkullFracture.java
index a4186e6dd2..a416d6c68a 100644
--- a/Mage.Sets/src/mage/cards/s/SkullFracture.java
+++ b/Mage.Sets/src/mage/cards/s/SkullFracture.java
@@ -26,7 +26,7 @@ public final class SkullFracture extends CardImpl {
this.getSpellAbility().addEffect(new DiscardTargetEffect(1));
this.getSpellAbility().addTarget(new TargetPlayer());
// Flashback {3}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{3}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{3}{B}")));
}
private SkullFracture(final SkullFracture card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkullportMerchant.java b/Mage.Sets/src/mage/cards/s/SkullportMerchant.java
index 33aea4c880..0dcd5c5305 100644
--- a/Mage.Sets/src/mage/cards/s/SkullportMerchant.java
+++ b/Mage.Sets/src/mage/cards/s/SkullportMerchant.java
@@ -45,7 +45,7 @@ public final class SkullportMerchant extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new TreasureToken())));
// {1}{B}, Sacrifice another creature or a Treasure: Draw a card.
- Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkycatSovereign.java b/Mage.Sets/src/mage/cards/s/SkycatSovereign.java
index 4586b90fa2..b14012ff87 100644
--- a/Mage.Sets/src/mage/cards/s/SkycatSovereign.java
+++ b/Mage.Sets/src/mage/cards/s/SkycatSovereign.java
@@ -52,7 +52,7 @@ public final class SkycatSovereign extends CardImpl {
// {2}{W}{U}: Create a 1/1 white Cat Bird creature token with flying.
this.addAbility(new SimpleActivatedAbility(
- new CreateTokenEffect(new CatBirdToken()), new ManaCostsImpl("{2}{W}{U}")
+ new CreateTokenEffect(new CatBirdToken()), new ManaCostsImpl<>("{2}{W}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkycloudEgg.java b/Mage.Sets/src/mage/cards/s/SkycloudEgg.java
index 830b33aaae..b195595680 100644
--- a/Mage.Sets/src/mage/cards/s/SkycloudEgg.java
+++ b/Mage.Sets/src/mage/cards/s/SkycloudEgg.java
@@ -24,7 +24,7 @@ public final class SkycloudEgg extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {2}, {tap}, Sacrifice Skycloud Egg: Add {W}{U}. Draw a card.
- ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl("{2}"));
+ ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/s/SkycloudExpanse.java b/Mage.Sets/src/mage/cards/s/SkycloudExpanse.java
index 66d61b5bbe..c9e2551e14 100644
--- a/Mage.Sets/src/mage/cards/s/SkycloudExpanse.java
+++ b/Mage.Sets/src/mage/cards/s/SkycloudExpanse.java
@@ -22,7 +22,7 @@ public final class SkycloudExpanse extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// {1}, {tap}: Add {W}{U}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkylineScout.java b/Mage.Sets/src/mage/cards/s/SkylineScout.java
index 21a1eeb448..966b608a3d 100644
--- a/Mage.Sets/src/mage/cards/s/SkylineScout.java
+++ b/Mage.Sets/src/mage/cards/s/SkylineScout.java
@@ -31,7 +31,7 @@ public final class SkylineScout extends CardImpl {
this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(
new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn)
.setText("it gains flying until end of turn"),
- new ManaCostsImpl("{1}{W}")
+ new ManaCostsImpl<>("{1}{W}")
), false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java b/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java
index 0c646acf19..26c5ad1092 100644
--- a/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java
+++ b/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java
@@ -53,7 +53,7 @@ public final class SkyriderPatrol extends CardImpl {
ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(new BeginningOfCombatTriggeredAbility(new DoWhenCostPaid(
- ability, new ManaCostsImpl("{G}{U}"), "Pay {G}{U}?"
+ ability, new ManaCostsImpl<>("{G}{U}"), "Pay {G}{U}?"
), TargetController.YOU, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/Skyscribing.java b/Mage.Sets/src/mage/cards/s/Skyscribing.java
index 347be5f679..d486c2dc63 100644
--- a/Mage.Sets/src/mage/cards/s/Skyscribing.java
+++ b/Mage.Sets/src/mage/cards/s/Skyscribing.java
@@ -22,7 +22,7 @@ public final class Skyscribing extends CardImpl {
// Each player draws X cards.
this.getSpellAbility().addEffect(new DrawCardAllEffect(ManacostVariableValue.REGULAR));
// Forecast - {2}{U}, Reveal Skyscribing from your hand: Each player draws a card.
- this.addAbility(new ForecastAbility(new DrawCardAllEffect(1), new ManaCostsImpl("{2}{U}")));
+ this.addAbility(new ForecastAbility(new DrawCardAllEffect(1), new ManaCostsImpl<>("{2}{U}")));
}
private Skyscribing(final Skyscribing card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkyshipStalker.java b/Mage.Sets/src/mage/cards/s/SkyshipStalker.java
index f606701c16..3c8b29d316 100644
--- a/Mage.Sets/src/mage/cards/s/SkyshipStalker.java
+++ b/Mage.Sets/src/mage/cards/s/SkyshipStalker.java
@@ -33,13 +33,13 @@ public final class SkyshipStalker extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {R}: Skyship Stalker gains +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// {R}: Skyship Stalker gains first strike until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// {R}: Skyship Stalker gains haste until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private SkyshipStalker(final SkyshipStalker card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudElf.java b/Mage.Sets/src/mage/cards/s/SkyshroudElf.java
index 8ad3fae6bf..a43f84b2d6 100644
--- a/Mage.Sets/src/mage/cards/s/SkyshroudElf.java
+++ b/Mage.Sets/src/mage/cards/s/SkyshroudElf.java
@@ -32,9 +32,9 @@ public final class SkyshroudElf extends CardImpl {
this.addAbility(new GreenManaAbility());
// {1}: Add {R} or {W}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(1), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(1), new ManaCostsImpl<>("{1}"));
this.addAbility(ability);
- Ability ability2 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(1), new ManaCostsImpl("{1}"));
+ Ability ability2 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(1), new ManaCostsImpl<>("{1}"));
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java
index 278198ea92..168cb5aae0 100644
--- a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java
+++ b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java
@@ -37,7 +37,7 @@ public final class SkyshroudPoacher extends CardImpl {
this.toughness = new MageInt(2);
// {3}, {tap}: Search your library for an Elf permanent card and put it onto the battlefield. Then shuffle your library.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java b/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java
index 7b379eb5fd..cfb1f11148 100644
--- a/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java
+++ b/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java
@@ -25,7 +25,7 @@ public final class SkyshroudTroll extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(3);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}")));
}
private SkyshroudTroll(final SkyshroudTroll card) {
diff --git a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java
index 22725f5460..a4ff98aff5 100644
--- a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java
+++ b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java
@@ -30,7 +30,7 @@ public final class SkywatcherAdept extends LevelerCard {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- this.addAbility(new LevelUpAbility(new ManaCostsImpl("{3}")));
+ this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{3}")));
Abilities abilities1 = new AbilitiesImpl<>();
abilities1.add(FlyingAbility.getInstance());
diff --git a/Mage.Sets/src/mage/cards/s/SkywaySniper.java b/Mage.Sets/src/mage/cards/s/SkywaySniper.java
index 362fae650a..b41d481aad 100644
--- a/Mage.Sets/src/mage/cards/s/SkywaySniper.java
+++ b/Mage.Sets/src/mage/cards/s/SkywaySniper.java
@@ -41,7 +41,7 @@ public final class SkywaySniper extends CardImpl {
this.addAbility(ReachAbility.getInstance());
// {2}{G}: Skyway Sniper deals 1 damage to target creature with flying.
- Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(1), new ManaCostsImpl<>("{2}{G}"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java b/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
index eab6812a92..af23359c86 100644
--- a/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
+++ b/Mage.Sets/src/mage/cards/s/SkywiseTeachings.java
@@ -29,7 +29,7 @@ public final class SkywiseTeachings extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}");
// Whenever you cast a noncreature spell, you may pay {1}{U}. If you do, create a 2/2 blue Djinn Monk creature token with flying.
- this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new DjinnMonkToken()), new ManaCostsImpl("{1}{U}")), filter, false));
+ this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new DjinnMonkToken()), new ManaCostsImpl<>("{1}{U}")), filter, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SlaughterPact.java b/Mage.Sets/src/mage/cards/s/SlaughterPact.java
index 62ad870c5b..80ae58690b 100644
--- a/Mage.Sets/src/mage/cards/s/SlaughterPact.java
+++ b/Mage.Sets/src/mage/cards/s/SlaughterPact.java
@@ -26,7 +26,7 @@ public final class SlaughterPact extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK));
this.getSpellAbility().addEffect(new DestroyTargetEffect());
// At the beginning of your next upkeep, pay {2}{B}. If you don't, you lose the game.
- this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new PactDelayedTriggeredAbility(new ManaCostsImpl("{2}{B}")),false));
+ this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new PactDelayedTriggeredAbility(new ManaCostsImpl<>("{2}{B}")),false));
}
private SlaughterPact(final SlaughterPact card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlayersStronghold.java b/Mage.Sets/src/mage/cards/s/SlayersStronghold.java
index b46858cbe3..5279685d96 100644
--- a/Mage.Sets/src/mage/cards/s/SlayersStronghold.java
+++ b/Mage.Sets/src/mage/cards/s/SlayersStronghold.java
@@ -31,7 +31,7 @@ public final class SlayersStronghold extends CardImpl {
// {R}{W}, {tap}: Target creature gets +2/+0 and gains vigilance and haste until end of turn.
Ability ability = new SimpleActivatedAbility(new BoostTargetEffect(
2, 0, Duration.EndOfTurn
- ).setText("target creature gets +2/+0"), new ManaCostsImpl("{R}{W}"));
+ ).setText("target creature gets +2/+0"), new ManaCostsImpl<>("{R}{W}"));
ability.addEffect(new GainAbilityTargetEffect(
VigilanceAbility.getInstance(), Duration.EndOfTurn
).setText("and gains vigilance"));
diff --git a/Mage.Sets/src/mage/cards/s/SliceAndDice.java b/Mage.Sets/src/mage/cards/s/SliceAndDice.java
index 1f840e61ab..ef607a02be 100644
--- a/Mage.Sets/src/mage/cards/s/SliceAndDice.java
+++ b/Mage.Sets/src/mage/cards/s/SliceAndDice.java
@@ -23,7 +23,7 @@ public final class SliceAndDice extends CardImpl {
// Slice and Dice deals 4 damage to each creature.
this.getSpellAbility().addEffect(new DamageAllEffect(4, new FilterCreaturePermanent()));
// Cycling {2}{R}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{R}")));
// When you cycle Slice and Dice, you may have it deal 1 damage to each creature.
this.addAbility(new CycleTriggeredAbility(new DamageAllEffect(1, StaticFilters.FILTER_PERMANENT_CREATURE).setText("have it deal 1 damage to each creature"), true));
}
diff --git a/Mage.Sets/src/mage/cards/s/SlimefootTheStowaway.java b/Mage.Sets/src/mage/cards/s/SlimefootTheStowaway.java
index 72f5a00063..0d7dfc11d7 100644
--- a/Mage.Sets/src/mage/cards/s/SlimefootTheStowaway.java
+++ b/Mage.Sets/src/mage/cards/s/SlimefootTheStowaway.java
@@ -43,7 +43,7 @@ public final class SlimefootTheStowaway extends CardImpl {
this.addAbility(ability);
// {4}: Create a 1/1 green Saproling creature token.
- this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl("{4}")));
+ this.addAbility(new SimpleActivatedAbility(new CreateTokenEffect(new SaprolingToken()), new ManaCostsImpl<>("{4}")));
}
private SlimefootTheStowaway(final SlimefootTheStowaway card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlingbowTrap.java b/Mage.Sets/src/mage/cards/s/SlingbowTrap.java
index c154c89ccd..444f4a0d19 100644
--- a/Mage.Sets/src/mage/cards/s/SlingbowTrap.java
+++ b/Mage.Sets/src/mage/cards/s/SlingbowTrap.java
@@ -35,7 +35,7 @@ public final class SlingbowTrap extends CardImpl {
this.subtype.add(SubType.TRAP);
// If a black creature with flying is attacking, you may pay {G} rather than pay Slingbow Trap's mana cost.
- this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{G}"), SlingbowTrapCondition.instance));
+ this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{G}"), SlingbowTrapCondition.instance));
// Destroy target attacking creature with flying.
this.getSpellAbility().addEffect(new DestroyTargetEffect());
diff --git a/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java b/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java
index aacdf5c176..275f9c60bc 100644
--- a/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java
+++ b/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java
@@ -38,7 +38,7 @@ public final class SlingshotGoblin extends CardImpl {
this.toughness = new MageInt(2);
// {R}, {tap}: Slingshot Goblin deals 2 damage to target blue creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java b/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java
index 36d65b56eb..33b1f7d3d8 100644
--- a/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java
+++ b/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java
@@ -31,7 +31,7 @@ public final class SlinkingSkirge extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}, Sacrifice Slinking Skirge: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SlipperyKarst.java b/Mage.Sets/src/mage/cards/s/SlipperyKarst.java
index dcd815373e..8089ae161b 100644
--- a/Mage.Sets/src/mage/cards/s/SlipperyKarst.java
+++ b/Mage.Sets/src/mage/cards/s/SlipperyKarst.java
@@ -22,7 +22,7 @@ public final class SlipperyKarst extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new GreenManaAbility());
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SlipperyKarst(final SlipperyKarst card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlipstreamEel.java b/Mage.Sets/src/mage/cards/s/SlipstreamEel.java
index 0352ad454b..5f8564b57c 100644
--- a/Mage.Sets/src/mage/cards/s/SlipstreamEel.java
+++ b/Mage.Sets/src/mage/cards/s/SlipstreamEel.java
@@ -31,7 +31,7 @@ public final class SlipstreamEel extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND,"an Island"))));
// Cycling {1}{U}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{U}")));
}
private SlipstreamEel(final SlipstreamEel card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java b/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java
index 03fb381a45..ef4bbffbf8 100644
--- a/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java
+++ b/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java
@@ -38,7 +38,7 @@ public final class SlipstreamSerpent extends CardImpl {
new SacrificeSourceEffect()));
// Morph {5}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{U}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{U}")));
}
private SlipstreamSerpent(final SlipstreamSerpent card) {
diff --git a/Mage.Sets/src/mage/cards/s/SliptideSerpent.java b/Mage.Sets/src/mage/cards/s/SliptideSerpent.java
index 0c1407d820..a54b5d27f8 100644
--- a/Mage.Sets/src/mage/cards/s/SliptideSerpent.java
+++ b/Mage.Sets/src/mage/cards/s/SliptideSerpent.java
@@ -25,7 +25,7 @@ public final class SliptideSerpent extends CardImpl {
this.toughness = new MageInt(4);
// {3}{U}: Return Sliptide Serpent to its owner's hand.
- this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl("{3}{U}")));
+ this.addAbility(new SimpleActivatedAbility(new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{3}{U}")));
}
private SliptideSerpent(final SliptideSerpent card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlithBloodletter.java b/Mage.Sets/src/mage/cards/s/SlithBloodletter.java
index b3fa51394b..c13a7a3c8e 100644
--- a/Mage.Sets/src/mage/cards/s/SlithBloodletter.java
+++ b/Mage.Sets/src/mage/cards/s/SlithBloodletter.java
@@ -28,7 +28,7 @@ public final class SlithBloodletter extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}")));
}
private SlithBloodletter(final SlithBloodletter card) {
diff --git a/Mage.Sets/src/mage/cards/s/Slitherhead.java b/Mage.Sets/src/mage/cards/s/Slitherhead.java
index c39f43d839..b48e080ac5 100644
--- a/Mage.Sets/src/mage/cards/s/Slitherhead.java
+++ b/Mage.Sets/src/mage/cards/s/Slitherhead.java
@@ -25,7 +25,7 @@ public final class Slitherhead extends CardImpl {
this.toughness = new MageInt(1);
// Scavenge {0} ({0}, Exile this card from your graveyard: Put a number of +1/+1 counters equal to this card's power on target creature. Scavenge only as a sorcery.)
- this.addAbility(new ScavengeAbility(new ManaCostsImpl("{0}")));
+ this.addAbility(new ScavengeAbility(new ManaCostsImpl<>("{0}")));
}
private Slitherhead(final Slitherhead card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlitheringShade.java b/Mage.Sets/src/mage/cards/s/SlitheringShade.java
index b7e60c0192..9128fcb235 100644
--- a/Mage.Sets/src/mage/cards/s/SlitheringShade.java
+++ b/Mage.Sets/src/mage/cards/s/SlitheringShade.java
@@ -36,7 +36,7 @@ public final class SlitheringShade extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
//{B}: Slithering Shade gets +1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
// Hellbent — Slithering Shade can attack as though it didn't have defender as long as you have no cards in hand.
Effect effect = new ConditionalAsThoughEffect(
diff --git a/Mage.Sets/src/mage/cards/s/SliverOverlord.java b/Mage.Sets/src/mage/cards/s/SliverOverlord.java
index 5fedf523a9..23b27779f6 100644
--- a/Mage.Sets/src/mage/cards/s/SliverOverlord.java
+++ b/Mage.Sets/src/mage/cards/s/SliverOverlord.java
@@ -39,10 +39,10 @@ public final class SliverOverlord extends CardImpl {
this.toughness = new MageInt(7);
// {3}: Search your library for a Sliver card, reveal that card, and put it into your hand. Then shuffle your library.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true), new ManaCostsImpl("{3}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true), new ManaCostsImpl<>("{3}")));
// {3}: Gain control of target Sliver.
- Ability ability = (new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.Custom), new ManaCostsImpl("{3}")));
+ Ability ability = (new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.Custom), new ManaCostsImpl<>("{3}")));
Target target = new TargetPermanent(new FilterCreaturePermanent(SubType.SLIVER,"Sliver"));
ability.addTarget(target);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SliverQueen.java b/Mage.Sets/src/mage/cards/s/SliverQueen.java
index 9f94c868ec..bafd8b4791 100644
--- a/Mage.Sets/src/mage/cards/s/SliverQueen.java
+++ b/Mage.Sets/src/mage/cards/s/SliverQueen.java
@@ -29,7 +29,7 @@ public final class SliverQueen extends CardImpl {
this.toughness = new MageInt(7);
// {2}: Create a 1/1 colorless Sliver creature token.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SliverToken()), new ManaCostsImpl("{2}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SliverToken()), new ManaCostsImpl<>("{2}")));
}
private SliverQueen(final SliverQueen card) {
diff --git a/Mage.Sets/src/mage/cards/s/Sliversmith.java b/Mage.Sets/src/mage/cards/s/Sliversmith.java
index bdfade99e9..39a8d1f1f3 100644
--- a/Mage.Sets/src/mage/cards/s/Sliversmith.java
+++ b/Mage.Sets/src/mage/cards/s/Sliversmith.java
@@ -28,7 +28,7 @@ public final class Sliversmith extends CardImpl {
this.toughness = new MageInt(1);
// {1}, {T}, Discard a card: Create a 1/1 colorless Sliver artifact creature token named Metallic Sliver.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new MetallicSliverToken()), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new MetallicSliverToken()), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java b/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java
index b9c456b442..fe8df20b9b 100644
--- a/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java
+++ b/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java
@@ -27,7 +27,7 @@ public final class SluicewayScorpion extends CardImpl {
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// Scavenge {1}{B}{G}
- this.addAbility(new ScavengeAbility(new ManaCostsImpl("{1}{B}{G}")));
+ this.addAbility(new ScavengeAbility(new ManaCostsImpl<>("{1}{B}{G}")));
}
private SluicewayScorpion(final SluicewayScorpion card) {
diff --git a/Mage.Sets/src/mage/cards/s/SlumberingTora.java b/Mage.Sets/src/mage/cards/s/SlumberingTora.java
index 545c74fcd9..e90ac5d24d 100644
--- a/Mage.Sets/src/mage/cards/s/SlumberingTora.java
+++ b/Mage.Sets/src/mage/cards/s/SlumberingTora.java
@@ -33,7 +33,7 @@ public final class SlumberingTora extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}");
// {2}, Discard a Spirit or Arcane card: Slumbering Tora becomes an X/X Cat artifact creature until end of turn,
// where X is the discarded card's converted mana cost.
- Ability ability = new SimpleActivatedAbility(new SlumberingToraEffect(), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(new SlumberingToraEffect(), new ManaCostsImpl<>("{2}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand(filter)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SmeltWardIgnus.java b/Mage.Sets/src/mage/cards/s/SmeltWardIgnus.java
index df72e415ed..2a7a722015 100644
--- a/Mage.Sets/src/mage/cards/s/SmeltWardIgnus.java
+++ b/Mage.Sets/src/mage/cards/s/SmeltWardIgnus.java
@@ -41,7 +41,7 @@ public final class SmeltWardIgnus extends CardImpl {
Zone.BATTLEFIELD,
new GainControlTargetEffect(
Duration.EndOfTurn, true
- ), new ManaCostsImpl("{2}{R}")
+ ), new ManaCostsImpl<>("{2}{R}")
);
ability.addEffect(new UntapTargetEffect().setText("Untap that creature"));
ability.addEffect(new GainAbilityTargetEffect(
diff --git a/Mage.Sets/src/mage/cards/s/SmitingHelix.java b/Mage.Sets/src/mage/cards/s/SmitingHelix.java
index 7dba0e9b9b..24fec7a8c1 100644
--- a/Mage.Sets/src/mage/cards/s/SmitingHelix.java
+++ b/Mage.Sets/src/mage/cards/s/SmitingHelix.java
@@ -26,7 +26,7 @@ public final class SmitingHelix extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Flashback {R}{W}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{R}{W}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{R}{W}")));
}
private SmitingHelix(final SmitingHelix card) {
diff --git a/Mage.Sets/src/mage/cards/s/SmokeTeller.java b/Mage.Sets/src/mage/cards/s/SmokeTeller.java
index 5c2c392114..9869fc1f12 100644
--- a/Mage.Sets/src/mage/cards/s/SmokeTeller.java
+++ b/Mage.Sets/src/mage/cards/s/SmokeTeller.java
@@ -44,7 +44,7 @@ public final class SmokeTeller extends CardImpl {
this.toughness = new MageInt(2);
// 1U: Look at target face-down creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SmokeTellerLookFaceDownEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SmokeTellerLookFaceDownEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java b/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java
index 8bfe792068..88b7c3c246 100644
--- a/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java
+++ b/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java
@@ -30,7 +30,7 @@ public final class SmokespewInvoker extends CardImpl {
// {7}{B}: Target creature gets -3/-3 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-3, -3, Duration.EndOfTurn),
- new ManaCostsImpl("{7}{B}"));
+ new ManaCostsImpl<>("{7}{B}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SmolderInitiate.java b/Mage.Sets/src/mage/cards/s/SmolderInitiate.java
index 612d4428b4..d51197edfc 100644
--- a/Mage.Sets/src/mage/cards/s/SmolderInitiate.java
+++ b/Mage.Sets/src/mage/cards/s/SmolderInitiate.java
@@ -38,7 +38,7 @@ public final class SmolderInitiate extends CardImpl {
this.toughness = new MageInt(1);
// Whenever a player casts a black spell, you may pay {1}. If you do, target player loses 1 life.
- Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new LoseLifeTargetEffect(1), new ManaCostsImpl("{1}")), filter, false);
+ Ability ability = new SpellCastAllTriggeredAbility(new DoIfCostPaid(new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{1}")), filter, false);
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SmolderingCrater.java b/Mage.Sets/src/mage/cards/s/SmolderingCrater.java
index d2a9a75460..a80d95ed93 100644
--- a/Mage.Sets/src/mage/cards/s/SmolderingCrater.java
+++ b/Mage.Sets/src/mage/cards/s/SmolderingCrater.java
@@ -22,7 +22,7 @@ public final class SmolderingCrater extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new RedManaAbility());
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SmolderingCrater(final SmolderingCrater card) {
diff --git a/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java b/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java
index 42825ddfee..f7868ec747 100644
--- a/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java
+++ b/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java
@@ -42,7 +42,7 @@ public final class SmolderingWerewolf extends CardImpl {
// {4}{R}{R}: Transform Smoldering Werewolf.
this.addAbility(new TransformAbility());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new ManaCostsImpl("{4}{R}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), new ManaCostsImpl<>("{4}{R}{R}")));
}
private SmolderingWerewolf(final SmolderingWerewolf card) {
diff --git a/Mage.Sets/src/mage/cards/s/SnakeBasket.java b/Mage.Sets/src/mage/cards/s/SnakeBasket.java
index 6e794b0bdb..56717e19fd 100644
--- a/Mage.Sets/src/mage/cards/s/SnakeBasket.java
+++ b/Mage.Sets/src/mage/cards/s/SnakeBasket.java
@@ -26,7 +26,7 @@ public final class SnakeBasket extends CardImpl {
// {X}, Sacrifice Snake Basket: create X 1/1 green Snake creature tokens. Activate this ability only any time you could cast a sorcery.
Effect effect = new CreateTokenEffect(new SnakeToken(), ManacostVariableValue.REGULAR);
- Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{X}"));
+ Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{X}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SnappingThragg.java b/Mage.Sets/src/mage/cards/s/SnappingThragg.java
index 490e959fdb..c793aa68aa 100644
--- a/Mage.Sets/src/mage/cards/s/SnappingThragg.java
+++ b/Mage.Sets/src/mage/cards/s/SnappingThragg.java
@@ -36,7 +36,7 @@ public final class SnappingThragg extends CardImpl {
this.addAbility(new SnappingThraggTriggeredAbility());
// Morph {4}{R}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{R}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{R}{R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java b/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java
index 8f4a57db5f..41bc9c0c15 100644
--- a/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java
+++ b/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java
@@ -36,11 +36,11 @@ public final class SnarlingUndorak extends CardImpl {
this.toughness = new MageInt(3);
// {2}{G}: Target Beast creature gets +1/+1 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// Morph {1}{G}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{G}{G}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{G}{G}")));
}
private SnarlingUndorak(final SnarlingUndorak card) {
diff --git a/Mage.Sets/src/mage/cards/s/SneakAttack.java b/Mage.Sets/src/mage/cards/s/SneakAttack.java
index 2df5981e8a..38678b5e9b 100644
--- a/Mage.Sets/src/mage/cards/s/SneakAttack.java
+++ b/Mage.Sets/src/mage/cards/s/SneakAttack.java
@@ -35,7 +35,7 @@ public final class SneakAttack extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}");
// {R}: You may put a creature card from your hand onto the battlefield. That creature gains haste. Sacrifice the creature at the beginning of the next end step.
- this.addAbility(new SimpleActivatedAbility(new SneakAttackEffect(), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(new SneakAttackEffect(), new ManaCostsImpl<>("{R}")));
}
private SneakAttack(final SneakAttack card) {
diff --git a/Mage.Sets/src/mage/cards/s/SnowHound.java b/Mage.Sets/src/mage/cards/s/SnowHound.java
index b7c48270c7..236c3a0f56 100644
--- a/Mage.Sets/src/mage/cards/s/SnowHound.java
+++ b/Mage.Sets/src/mage/cards/s/SnowHound.java
@@ -42,7 +42,7 @@ public final class SnowHound extends CardImpl {
// {1}, {tap}: Return Snow Hound and target green or blue creature you control to their owner's hand.
Effect effect = new ReturnToHandSourceEffect(true);
effect.setText("Return Snow Hound");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
effect = new ReturnToHandTargetEffect();
effect.setText("and target green or blue creature you control to their owners' hands");
diff --git a/Mage.Sets/src/mage/cards/s/SnowhornRider.java b/Mage.Sets/src/mage/cards/s/SnowhornRider.java
index cd543fbe5c..b007165244 100644
--- a/Mage.Sets/src/mage/cards/s/SnowhornRider.java
+++ b/Mage.Sets/src/mage/cards/s/SnowhornRider.java
@@ -28,7 +28,7 @@ public final class SnowhornRider extends CardImpl {
// Trample
this.addAbility(TrampleAbility.getInstance());
// Morph {2}{G}{U}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{G}{U}{R}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{G}{U}{R}")));
}
private SnowhornRider(final SnowhornRider card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoaringHope.java b/Mage.Sets/src/mage/cards/s/SoaringHope.java
index e845c325c3..2bd9704cd4 100644
--- a/Mage.Sets/src/mage/cards/s/SoaringHope.java
+++ b/Mage.Sets/src/mage/cards/s/SoaringHope.java
@@ -47,7 +47,7 @@ public final class SoaringHope extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA)));
// {W}: Put Soaring Hope on top of it's owner's library
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibrarySourceEffect(true), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibrarySourceEffect(true), new ManaCostsImpl<>("{W}")));
}
private SoaringHope(final SoaringHope card) {
diff --git a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
index 0f1fa8b970..2d227c891f 100644
--- a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
+++ b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java
@@ -38,7 +38,7 @@ public final class SokenzanSpellblade extends CardImpl {
Effect effect = new BoostSourceEffect(CardsInControllerHandCount.instance, StaticValue.get(0), Duration.EndOfTurn, true);
effect.setText("{this} gets +X/+0 until end of turn, where X is the number of cards in your hand");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
- effect, new ManaCostsImpl("{1}{R}")
+ effect, new ManaCostsImpl<>("{1}{R}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SolarBlast.java b/Mage.Sets/src/mage/cards/s/SolarBlast.java
index 414affb15c..ecb9eb31a4 100644
--- a/Mage.Sets/src/mage/cards/s/SolarBlast.java
+++ b/Mage.Sets/src/mage/cards/s/SolarBlast.java
@@ -26,7 +26,7 @@ public final class SolarBlast extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Cycling {1}{R}{R}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}{R}{R}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{R}{R}")));
// When you cycle Solar Blast, you may have it deal 1 damage to any target.
Ability ability = new CycleTriggeredAbility(new DamageTargetEffect(1), true);
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/s/SoldeviDigger.java b/Mage.Sets/src/mage/cards/s/SoldeviDigger.java
index e3ea441691..f4bfde1925 100644
--- a/Mage.Sets/src/mage/cards/s/SoldeviDigger.java
+++ b/Mage.Sets/src/mage/cards/s/SoldeviDigger.java
@@ -25,7 +25,7 @@ public final class SoldeviDigger extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
// {2}: Put the top card of your graveyard on the bottom of your library.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoldeviDiggerEffect(), new ManaCostsImpl("{2}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoldeviDiggerEffect(), new ManaCostsImpl<>("{2}")));
}
private SoldeviDigger(final SoldeviDigger card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoldeviHeretic.java b/Mage.Sets/src/mage/cards/s/SoldeviHeretic.java
index 8000555607..fdf987f70e 100644
--- a/Mage.Sets/src/mage/cards/s/SoldeviHeretic.java
+++ b/Mage.Sets/src/mage/cards/s/SoldeviHeretic.java
@@ -34,7 +34,7 @@ public final class SoldeviHeretic extends CardImpl {
this.toughness = new MageInt(2);
// {W}, {tap}: Prevent the next 2 damage that would be dealt to target creature this turn. Target opponent may draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,2), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn ,2), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
Effect effect = new DrawCardTargetEffect(1, true);
diff --git a/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java b/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java
index db93459693..23980f8430 100644
--- a/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java
+++ b/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java
@@ -28,9 +28,9 @@ public final class SoldeviSimulacrum extends CardImpl {
this.toughness = new MageInt(4);
// Cumulative upkeep {1}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}")));
// {1}: Soldevi Simulacrum gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
}
private SoldeviSimulacrum(final SoldeviSimulacrum card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java b/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java
index af247e4ed3..11e7b98631 100644
--- a/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java
+++ b/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java
@@ -31,7 +31,7 @@ public final class SoldierOfFortune extends CardImpl {
// {R}, {T}: Target player shuffles their library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShuffleLibraryTargetEffect(), new TapSourceCost());
- ability.addManaCost(new ManaCostsImpl("{R}"));
+ ability.addManaCost(new ManaCostsImpl<>("{R}"));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoldierReplica.java b/Mage.Sets/src/mage/cards/s/SoldierReplica.java
index 40026fc1e5..37250c2bc5 100644
--- a/Mage.Sets/src/mage/cards/s/SoldierReplica.java
+++ b/Mage.Sets/src/mage/cards/s/SoldierReplica.java
@@ -27,7 +27,7 @@ public final class SoldierReplica extends CardImpl {
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(1);
this.toughness = new MageInt(3);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent(new FilterAttackingOrBlockingCreature()));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Soliton.java b/Mage.Sets/src/mage/cards/s/Soliton.java
index 334b3e4ca4..f3bc5f9f24 100644
--- a/Mage.Sets/src/mage/cards/s/Soliton.java
+++ b/Mage.Sets/src/mage/cards/s/Soliton.java
@@ -24,7 +24,7 @@ public final class Soliton extends CardImpl {
this.subtype.add(SubType.CONSTRUCT);
this.power = new MageInt(3);
this.toughness = new MageInt(4);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{U}")));
}
public Soliton (final Soliton card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoltariCrusader.java b/Mage.Sets/src/mage/cards/s/SoltariCrusader.java
index 5594162b64..5860aea0c8 100644
--- a/Mage.Sets/src/mage/cards/s/SoltariCrusader.java
+++ b/Mage.Sets/src/mage/cards/s/SoltariCrusader.java
@@ -30,7 +30,7 @@ public final class SoltariCrusader extends CardImpl {
// Shadow
this.addAbility(ShadowAbility.getInstance());
// {1}{W}: Soltari Crusader gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}")));
}
private SoltariCrusader(final SoltariCrusader card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoltariEmissary.java b/Mage.Sets/src/mage/cards/s/SoltariEmissary.java
index 54662bd1bf..3b811104d9 100644
--- a/Mage.Sets/src/mage/cards/s/SoltariEmissary.java
+++ b/Mage.Sets/src/mage/cards/s/SoltariEmissary.java
@@ -29,7 +29,7 @@ public final class SoltariEmissary extends CardImpl {
this.toughness = new MageInt(1);
// {W}: Soltari Emissary gains shadow until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private SoltariEmissary(final SoltariEmissary card) {
diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java b/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java
index 8a18b9d36d..84826cbedf 100644
--- a/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java
+++ b/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java
@@ -47,7 +47,7 @@ public final class SomberwaldAlpha extends CardImpl {
// {1}{G}: Target creature you control gains trample until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{1}{G}"));
+ new ManaCostsImpl<>("{1}{G}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/Songstitcher.java b/Mage.Sets/src/mage/cards/s/Songstitcher.java
index af7b6c04d4..b1ebe09114 100644
--- a/Mage.Sets/src/mage/cards/s/Songstitcher.java
+++ b/Mage.Sets/src/mage/cards/s/Songstitcher.java
@@ -38,7 +38,7 @@ public final class Songstitcher extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}: Prevent all combat damage that would be dealt this turn by target attacking creature with flying.
- Ability ability = new SimpleActivatedAbility(new PreventDamageByTargetEffect(Duration.EndOfTurn, true), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(new PreventDamageByTargetEffect(Duration.EndOfTurn, true), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java b/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java
index 566a031610..2da0499f1b 100644
--- a/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java
+++ b/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java
@@ -26,7 +26,7 @@ public final class SootfeatherFlock extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Morph {3}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{3}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{3}{B}")));
}
private SootfeatherFlock(final SootfeatherFlock card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoothsayerAdept.java b/Mage.Sets/src/mage/cards/s/SoothsayerAdept.java
index 41c3446bf6..914c06e57c 100644
--- a/Mage.Sets/src/mage/cards/s/SoothsayerAdept.java
+++ b/Mage.Sets/src/mage/cards/s/SoothsayerAdept.java
@@ -28,7 +28,7 @@ public final class SoothsayerAdept extends CardImpl {
// {1}{U}, {T}: Draw a card, then discard a card.
Ability ability = new SimpleActivatedAbility(
- new DrawDiscardControllerEffect(), new ManaCostsImpl("{1}{U}")
+ new DrawDiscardControllerEffect(), new ManaCostsImpl<>("{1}{U}")
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SophicCentaur.java b/Mage.Sets/src/mage/cards/s/SophicCentaur.java
index e097325538..171504dcd8 100644
--- a/Mage.Sets/src/mage/cards/s/SophicCentaur.java
+++ b/Mage.Sets/src/mage/cards/s/SophicCentaur.java
@@ -36,7 +36,7 @@ public final class SophicCentaur extends CardImpl {
DynamicValue lifeToGainAmount = new MultipliedValue(CardsInControllerHandCount.instance, 2);
Effect effect = new GainLifeEffect(lifeToGainAmount);
effect.setText("You gain 2 life for each card in your hand");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{G}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{G}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoratamiCloudChariot.java b/Mage.Sets/src/mage/cards/s/SoratamiCloudChariot.java
index d2c257883f..2bab6e90dd 100644
--- a/Mage.Sets/src/mage/cards/s/SoratamiCloudChariot.java
+++ b/Mage.Sets/src/mage/cards/s/SoratamiCloudChariot.java
@@ -36,7 +36,7 @@ public final class SoratamiCloudChariot extends CardImpl {
Effect effect = new PreventDamageToTargetEffect(Duration.EndOfTurn, true);
effect.setText("Prevent all combat damage that would be dealt to");
// and dealt by target creature you control this turn.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}"));
effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, true);
effect.setText("and dealt by target creature you control this turn.");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java b/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java
index 776dfd7659..d290eabe9a 100644
--- a/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java
+++ b/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java
@@ -38,7 +38,7 @@ public final class SoratamiMindsweeper extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {2}, Return a land you control to its owner's hand: Target player puts the top two cards of their library into their graveyard.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,new PutLibraryIntoGraveTargetEffect(2), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,new PutLibraryIntoGraveTargetEffect(2), new ManaCostsImpl<>("{2}"));
ability.addTarget(new TargetPlayer());
ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SorayaTheFalconer.java b/Mage.Sets/src/mage/cards/s/SorayaTheFalconer.java
index 9b24d23488..a391ea6e0b 100644
--- a/Mage.Sets/src/mage/cards/s/SorayaTheFalconer.java
+++ b/Mage.Sets/src/mage/cards/s/SorayaTheFalconer.java
@@ -38,7 +38,7 @@ public final class SorayaTheFalconer extends CardImpl {
new FilterCreaturePermanent(SubType.BIRD, "Bird creatures"), false)));
// {1}{W}: Target Bird creature gains banding until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(BandingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(BandingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent(SubType.BIRD, "Bird creature")));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SorcererOfTheFang.java b/Mage.Sets/src/mage/cards/s/SorcererOfTheFang.java
index cca2dadca7..d1868ec776 100644
--- a/Mage.Sets/src/mage/cards/s/SorcererOfTheFang.java
+++ b/Mage.Sets/src/mage/cards/s/SorcererOfTheFang.java
@@ -28,7 +28,7 @@ public final class SorcererOfTheFang extends CardImpl {
this.toughness = new MageInt(3);
// {5}{B}, {T}: Sorcerer of the Fang deals 2 damage to target opponent or planeswalker.
- Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl("{5}{B}"));
+ Ability ability = new SimpleActivatedAbility(new DamageTargetEffect(2), new ManaCostsImpl<>("{5}{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponentOrPlaneswalker());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoulCharmer.java b/Mage.Sets/src/mage/cards/s/SoulCharmer.java
index 35dfa20171..6b6a4cf3a4 100644
--- a/Mage.Sets/src/mage/cards/s/SoulCharmer.java
+++ b/Mage.Sets/src/mage/cards/s/SoulCharmer.java
@@ -26,7 +26,7 @@ public final class SoulCharmer extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Soul Charmer deals combat damage to a creature, you gain 2 life unless they pay {2}.
- this.addAbility(new DealsCombatDamageToACreatureTriggeredAbility(new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new GainLifeEffect(2), new ManaCostsImpl("{2}")), false, true));
+ this.addAbility(new DealsCombatDamageToACreatureTriggeredAbility(new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new GainLifeEffect(2), new ManaCostsImpl<>("{2}")), false, true));
}
private SoulCharmer(final SoulCharmer card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulCollector.java b/Mage.Sets/src/mage/cards/s/SoulCollector.java
index ff07dbc4f0..50faefca3a 100644
--- a/Mage.Sets/src/mage/cards/s/SoulCollector.java
+++ b/Mage.Sets/src/mage/cards/s/SoulCollector.java
@@ -31,7 +31,7 @@ public final class SoulCollector extends CardImpl {
this.addAbility(new DealtDamageAndDiedTriggeredAbility(new ReturnToBattlefieldUnderYourControlTargetEffect().setText("return that card to the battlefield under your control")));
// Morph {B}{B}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{B}{B}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{B}{B}{B}")));
}
private SoulCollector(final SoulCollector card) {
diff --git a/Mage.Sets/src/mage/cards/s/SoulFoundry.java b/Mage.Sets/src/mage/cards/s/SoulFoundry.java
index 931c716c28..c641e13f1d 100644
--- a/Mage.Sets/src/mage/cards/s/SoulFoundry.java
+++ b/Mage.Sets/src/mage/cards/s/SoulFoundry.java
@@ -43,7 +43,7 @@ public final class SoulFoundry extends CardImpl {
);
// {X}, {T}: Create a token that's a copy of the exiled card. X is the converted mana cost of that card.
- Ability ability = new SimpleActivatedAbility(new SoulFoundryEffect(), new ManaCostsImpl("{X}"));
+ Ability ability = new SimpleActivatedAbility(new SoulFoundryEffect(), new ManaCostsImpl<>("{X}"));
ability.addCost(new TapSourceCost());
ability.setCostAdjuster(SoulFoundryAdjuster.instance);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoulKiss.java b/Mage.Sets/src/mage/cards/s/SoulKiss.java
index 29e7044f1f..683f640a16 100644
--- a/Mage.Sets/src/mage/cards/s/SoulKiss.java
+++ b/Mage.Sets/src/mage/cards/s/SoulKiss.java
@@ -37,7 +37,7 @@ public final class SoulKiss extends CardImpl {
this.addAbility(ability);
// {B}, Pay 1 life: Enchanted creature gets +2/+2 until end of turn. Activate this ability no more than three times each turn.
ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2, Duration.EndOfTurn),
- new ManaCostsImpl("{B}"), 3);
+ new ManaCostsImpl<>("{B}"), 3);
ability.addCost(new PayLifeCost(1));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java b/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java
index 618d80d18d..0d2ea57b98 100644
--- a/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java
+++ b/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java
@@ -32,12 +32,12 @@ public final class SoulOfInnistrad extends CardImpl {
// Deathtouch
this.addAbility(DeathtouchAbility.getInstance());
// {3}{B}{B}: Return up to three target creature cards from your graveyard to your hand.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{3}{B}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{3}{B}{B}"));
ability.addTarget(new TargetCardInYourGraveyard(0, 3, StaticFilters.FILTER_CARD_CREATURES_YOUR_GRAVEYARD));
this.addAbility(ability);
// {3}{B}{B}, Exile Soul of Innistrad from your graveyard: Return up to three target creature cards from your graveyard to your hand.
- ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{3}{B}{B}"));
+ ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{3}{B}{B}"));
ability.addCost(new ExileSourceFromGraveCost());
ability.addTarget(new TargetCardInYourGraveyard(0, 3, StaticFilters.FILTER_CARD_CREATURES_YOUR_GRAVEYARD));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java b/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java
index f9820f9c99..4b0e86e84f 100644
--- a/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java
+++ b/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java
@@ -33,10 +33,10 @@ public final class SoulOfRavnica extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {5}{U}{U}: Draw a card for each color among permanents you control.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardForEachColorAmongControlledPermanentsEffect(), new ManaCostsImpl("{5}{U}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardForEachColorAmongControlledPermanentsEffect(), new ManaCostsImpl<>("{5}{U}{U}")));
// {5}{U}{U}, Exile Soul of Ravnica from your graveyard: Draw a card for each color among permanents you control.
- Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new DrawCardForEachColorAmongControlledPermanentsEffect(), new ManaCostsImpl("{5}{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new DrawCardForEachColorAmongControlledPermanentsEffect(), new ManaCostsImpl<>("{5}{U}{U}"));
ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java b/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java
index cff9b243d5..aa3f1743b5 100644
--- a/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java
+++ b/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java
@@ -42,13 +42,13 @@ public final class SoulOfShandalar extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// {3}{R}{R}: Soul of Shandalar deals 3 damage to target player and 3 damage to up to one target creature that player controls.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoulOfShandalarEffect(), new ManaCostsImpl("{3}{R}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoulOfShandalarEffect(), new ManaCostsImpl<>("{3}{R}{R}"));
ability.addTarget(new TargetPlayerOrPlaneswalker());
ability.addTarget(new SoulOfShandalarTarget());
this.addAbility(ability);
// {3}{R}{R}, Exile Soul of Shandalar from your graveyard: Soul of Shandalar deals 3 damage to target player and 3 damage to up to one target creature that player controls.
- ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new SoulOfShandalarEffect(), new ManaCostsImpl("{3}{R}{R}"));
+ ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new SoulOfShandalarEffect(), new ManaCostsImpl<>("{3}{R}{R}"));
ability.addCost(new ExileSourceFromGraveCost());
ability.addTarget(new TargetPlayerOrPlaneswalker());
ability.addTarget(new SoulOfShandalarTarget());
diff --git a/Mage.Sets/src/mage/cards/s/SoulOfTheros.java b/Mage.Sets/src/mage/cards/s/SoulOfTheros.java
index 954dee6b26..48eab3ba1f 100644
--- a/Mage.Sets/src/mage/cards/s/SoulOfTheros.java
+++ b/Mage.Sets/src/mage/cards/s/SoulOfTheros.java
@@ -39,7 +39,7 @@ public final class SoulOfTheros extends CardImpl {
// {4}{W}{W}: Creatures you control get +2/+2 and gain first strike and lifelink until end of turn.
Effect effect1 = new BoostControlledEffect(2, 2, Duration.EndOfTurn);
effect1.setText("Creatures you control get +2/+2");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect1, new ManaCostsImpl("{4}{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect1, new ManaCostsImpl<>("{4}{W}{W}"));
Effect effect2 = new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
effect2.setText("and gain first strike");
ability.addEffect(effect2);
@@ -49,7 +49,7 @@ public final class SoulOfTheros extends CardImpl {
this.addAbility(ability);
// {4}{W}{W}, Exile Soul of Theros from your graveyard: Creatures you control get +2/+2 and gain first strike and lifelink until end of turn.
- ability = new SimpleActivatedAbility(Zone.GRAVEYARD, effect1, new ManaCostsImpl("{4}{W}{W}"));
+ ability = new SimpleActivatedAbility(Zone.GRAVEYARD, effect1, new ManaCostsImpl<>("{4}{W}{W}"));
ability.addCost(new ExileSourceFromGraveCost());
ability.addEffect(effect2);
ability.addEffect(effect3);
diff --git a/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java b/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java
index eeed6e7e41..fb093224fd 100644
--- a/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java
+++ b/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java
@@ -32,9 +32,9 @@ public final class SoulOfZendikar extends CardImpl {
// Reach
this.addAbility(ReachAbility.getInstance());
// {3}{G}{G}: Create a 3/3 green Beast creature token.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl("{3}{G}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl<>("{3}{G}{G}")));
// {3}{G}{G}, Exile Soul of Zendikar from your graveyard: Create a 3/3 green Beast creature token.
- Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl("{3}{G}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl<>("{3}{G}{G}"));
ability.addCost(new ExileSourceFromGraveCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulSculptor.java b/Mage.Sets/src/mage/cards/s/SoulSculptor.java
index a16517620d..26a8d92c04 100644
--- a/Mage.Sets/src/mage/cards/s/SoulSculptor.java
+++ b/Mage.Sets/src/mage/cards/s/SoulSculptor.java
@@ -34,7 +34,7 @@ public final class SoulSculptor extends CardImpl {
this.toughness = new MageInt(1);
// {1}{W}, {tap}: Target creature becomes an enchantment and loses all abilities until a player casts a creature spell.
- Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(new SoulSculptorEffect(), SoulSculptorCondition.instance, rule), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(new ConditionalContinuousEffect(new SoulSculptorEffect(), SoulSculptorCondition.instance, rule), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoulSeparator.java b/Mage.Sets/src/mage/cards/s/SoulSeparator.java
index f8d51fc404..277323fe23 100644
--- a/Mage.Sets/src/mage/cards/s/SoulSeparator.java
+++ b/Mage.Sets/src/mage/cards/s/SoulSeparator.java
@@ -43,7 +43,7 @@ public final class SoulSeparator extends CardImpl {
CreateTokenCopyTargetEffect copyEffect = new CreateTokenCopyTargetEffect(null, null, false, 1, false, false, null, 1, 1, true);
copyEffect.setAdditionalSubType(SubType.SPIRIT);
copyEffect.setText("Create a token that's a copy of that card except it's 1/1, it's a Spirit in addition to its other types, and it has flying");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, copyEffect, new ManaCostsImpl("{5}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, copyEffect, new ManaCostsImpl<>("{5}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
diff --git a/Mage.Sets/src/mage/cards/s/SoulShepherd.java b/Mage.Sets/src/mage/cards/s/SoulShepherd.java
index 8878d8dd9e..65b4288bf3 100644
--- a/Mage.Sets/src/mage/cards/s/SoulShepherd.java
+++ b/Mage.Sets/src/mage/cards/s/SoulShepherd.java
@@ -30,7 +30,7 @@ public final class SoulShepherd extends CardImpl {
this.toughness = new MageInt(1);
// {W}, Exile a creature card from your graveyard: You gain 1 life.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl<>("{W}"));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("a creature card from your graveyard"))));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulSnare.java b/Mage.Sets/src/mage/cards/s/SoulSnare.java
index aa33e0192a..49543e304c 100644
--- a/Mage.Sets/src/mage/cards/s/SoulSnare.java
+++ b/Mage.Sets/src/mage/cards/s/SoulSnare.java
@@ -26,7 +26,7 @@ public final class SoulSnare extends CardImpl {
// {W}, Sacrifice Soul Snare: Exile target creature that's attacking you or a planeswalker you control.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new ExileTargetEffect(), new ManaCostsImpl("{W}"));
+ new ExileTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent(new FilterCreatureAttackingYou(true)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java
index 95f3198e03..9ab6b9d25b 100644
--- a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java
+++ b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java
@@ -38,7 +38,7 @@ public final class SoulbrightFlamekin extends CardImpl {
// {2}: Target creature gains trample until end of turn. If this is the third time this ability has resolved this turn, you may add {R}{R}{R}{R}{R}{R}{R}{R}.
Ability ability = new SimpleActivatedAbility(new GainAbilityTargetEffect(
TrampleAbility.getInstance(), Duration.EndOfTurn
- ), new ManaCostsImpl("{2}"));
+ ), new ManaCostsImpl<>("{2}"));
ability.addEffect(new IfAbilityHasResolvedXTimesEffect(Outcome.PutManaInPool, 3, new SoulbrightFlamekinEffect()));
ability.addTarget(new TargetCreaturePermanent());
ability.addHint(AbilityResolutionCountHint.instance);
diff --git a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
index 632644ef95..d8df2ae824 100644
--- a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
+++ b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java
@@ -52,7 +52,7 @@ public final class SoulfireGrandMaster extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
// {2}{U/R}{U/R}: The next time you cast an instant or sorcery spell from your hand this turn, put that card into your hand instead of your graveyard as it resolves.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoulfireGrandMasterCastFromHandReplacementEffect(), new ManaCostsImpl("{2}{U/R}{U/R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoulfireGrandMasterCastFromHandReplacementEffect(), new ManaCostsImpl<>("{2}{U/R}{U/R}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SoulreaperOfMogis.java b/Mage.Sets/src/mage/cards/s/SoulreaperOfMogis.java
index 41a5fa0eee..16e674c60a 100644
--- a/Mage.Sets/src/mage/cards/s/SoulreaperOfMogis.java
+++ b/Mage.Sets/src/mage/cards/s/SoulreaperOfMogis.java
@@ -30,7 +30,7 @@ public final class SoulreaperOfMogis extends CardImpl {
// {2}{B}, Sacrifice a creature: Draw a card.
Ability ability = new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{B}")
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{B}")
);
ability.addCost(new SacrificeTargetCost(
new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)
diff --git a/Mage.Sets/src/mage/cards/s/SoulswornJury.java b/Mage.Sets/src/mage/cards/s/SoulswornJury.java
index e3cb361805..6e0dd31d0d 100644
--- a/Mage.Sets/src/mage/cards/s/SoulswornJury.java
+++ b/Mage.Sets/src/mage/cards/s/SoulswornJury.java
@@ -33,7 +33,7 @@ public final class SoulswornJury extends CardImpl {
this.addAbility(DefenderAbility.getInstance());
// {1}{U}, Sacrifice Soulsworn Jury: Counter target creature spell.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_CREATURE));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SouthernPaladin.java b/Mage.Sets/src/mage/cards/s/SouthernPaladin.java
index 3958bc0e0d..89ee478a05 100644
--- a/Mage.Sets/src/mage/cards/s/SouthernPaladin.java
+++ b/Mage.Sets/src/mage/cards/s/SouthernPaladin.java
@@ -39,7 +39,7 @@ public final class SouthernPaladin extends CardImpl {
this.toughness = new MageInt(3);
// {W}{W}, {tap}: Destroy target red permanent.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SparkSpray.java b/Mage.Sets/src/mage/cards/s/SparkSpray.java
index b4b083f8ab..f256d6888b 100644
--- a/Mage.Sets/src/mage/cards/s/SparkSpray.java
+++ b/Mage.Sets/src/mage/cards/s/SparkSpray.java
@@ -25,7 +25,7 @@ public final class SparkSpray extends CardImpl {
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Cycling {R}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{R}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{R}")));
}
private SparkSpray(final SparkSpray card) {
diff --git a/Mage.Sets/src/mage/cards/s/Sparkspitter.java b/Mage.Sets/src/mage/cards/s/Sparkspitter.java
index ef556e087c..d76ed213ef 100644
--- a/Mage.Sets/src/mage/cards/s/Sparkspitter.java
+++ b/Mage.Sets/src/mage/cards/s/Sparkspitter.java
@@ -30,7 +30,7 @@ public final class Sparkspitter extends CardImpl {
this.toughness = new MageInt(3);
// {R}, {tap}, Discard a card: Create a 3/1 red Elemental creature token named Spark Elemental. It has trample, haste, and "At the beginning of the end step, sacrifice Spark Elemental."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SparkElementalToken()), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SparkElementalToken()), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SparktongueDragon.java b/Mage.Sets/src/mage/cards/s/SparktongueDragon.java
index 5396b970d1..3c2e52f6be 100644
--- a/Mage.Sets/src/mage/cards/s/SparktongueDragon.java
+++ b/Mage.Sets/src/mage/cards/s/SparktongueDragon.java
@@ -37,7 +37,7 @@ public final class SparktongueDragon extends CardImpl {
);
ability.addTarget(new TargetAnyTarget());
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
- ability, new ManaCostsImpl("{2}{R}"),
+ ability, new ManaCostsImpl<>("{2}{R}"),
"Pay {2}{R} to deal 3 damage?"
)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SparringCollar.java b/Mage.Sets/src/mage/cards/s/SparringCollar.java
index c21fa7dc13..4266cd6d56 100644
--- a/Mage.Sets/src/mage/cards/s/SparringCollar.java
+++ b/Mage.Sets/src/mage/cards/s/SparringCollar.java
@@ -33,7 +33,7 @@ public final class SparringCollar extends CardImpl {
// Equipped creature has first strike.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)));
// {R}{R}: Attach Sparring Collar to target creature you control.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl("{R}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.BoostCreature, "Attach {this} to target creature you control"), new ManaCostsImpl<>("{R}{R}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
// Equip {1}
diff --git a/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java b/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java
index 797f9d0957..9b2c6557ef 100644
--- a/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java
+++ b/Mage.Sets/src/mage/cards/s/SpatulaOfTheAges.java
@@ -38,7 +38,7 @@ public final class SpatulaOfTheAges extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {4}, {T}, Sacrifice Spatula of the Ages: You may put a silver-bordered permanent card from your hand onto the battlefield.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), new ManaCostsImpl("{4}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java b/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java
index 3e0215662e..ed3f114417 100644
--- a/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java
+++ b/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java
@@ -35,7 +35,7 @@ public final class SpawnOfMayhem extends CardImpl {
this.toughness = new MageInt(4);
// Spectacle {1}{B}{B}
- this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{1}{B}{B}")));
+ this.addAbility(new SpectacleAbility(this, new ManaCostsImpl<>("{1}{B}{B}")));
// Flying
this.addAbility(FlyingAbility.getInstance());
diff --git a/Mage.Sets/src/mage/cards/s/SpawningBed.java b/Mage.Sets/src/mage/cards/s/SpawningBed.java
index 930b5149f7..491ef6f896 100644
--- a/Mage.Sets/src/mage/cards/s/SpawningBed.java
+++ b/Mage.Sets/src/mage/cards/s/SpawningBed.java
@@ -28,7 +28,7 @@ public final class SpawningBed extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {6}, {T}, Sacrifice Spawning Bed: Create three 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziScionToken(), 3), new ManaCostsImpl("{6}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new EldraziScionToken(), 3), new ManaCostsImpl<>("{6}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpawningPool.java b/Mage.Sets/src/mage/cards/s/SpawningPool.java
index 01bb4fe5e3..fbc500ab76 100644
--- a/Mage.Sets/src/mage/cards/s/SpawningPool.java
+++ b/Mage.Sets/src/mage/cards/s/SpawningPool.java
@@ -22,7 +22,7 @@ public final class SpawningPool extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new BlackManaAbility());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SkeletonRegenerateToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SkeletonRegenerateToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}")));
}
private SpawningPool(final SpawningPool card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpearOfHeliod.java b/Mage.Sets/src/mage/cards/s/SpearOfHeliod.java
index 16dc4a435e..d8dbece3f6 100644
--- a/Mage.Sets/src/mage/cards/s/SpearOfHeliod.java
+++ b/Mage.Sets/src/mage/cards/s/SpearOfHeliod.java
@@ -42,7 +42,7 @@ public final class SpearOfHeliod extends CardImpl {
this.addAbility(new SimpleStaticAbility(new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield)));
// {1}{W}{W}, {T}: Destroy target creature that dealt damage to you this turn.
- Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl("{1}{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{1}{W}{W}"));
ability.addCost(new TapSourceCost());
Target target = new TargetCreaturePermanent(filter);
ability.addTarget(target);
diff --git a/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java b/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java
index 02e68dce90..26c736d1d5 100644
--- a/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java
+++ b/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java
@@ -42,7 +42,7 @@ public final class SpearbreakerBehemoth extends CardImpl {
// {1}: Target creature with power 5 or greater is indestructible this turn.
SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn),
- new ManaCostsImpl("{1}"));
+ new ManaCostsImpl<>("{1}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpecterOfTheFens.java b/Mage.Sets/src/mage/cards/s/SpecterOfTheFens.java
index 691b56ee63..c8901f0b82 100644
--- a/Mage.Sets/src/mage/cards/s/SpecterOfTheFens.java
+++ b/Mage.Sets/src/mage/cards/s/SpecterOfTheFens.java
@@ -31,7 +31,7 @@ public final class SpecterOfTheFens extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {5}{B}: Target opponent loses 2 life and you gain 2 life.
- Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(2), new ManaCostsImpl("{5}{B}"));
+ Ability ability = new SimpleActivatedAbility(new LoseLifeTargetEffect(2), new ManaCostsImpl<>("{5}{B}"));
ability.addEffect(new GainLifeEffect(2).concatBy("and"));
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpectralLynx.java b/Mage.Sets/src/mage/cards/s/SpectralLynx.java
index 8a5dfa0136..7c980c5279 100644
--- a/Mage.Sets/src/mage/cards/s/SpectralLynx.java
+++ b/Mage.Sets/src/mage/cards/s/SpectralLynx.java
@@ -31,7 +31,7 @@ public final class SpectralLynx extends CardImpl {
// Protection from green
this.addAbility(ProtectionAbility.from(ObjectColor.GREEN));
// {B}: Regenerate Spectral Lynx.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
}
private SpectralLynx(final SpectralLynx card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpectralSailor.java b/Mage.Sets/src/mage/cards/s/SpectralSailor.java
index 62e03bab36..e7797464d1 100644
--- a/Mage.Sets/src/mage/cards/s/SpectralSailor.java
+++ b/Mage.Sets/src/mage/cards/s/SpectralSailor.java
@@ -34,7 +34,7 @@ public final class SpectralSailor extends CardImpl {
// {3}{U}: Draw a card.
this.addAbility(new SimpleActivatedAbility(
- new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{3}{U}")
+ new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{3}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SpectralSliver.java b/Mage.Sets/src/mage/cards/s/SpectralSliver.java
index f2777d2e11..7c9d9f88ed 100644
--- a/Mage.Sets/src/mage/cards/s/SpectralSliver.java
+++ b/Mage.Sets/src/mage/cards/s/SpectralSliver.java
@@ -32,7 +32,7 @@ public final class SpectralSliver extends CardImpl {
this.toughness = new MageInt(2);
// All Sliver creatures have "{2}: This creature gets +1/+1 until end of turn."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("this creature gets +1/+1 until end of turn"), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("this creature gets +1/+1 until end of turn"), new ManaCostsImpl<>("{2}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ability, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_SLIVERS)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SpectralSteel.java b/Mage.Sets/src/mage/cards/s/SpectralSteel.java
index a9dd8a75bf..5b78362690 100644
--- a/Mage.Sets/src/mage/cards/s/SpectralSteel.java
+++ b/Mage.Sets/src/mage/cards/s/SpectralSteel.java
@@ -57,7 +57,7 @@ public final class SpectralSteel extends CardImpl {
// {1}{W}, Exile Spectral Steel from your graveyard: Return another target Aura or Equipment card from your graveyard to your hand.
ability = new SimpleActivatedAbility(
- Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{1}{W}")
+ Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{W}")
);
ability.addCost(new ExileSourceFromGraveCost());
ability.addTarget(new TargetCardInYourGraveyard(filter));
diff --git a/Mage.Sets/src/mage/cards/s/SpellSnip.java b/Mage.Sets/src/mage/cards/s/SpellSnip.java
index 1fbd2150ae..fe073d4daa 100644
--- a/Mage.Sets/src/mage/cards/s/SpellSnip.java
+++ b/Mage.Sets/src/mage/cards/s/SpellSnip.java
@@ -24,7 +24,7 @@ public final class SpellSnip extends CardImpl {
// Counter target spell unless its controller pays {1}.
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(1)));
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SpellSnip(final SpellSnip card) {
diff --git a/Mage.Sets/src/mage/cards/s/Spellskite.java b/Mage.Sets/src/mage/cards/s/Spellskite.java
index 07fe08f4fe..aaaa950fcc 100644
--- a/Mage.Sets/src/mage/cards/s/Spellskite.java
+++ b/Mage.Sets/src/mage/cards/s/Spellskite.java
@@ -38,7 +38,7 @@ public final class Spellskite extends CardImpl {
this.toughness = new MageInt(4);
// {U/P}: Change a target of target spell or ability to Spellskite.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SpellskiteEffect(), new ManaCostsImpl("{U/P}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SpellskiteEffect(), new ManaCostsImpl<>("{U/P}"));
ability.addTarget(new TargetStackObject());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java b/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java
index caadfbe9c6..2405ef3cdf 100644
--- a/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java
+++ b/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java
@@ -30,7 +30,7 @@ public final class SphinxOfMagosi extends CardImpl {
this.power = new MageInt(6);
this.toughness = new MageInt(6);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{U}"));
ability.addEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance()).concatBy(", then"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpiderSpawning.java b/Mage.Sets/src/mage/cards/s/SpiderSpawning.java
index 41bf430997..acbd39d690 100644
--- a/Mage.Sets/src/mage/cards/s/SpiderSpawning.java
+++ b/Mage.Sets/src/mage/cards/s/SpiderSpawning.java
@@ -24,7 +24,7 @@ public final class SpiderSpawning extends CardImpl {
// Create a 1/2 green Spider creature token with reach for each creature card in your graveyard.
this.getSpellAbility().addEffect(new CreateTokenEffect(new SpiderToken(), new CardsInControllerGraveyardCount(StaticFilters.FILTER_CARD_CREATURE)));
// Flashback {6}{B}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{6}{B}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{6}{B}")));
}
private SpiderSpawning(final SpiderSpawning card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpikeSoldier.java b/Mage.Sets/src/mage/cards/s/SpikeSoldier.java
index 8c612734b4..b1c05e2794 100644
--- a/Mage.Sets/src/mage/cards/s/SpikeSoldier.java
+++ b/Mage.Sets/src/mage/cards/s/SpikeSoldier.java
@@ -36,7 +36,7 @@ public final class SpikeSoldier extends CardImpl {
// Spike Soldier enters the battlefield with three +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it"));
// {2}, Remove a +1/+1 counter from Spike Soldier: Put a +1/+1 counter on target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{2}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance()));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpikeWorker.java b/Mage.Sets/src/mage/cards/s/SpikeWorker.java
index 73939f733f..18352b9eaa 100644
--- a/Mage.Sets/src/mage/cards/s/SpikeWorker.java
+++ b/Mage.Sets/src/mage/cards/s/SpikeWorker.java
@@ -33,7 +33,7 @@ public final class SpikeWorker extends CardImpl {
// Spike Worker enters the battlefield with two +1/+1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it"));
// {2}, Remove a +1/+1 counter from Spike Worker: Put a +1/+1 counter on target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{2}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance()));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpikeshotElder.java b/Mage.Sets/src/mage/cards/s/SpikeshotElder.java
index b54b67622c..16a9d3ec87 100644
--- a/Mage.Sets/src/mage/cards/s/SpikeshotElder.java
+++ b/Mage.Sets/src/mage/cards/s/SpikeshotElder.java
@@ -30,7 +30,7 @@ public final class SpikeshotElder extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SpikeshotElderEffect(), new ManaCostsImpl("{1}{R}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SpikeshotElderEffect(), new ManaCostsImpl<>("{1}{R}{R}"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpiketailDrake.java b/Mage.Sets/src/mage/cards/s/SpiketailDrake.java
index c6c98b9c89..1bf115a8d7 100644
--- a/Mage.Sets/src/mage/cards/s/SpiketailDrake.java
+++ b/Mage.Sets/src/mage/cards/s/SpiketailDrake.java
@@ -31,7 +31,7 @@ public final class SpiketailDrake extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Sacrifice Spiketail Drake: Counter target spell unless its controller pays {3}.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl("{3}")), new SacrificeSourceCost()); ability.addTarget(new TargetSpell()); this.addAbility(ability);
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl<>("{3}")), new SacrificeSourceCost()); ability.addTarget(new TargetSpell()); this.addAbility(ability);
}
private SpiketailDrake(final SpiketailDrake card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpikewheelAcrobat.java b/Mage.Sets/src/mage/cards/s/SpikewheelAcrobat.java
index fc751f4170..fb618c70a6 100644
--- a/Mage.Sets/src/mage/cards/s/SpikewheelAcrobat.java
+++ b/Mage.Sets/src/mage/cards/s/SpikewheelAcrobat.java
@@ -24,7 +24,7 @@ public final class SpikewheelAcrobat extends CardImpl {
this.toughness = new MageInt(2);
// Spectacle {2}{R}
- this.addAbility(new SpectacleAbility(this, new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new SpectacleAbility(this, new ManaCostsImpl<>("{2}{R}")));
}
private SpikewheelAcrobat(final SpikewheelAcrobat card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java
index 475a7fe78e..26c4fbc763 100644
--- a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java
+++ b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java
@@ -28,7 +28,7 @@ public final class SpindriftDrake extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// At the beginning of your upkeep, sacrifice Spindrift Drake unless you pay {U}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{U}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false));
}
private SpindriftDrake(final SpindriftDrake card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpinedBasher.java b/Mage.Sets/src/mage/cards/s/SpinedBasher.java
index 084f3f2144..c550136e79 100644
--- a/Mage.Sets/src/mage/cards/s/SpinedBasher.java
+++ b/Mage.Sets/src/mage/cards/s/SpinedBasher.java
@@ -24,7 +24,7 @@ public final class SpinedBasher extends CardImpl {
this.toughness = new MageInt(1);
// Morph {2}{B}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{2}{B}")));
}
private SpinedBasher(final SpinedBasher card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpinerockKnoll.java b/Mage.Sets/src/mage/cards/s/SpinerockKnoll.java
index 0a82ef2e68..d8bdf71aed 100644
--- a/Mage.Sets/src/mage/cards/s/SpinerockKnoll.java
+++ b/Mage.Sets/src/mage/cards/s/SpinerockKnoll.java
@@ -43,7 +43,7 @@ public final class SpinerockKnoll extends CardImpl {
new HideawayPlayEffect(), SpinerockKnollCondition.instance,
"you may play the exiled card without paying its mana cost " +
"if an opponent was dealt 7 or more damage this turn"
- ), new ManaCostsImpl("{R}"));
+ ), new ManaCostsImpl<>("{R}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability, new SpinerockKnollWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/SpinyStarfish.java b/Mage.Sets/src/mage/cards/s/SpinyStarfish.java
index 48ed1e689c..1ab9736296 100644
--- a/Mage.Sets/src/mage/cards/s/SpinyStarfish.java
+++ b/Mage.Sets/src/mage/cards/s/SpinyStarfish.java
@@ -35,7 +35,7 @@ public final class SpinyStarfish extends CardImpl {
this.toughness = new MageInt(1);
// {U}: Regenerate Spiny Starfish.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}")));
// At the beginning of each end step, if Spiny Starfish regenerated this turn, create a 0/1 blue Starfish creature token for each time it regenerated this turn.
this.addAbility(
diff --git a/Mage.Sets/src/mage/cards/s/SpiritBonds.java b/Mage.Sets/src/mage/cards/s/SpiritBonds.java
index 885ccc27eb..7686065227 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritBonds.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritBonds.java
@@ -45,11 +45,11 @@ public final class SpiritBonds extends CardImpl {
// Whenever a nontoken creature enters the battlefield under your control, you may pay {W}. If you do, but a 1/1 white Spirit creature token with flying into play.
- this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid(new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl("{W}")), filterNontoken, false));
+ this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid(new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl<>("{W}")), filterNontoken, false));
// {1}{W}, Sacrifice a Spirit: Target non-Spirit creature you control gains indestructible until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filterSpirit, true)));
ability.addTarget(new TargetControlledCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpiritCairn.java b/Mage.Sets/src/mage/cards/s/SpiritCairn.java
index bc1eea191e..4e4ff453dd 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritCairn.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritCairn.java
@@ -21,7 +21,7 @@ public final class SpiritCairn extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
// Whenever a player discards a card, you may pay {W}. If you do, create a 1/1 white Spirit creature token with flying.
- this.addAbility(new DiscardCardPlayerTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl("{W}")),false));
+ this.addAbility(new DiscardCardPlayerTriggeredAbility(new DoIfCostPaid(new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl<>("{W}")),false));
}
private SpiritCairn(final SpiritCairn card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpiritEnDal.java b/Mage.Sets/src/mage/cards/s/SpiritEnDal.java
index 0f3f835761..adeffb95f9 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritEnDal.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritEnDal.java
@@ -31,7 +31,7 @@ public final class SpiritEnDal extends CardImpl {
this.addAbility(ShadowAbility.getInstance());
// Forecast - {1}{W}, Reveal Spirit en-Dal from your hand: Target creature gains shadow until end of turn.
- Ability ability = new ForecastAbility(new GainAbilityTargetEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new ForecastAbility(new GainAbilityTargetEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpiritShield.java b/Mage.Sets/src/mage/cards/s/SpiritShield.java
index 922fcd4ff2..0938284f06 100644
--- a/Mage.Sets/src/mage/cards/s/SpiritShield.java
+++ b/Mage.Sets/src/mage/cards/s/SpiritShield.java
@@ -31,7 +31,7 @@ public final class SpiritShield extends CardImpl {
// {2}, {tap}: Target creature gets +0/+2 for as long as Spirit Shield remains tapped.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(
new BoostTargetEffect(0, 2, Duration.Custom), SourceTappedCondition.TAPPED,
- "target creature gets +0/+2 for as long as {this} remains tapped"), new ManaCostsImpl("{2}"));
+ "target creature gets +0/+2 for as long as {this} remains tapped"), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Spiritmonger.java b/Mage.Sets/src/mage/cards/s/Spiritmonger.java
index 770567ec1e..afcbc5ba34 100644
--- a/Mage.Sets/src/mage/cards/s/Spiritmonger.java
+++ b/Mage.Sets/src/mage/cards/s/Spiritmonger.java
@@ -33,9 +33,9 @@ public final class Spiritmonger extends CardImpl {
// Whenever Spiritmonger deals damage to a creature, put a +1/+1 counter on Spiritmonger.
this.addAbility(new DealsDamageToACreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(), true), false, false, false));
// {B}: Regenerate Spiritmonger.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{B}")));
// {G}: Spiritmonger becomes the color of your choice until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorSourceEffect(Duration.EndOfTurn), new ManaCostsImpl("{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorSourceEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
}
private Spiritmonger(final Spiritmonger card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpitFlame.java b/Mage.Sets/src/mage/cards/s/SpitFlame.java
index b664b8f7d1..75197ba24a 100644
--- a/Mage.Sets/src/mage/cards/s/SpitFlame.java
+++ b/Mage.Sets/src/mage/cards/s/SpitFlame.java
@@ -35,7 +35,7 @@ public final class SpitFlame extends CardImpl {
Zone.GRAVEYARD,
new DoIfCostPaid(
new ReturnSourceFromGraveyardToHandEffect(),
- new ManaCostsImpl("{R}")
+ new ManaCostsImpl<>("{R}")
), filter, false
));
}
diff --git a/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java b/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java
index be01717025..3ff1fc06d6 100644
--- a/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java
+++ b/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java
@@ -26,7 +26,7 @@ public final class SpiteflameWitch extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(1);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeAllPlayersEffect(1), new ManaCostsImpl("{B}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeAllPlayersEffect(1), new ManaCostsImpl<>("{B}{R}")));
}
private SpiteflameWitch(final SpiteflameWitch card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpitfireBastion.java b/Mage.Sets/src/mage/cards/s/SpitfireBastion.java
index 9268cd4d9b..3ed04843b4 100644
--- a/Mage.Sets/src/mage/cards/s/SpitfireBastion.java
+++ b/Mage.Sets/src/mage/cards/s/SpitfireBastion.java
@@ -32,7 +32,7 @@ public final class SpitfireBastion extends CardImpl {
// {2}{R}, {T}: Spitfire Bastion deals 3 damage to any target.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new TapSourceCost());
- ability.addCost(new ManaCostsImpl("{2}{R}"));
+ ability.addCost(new ManaCostsImpl<>("{2}{R}"));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpittingDrake.java b/Mage.Sets/src/mage/cards/s/SpittingDrake.java
index 54e8640bba..7f99e2aa25 100644
--- a/Mage.Sets/src/mage/cards/s/SpittingDrake.java
+++ b/Mage.Sets/src/mage/cards/s/SpittingDrake.java
@@ -30,7 +30,7 @@ public final class SpittingDrake extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {R}: Spitting Drake gets +1/+0 until end of turn. Activate this ability only once each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private SpittingDrake(final SpittingDrake card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpittingGourna.java b/Mage.Sets/src/mage/cards/s/SpittingGourna.java
index 6c3821fc99..fd491fcb8b 100644
--- a/Mage.Sets/src/mage/cards/s/SpittingGourna.java
+++ b/Mage.Sets/src/mage/cards/s/SpittingGourna.java
@@ -26,7 +26,7 @@ public final class SpittingGourna extends CardImpl {
// Reach
this.addAbility(ReachAbility.getInstance());
// Morph {4}{G}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{G}")));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{G}")));
}
private SpittingGourna(final SpittingGourna card) {
diff --git a/Mage.Sets/src/mage/cards/s/SpittingHydra.java b/Mage.Sets/src/mage/cards/s/SpittingHydra.java
index b8b29ffee8..32fc62c98b 100644
--- a/Mage.Sets/src/mage/cards/s/SpittingHydra.java
+++ b/Mage.Sets/src/mage/cards/s/SpittingHydra.java
@@ -37,7 +37,7 @@ public final class SpittingHydra extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(effect));
// {1}{R}, Remove a +1/+1 counter from Spitting Hydra: Spitting Hydra deals 1 damage to target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SpittingSlug.java b/Mage.Sets/src/mage/cards/s/SpittingSlug.java
index 2ddf77a139..d4e2c1cabb 100644
--- a/Mage.Sets/src/mage/cards/s/SpittingSlug.java
+++ b/Mage.Sets/src/mage/cards/s/SpittingSlug.java
@@ -42,7 +42,7 @@ public final class SpittingSlug extends CardImpl {
this.addAbility(new BlocksOrBecomesBlockedSourceTriggeredAbility(
new DoIfCostPaid(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn),
new SpittingSlugEffect(),
- new ManaCostsImpl("{1}{G}")).setText("you may pay {1}{G}. If you do, {this} gains first strike until end of turn. Otherwise, each creature blocking or blocked by {this} gains first strike until end of turn"),
+ new ManaCostsImpl<>("{1}{G}")).setText("you may pay {1}{G}. If you do, {this} gains first strike until end of turn. Otherwise, each creature blocking or blocked by {this} gains first strike until end of turn"),
false));
}
diff --git a/Mage.Sets/src/mage/cards/s/SplendorMare.java b/Mage.Sets/src/mage/cards/s/SplendorMare.java
index dbc20eabe0..82ae9f821c 100644
--- a/Mage.Sets/src/mage/cards/s/SplendorMare.java
+++ b/Mage.Sets/src/mage/cards/s/SplendorMare.java
@@ -33,7 +33,7 @@ public final class SplendorMare extends CardImpl {
this.addAbility(LifelinkAbility.getInstance());
// Cycling {1}{W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{W}")));
// When you cycle Splendor Mare, put a lifelink counter on target creature you control.
Ability ability = new CycleTriggeredAbility(new AddCountersTargetEffect(CounterType.LIFELINK.createInstance()));
diff --git a/Mage.Sets/src/mage/cards/s/SplinteringWind.java b/Mage.Sets/src/mage/cards/s/SplinteringWind.java
index c51db80358..7127b33653 100644
--- a/Mage.Sets/src/mage/cards/s/SplinteringWind.java
+++ b/Mage.Sets/src/mage/cards/s/SplinteringWind.java
@@ -35,7 +35,7 @@ public final class SplinteringWind extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{G}");
// {2}{G}: Splintering Wind deals 1 damage to target creature. Create a 1/1 green Splinter creature token. It has flying and “Cumulative upkeep {G}.” When it leaves the battlefield, it deals 1 damage to you and each creature you control.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{2}{G}"));
ability.addEffect(new SplinteringWindCreateTokenEffect());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SporebackTroll.java b/Mage.Sets/src/mage/cards/s/SporebackTroll.java
index b49be9ed72..3ea47b766c 100644
--- a/Mage.Sets/src/mage/cards/s/SporebackTroll.java
+++ b/Mage.Sets/src/mage/cards/s/SporebackTroll.java
@@ -33,7 +33,7 @@ public final class SporebackTroll extends CardImpl {
this.addAbility(new GraftAbility(this, 2));
// {1}{G}: Regenerate target creature with a +1/+1 counter on it.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{1}{G}"));
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_A_CREATURE_P1P1));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpringjackPasture.java b/Mage.Sets/src/mage/cards/s/SpringjackPasture.java
index ed7b0f7f89..e4c9280aca 100644
--- a/Mage.Sets/src/mage/cards/s/SpringjackPasture.java
+++ b/Mage.Sets/src/mage/cards/s/SpringjackPasture.java
@@ -39,7 +39,7 @@ public final class SpringjackPasture extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {4}, {tap}: Create a 0/1 white Goat creature token.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoatToken()), new ManaCostsImpl("{4}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoatToken()), new ManaCostsImpl<>("{4}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SquallDrifter.java b/Mage.Sets/src/mage/cards/s/SquallDrifter.java
index e7bef80662..7212e65d7b 100644
--- a/Mage.Sets/src/mage/cards/s/SquallDrifter.java
+++ b/Mage.Sets/src/mage/cards/s/SquallDrifter.java
@@ -34,7 +34,7 @@ public final class SquallDrifter extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {W}, {tap}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Squallmonger.java b/Mage.Sets/src/mage/cards/s/Squallmonger.java
index 7e1bfc7cff..6d58257913 100644
--- a/Mage.Sets/src/mage/cards/s/Squallmonger.java
+++ b/Mage.Sets/src/mage/cards/s/Squallmonger.java
@@ -38,7 +38,7 @@ public final class Squallmonger extends CardImpl {
this.toughness = new MageInt(3);
// {2}: Squallmonger deals 1 damage to each creature with flying and each player. Any player may activate this ability.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl("{2}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageAllEffect(1, filter), new ManaCostsImpl<>("{2}"));
Effect effect = new DamagePlayersEffect(1);
effect.setText("and each player");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/SquealingDevil.java b/Mage.Sets/src/mage/cards/s/SquealingDevil.java
index 89c2fbae5f..81f84ed77d 100644
--- a/Mage.Sets/src/mage/cards/s/SquealingDevil.java
+++ b/Mage.Sets/src/mage/cards/s/SquealingDevil.java
@@ -77,7 +77,7 @@ class SquealingDevilEffect extends OneShotEffect {
@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
- ManaCosts cost = new ManaCostsImpl("{X}");
+ ManaCosts cost = new ManaCostsImpl<>("{X}");
if (player != null) {
if (player.chooseUse(Outcome.BoostCreature, "Pay " + cost.getText() + "?", source, game)) {
int costX = player.announceXMana(0, Integer.MAX_VALUE, "Announce the value for {X}", game, source);
diff --git a/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java b/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java
index 662c87a9ee..97fe961411 100644
--- a/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java
+++ b/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java
@@ -36,12 +36,12 @@ public final class SquirrelWrangler extends CardImpl {
this.toughness = new MageInt(2);
// {1}{G}, Sacrifice a land: Create two 1/1 green Squirrel creature tokens.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SquirrelToken(), 2), new ManaCostsImpl("{1}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SquirrelToken(), 2), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land"))));
this.addAbility(ability);
// {1}{G}, Sacrifice a land: Squirrel creatures get +1/+1 until end of turn.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false), new ManaCostsImpl("{1}{G}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land"))));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StaffOfDomination.java b/Mage.Sets/src/mage/cards/s/StaffOfDomination.java
index c1894587c7..8816dbd9c2 100644
--- a/Mage.Sets/src/mage/cards/s/StaffOfDomination.java
+++ b/Mage.Sets/src/mage/cards/s/StaffOfDomination.java
@@ -27,23 +27,23 @@ public final class StaffOfDomination extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
// {1}: Untap Staff of Domination.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl("{1}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new ManaCostsImpl<>("{1}")));
// {2}, {tap}: You gain 1 life.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{2}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl<>("{2}"));
ability2.addCost(new TapSourceCost());
this.addAbility(ability2);
// {3}, {tap}: Untap target creature.
- Ability ability3 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl("{3}"));
+ Ability ability3 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new ManaCostsImpl<>("{3}"));
ability3.addCost(new TapSourceCost());
ability3.addTarget(new TargetCreaturePermanent());
this.addAbility(ability3);
// {4}, {tap}: Tap target creature.
- Ability ability4 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{4}"));
+ Ability ability4 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{4}"));
ability4.addCost(new TapSourceCost());
ability4.addTarget(new TargetCreaturePermanent());
this.addAbility(ability4);
// {5}, {tap}: Draw a card.
- Ability ability5 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{5}"));
+ Ability ability5 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{5}"));
ability5.addCost(new TapSourceCost());
this.addAbility(ability5);
}
diff --git a/Mage.Sets/src/mage/cards/s/StaffOfZegon.java b/Mage.Sets/src/mage/cards/s/StaffOfZegon.java
index 3867f09c4c..7a4023bda5 100644
--- a/Mage.Sets/src/mage/cards/s/StaffOfZegon.java
+++ b/Mage.Sets/src/mage/cards/s/StaffOfZegon.java
@@ -24,7 +24,7 @@ public final class StaffOfZegon extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}");
// {3}, {tap}: Target creature gets -2/-0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl("{3}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{3}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java
index 7f1cdbf52f..7759c4f630 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java
@@ -39,12 +39,12 @@ public final class StalkingAssassin extends CardImpl {
this.toughness = new MageInt(1);
// {3}{U}, {T}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{3}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{3}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {3}{B}, {T}: Destroy target tapped creature.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java b/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java
index 7b7e56ba7e..48529d8771 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java
@@ -32,7 +32,7 @@ public final class StalkingBloodsucker extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {1}{B}, Discard a card: Stalking Bloodsucker gets +2/+2 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{1}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"));
ability.addCost(new DiscardCardCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StalkingDrone.java b/Mage.Sets/src/mage/cards/s/StalkingDrone.java
index 4a848e38a3..d21499688c 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingDrone.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingDrone.java
@@ -30,7 +30,7 @@ public final class StalkingDrone extends CardImpl {
// Devoid
this.addAbility(new DevoidAbility(this.color));
// {C}: Stalking Drone gets +1/+2 until end of turn. Activate this ability only once each turn.
- this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl("{C}")));
+ this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 2, Duration.EndOfTurn), new ManaCostsImpl<>("{C}")));
}
private StalkingDrone(final StalkingDrone card) {
diff --git a/Mage.Sets/src/mage/cards/s/StalkingYeti.java b/Mage.Sets/src/mage/cards/s/StalkingYeti.java
index 10c6891f95..512798f15c 100644
--- a/Mage.Sets/src/mage/cards/s/StalkingYeti.java
+++ b/Mage.Sets/src/mage/cards/s/StalkingYeti.java
@@ -48,7 +48,7 @@ public final class StalkingYeti extends CardImpl {
this.addAbility(ability);
// {2}{snow}: Return Stalking Yeti to its owner's hand. Activate this ability only any time you could cast a sorcery.
- this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl("{2}{S}")));
+ this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(true), new ManaCostsImpl<>("{2}{S}")));
}
private StalkingYeti(final StalkingYeti card) {
diff --git a/Mage.Sets/src/mage/cards/s/StampedeDriver.java b/Mage.Sets/src/mage/cards/s/StampedeDriver.java
index 695679cc37..5a04d9285a 100644
--- a/Mage.Sets/src/mage/cards/s/StampedeDriver.java
+++ b/Mage.Sets/src/mage/cards/s/StampedeDriver.java
@@ -35,7 +35,7 @@ public final class StampedeDriver extends CardImpl {
this.toughness = new MageInt(1);
// {1}{G}, {T}, Discard a card: Creatures you control get +1/+1 and gain trample until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardTargetCost(new TargetCardInHand()));
ability.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES));
diff --git a/Mage.Sets/src/mage/cards/s/StarDestroyer.java b/Mage.Sets/src/mage/cards/s/StarDestroyer.java
index b04f4519e4..7da690f2d3 100644
--- a/Mage.Sets/src/mage/cards/s/StarDestroyer.java
+++ b/Mage.Sets/src/mage/cards/s/StarDestroyer.java
@@ -46,15 +46,15 @@ public final class StarDestroyer extends CardImpl {
this.addAbility(SpaceflightAbility.getInstance());
// {2}{U}: Tap target artifact creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addTarget(new TargetCreaturePermanent(filter1));
this.addAbility(ability);
// {2}{B}: Create a 1/1 black Starship artifact creature token with spaceflight named TIE Fighter.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new TIEFighterToken()), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new TIEFighterToken()), new ManaCostsImpl<>("{2}{B}")));
// {2}{R}: Star Destroyer deals 2 damge to target non-Starship creature or player.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}{R}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"));
ability.addTarget(new TargetCreatureOrPlayer(filter3));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StarlightInvoker.java b/Mage.Sets/src/mage/cards/s/StarlightInvoker.java
index 317f5a48d3..abba8b5701 100644
--- a/Mage.Sets/src/mage/cards/s/StarlightInvoker.java
+++ b/Mage.Sets/src/mage/cards/s/StarlightInvoker.java
@@ -26,7 +26,7 @@ public final class StarlightInvoker extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(3);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(5), new ManaCostsImpl("{7}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(5), new ManaCostsImpl<>("{7}{W}")));
}
private StarlightInvoker(final StarlightInvoker card) {
diff --git a/Mage.Sets/src/mage/cards/s/Starstorm.java b/Mage.Sets/src/mage/cards/s/Starstorm.java
index cd076d518c..351bb1c049 100644
--- a/Mage.Sets/src/mage/cards/s/Starstorm.java
+++ b/Mage.Sets/src/mage/cards/s/Starstorm.java
@@ -24,7 +24,7 @@ public final class Starstorm extends CardImpl {
// Starstorm deals X damage to each creature.
this.getSpellAbility().addEffect(new DamageAllEffect(ManacostVariableValue.REGULAR, new FilterCreaturePermanent()));
// Cycling {3}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
}
private Starstorm(final Starstorm card) {
diff --git a/Mage.Sets/src/mage/cards/s/StartlingDevelopment.java b/Mage.Sets/src/mage/cards/s/StartlingDevelopment.java
index 020f29e7d5..278e4d485b 100644
--- a/Mage.Sets/src/mage/cards/s/StartlingDevelopment.java
+++ b/Mage.Sets/src/mage/cards/s/StartlingDevelopment.java
@@ -31,7 +31,7 @@ public final class StartlingDevelopment extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Cycling {1}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}")));
}
private StartlingDevelopment(final StartlingDevelopment card) {
diff --git a/Mage.Sets/src/mage/cards/s/Stasis.java b/Mage.Sets/src/mage/cards/s/Stasis.java
index 82affe548d..d3562a540e 100644
--- a/Mage.Sets/src/mage/cards/s/Stasis.java
+++ b/Mage.Sets/src/mage/cards/s/Stasis.java
@@ -26,7 +26,7 @@ public final class Stasis extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipUntapStepEffect()));
// At the beginning of your upkeep, sacrifice Stasis unless you pay {U}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{U}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false));
}
diff --git a/Mage.Sets/src/mage/cards/s/StasisCell.java b/Mage.Sets/src/mage/cards/s/StasisCell.java
index e6696c383c..f888d40d9f 100644
--- a/Mage.Sets/src/mage/cards/s/StasisCell.java
+++ b/Mage.Sets/src/mage/cards/s/StasisCell.java
@@ -39,7 +39,7 @@ public final class StasisCell extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect()));
// {3}{U}: Attach Stasis Cell to target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "Attach {this} to target creature"), new ManaCostsImpl("{3}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "Attach {this} to target creature"), new ManaCostsImpl<>("{3}{U}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java b/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java
index a982050af5..b4e3e66ea6 100644
--- a/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java
+++ b/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java
@@ -24,7 +24,7 @@ public final class SteadfastSentinel extends CardImpl {
addAbility(VigilanceAbility.getInstance());
//Eternalize {4}{W}{W}
- addAbility(new EternalizeAbility(new ManaCostsImpl("{4}{W}{W}"), this));
+ addAbility(new EternalizeAbility(new ManaCostsImpl<>("{4}{W}{W}"), this));
}
diff --git a/Mage.Sets/src/mage/cards/s/SteamSpitter.java b/Mage.Sets/src/mage/cards/s/SteamSpitter.java
index 934c35e3b3..28e2ee4bb0 100644
--- a/Mage.Sets/src/mage/cards/s/SteamSpitter.java
+++ b/Mage.Sets/src/mage/cards/s/SteamSpitter.java
@@ -29,7 +29,7 @@ public final class SteamSpitter extends CardImpl {
// Reach
this.addAbility(ReachAbility.getInstance());
// {R}: Steam Spitter gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private SteamSpitter(final SteamSpitter card) {
diff --git a/Mage.Sets/src/mage/cards/s/SteelHellkite.java b/Mage.Sets/src/mage/cards/s/SteelHellkite.java
index 4cc764abbe..0557fff49a 100644
--- a/Mage.Sets/src/mage/cards/s/SteelHellkite.java
+++ b/Mage.Sets/src/mage/cards/s/SteelHellkite.java
@@ -51,7 +51,7 @@ public final class SteelHellkite extends CardImpl {
this.addAbility(new LimitedTimesPerTurnActivatedAbility(
Zone.BATTLEFIELD,
new SteelHellkiteDestroyEffect(),
- new ManaCostsImpl("{X}")
+ new ManaCostsImpl<>("{X}")
), new SteelHellkiteWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/s/SteelbaneHydra.java b/Mage.Sets/src/mage/cards/s/SteelbaneHydra.java
index f73bff650c..703d099218 100644
--- a/Mage.Sets/src/mage/cards/s/SteelbaneHydra.java
+++ b/Mage.Sets/src/mage/cards/s/SteelbaneHydra.java
@@ -32,7 +32,7 @@ public final class SteelbaneHydra extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance())));
// {2}{G}, Remove a +1/+1 counter from Steelbane Hydra: Destroy target artifact or enchantment.
- Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl("{2}{G}"));
+ Ability ability = new SimpleActivatedAbility(new DestroyTargetEffect(), new ManaCostsImpl<>("{2}{G}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SteelingStance.java b/Mage.Sets/src/mage/cards/s/SteelingStance.java
index e17bcb0f39..465d0f1dee 100644
--- a/Mage.Sets/src/mage/cards/s/SteelingStance.java
+++ b/Mage.Sets/src/mage/cards/s/SteelingStance.java
@@ -26,7 +26,7 @@ public final class SteelingStance extends CardImpl {
// Creatures you control get +1/+1 until end of turn.
this.getSpellAbility().addEffect(new BoostControlledEffect(1,1, Duration.EndOfTurn));
// Forecast - {W}, Reveal Steeling Stance from your hand: Target creature gets +1/+1 until end of turn.
- Ability ability = new ForecastAbility(new BoostTargetEffect(1,1, Duration.EndOfTurn), new ManaCostsImpl("{W}"));
+ Ability ability = new ForecastAbility(new BoostTargetEffect(1,1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SteepleCreeper.java b/Mage.Sets/src/mage/cards/s/SteepleCreeper.java
index ebb8958b1c..9d4ab7b1ca 100644
--- a/Mage.Sets/src/mage/cards/s/SteepleCreeper.java
+++ b/Mage.Sets/src/mage/cards/s/SteepleCreeper.java
@@ -30,7 +30,7 @@ public final class SteepleCreeper extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
new GainAbilitySourceEffect(
FlyingAbility.getInstance(), Duration.EndOfTurn
- ), new ManaCostsImpl("{3}{U}")
+ ), new ManaCostsImpl<>("{3}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/StenchOfEvil.java b/Mage.Sets/src/mage/cards/s/StenchOfEvil.java
index e025012fc0..1b14f035e6 100644
--- a/Mage.Sets/src/mage/cards/s/StenchOfEvil.java
+++ b/Mage.Sets/src/mage/cards/s/StenchOfEvil.java
@@ -66,7 +66,7 @@ class StenchOfEvilEffect extends OneShotEffect {
for (Permanent land : game.getBattlefield().getAllActivePermanents(filter, game)) {
UUID landControllerId = land.getControllerId();
if (land.destroy(source, game, false)) {
- Cost cost = new ManaCostsImpl("{2}");
+ Cost cost = new ManaCostsImpl<>("{2}");
Player landController = game.getPlayer(landControllerId);
if (landController != null
&& cost.canPay(source, source, landControllerId, game)
diff --git a/Mage.Sets/src/mage/cards/s/StensiaBloodhall.java b/Mage.Sets/src/mage/cards/s/StensiaBloodhall.java
index f7f6d318ba..a9702dd00a 100644
--- a/Mage.Sets/src/mage/cards/s/StensiaBloodhall.java
+++ b/Mage.Sets/src/mage/cards/s/StensiaBloodhall.java
@@ -26,7 +26,7 @@ public final class StensiaBloodhall extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {3}{B}{R}, {T}: Stensia Bloodhall deals 2 damage to target player.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{3}{B}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{3}{B}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayerOrPlaneswalker());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java
index b7d5b5869f..19647b05f0 100644
--- a/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java
+++ b/Mage.Sets/src/mage/cards/s/StensiaMasquerade.java
@@ -49,7 +49,7 @@ public final class StensiaMasquerade extends CardImpl {
this.addAbility(new StensiaMasqueradeTriggeredAbility());
// Madness {2}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{2}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{2}{R}")));
}
private StensiaMasquerade(final StensiaMasquerade card) {
diff --git a/Mage.Sets/src/mage/cards/s/SteppeGlider.java b/Mage.Sets/src/mage/cards/s/SteppeGlider.java
index ea4a6830d2..d822ef9aa8 100644
--- a/Mage.Sets/src/mage/cards/s/SteppeGlider.java
+++ b/Mage.Sets/src/mage/cards/s/SteppeGlider.java
@@ -40,7 +40,7 @@ public final class SteppeGlider extends CardImpl {
// {1}{W}: Target creature with a +1/+1 counter on it gains flying and vigilance until end of turn.
Effect effect = new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn);
effect.setText("Target creature with a +1/+1 counter on it gains flying");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{W}"));
effect = new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn);
effect.setText("and vigilance until end of turn");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/StillLife.java b/Mage.Sets/src/mage/cards/s/StillLife.java
index 7810eabcca..53504fbe05 100644
--- a/Mage.Sets/src/mage/cards/s/StillLife.java
+++ b/Mage.Sets/src/mage/cards/s/StillLife.java
@@ -25,7 +25,7 @@ public final class StillLife extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{G}");
// {G}{G}: Still Life becomes a 4/3 Centaur creature until end of turn. It's still an enchantment.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new StillLifeCentaur(), "", Duration.EndOfTurn), new ManaCostsImpl("{G}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new StillLifeCentaur(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{G}")));
}
private StillLife(final StillLife card) {
diff --git a/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java b/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java
index 9e9a5f29ab..3d6219f059 100644
--- a/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java
+++ b/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java
@@ -35,11 +35,11 @@ public final class StillmoonCavalier extends CardImpl {
// Protection from white and from black
this.addAbility(ProtectionAbility.from(ObjectColor.WHITE, ObjectColor.BLACK));
// {WB}: Stillmoon Cavalier gains flying until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W/B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W/B}")));
// {WB}: Stillmoon Cavalier gains first strike until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W/B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{W/B}")));
// {WB}{WB}: Stillmoon Cavalier gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{W/B}{W/B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{W/B}{W/B}")));
}
private StillmoonCavalier(final StillmoonCavalier card) {
diff --git a/Mage.Sets/src/mage/cards/s/StingingBarrier.java b/Mage.Sets/src/mage/cards/s/StingingBarrier.java
index 41f3e6bc50..97abc3a5b4 100644
--- a/Mage.Sets/src/mage/cards/s/StingingBarrier.java
+++ b/Mage.Sets/src/mage/cards/s/StingingBarrier.java
@@ -30,7 +30,7 @@ public final class StingingBarrier extends CardImpl {
// Defender
this.addAbility(DefenderAbility.getInstance());
// {U}, {tap}: Stinging Barrier deals 1 damage to any target.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{U}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StingingShot.java b/Mage.Sets/src/mage/cards/s/StingingShot.java
index 956d49f52d..138a2d01de 100644
--- a/Mage.Sets/src/mage/cards/s/StingingShot.java
+++ b/Mage.Sets/src/mage/cards/s/StingingShot.java
@@ -34,7 +34,7 @@ public final class StingingShot extends CardImpl {
getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance(3)));
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private StingingShot(final StingingShot card) {
diff --git a/Mage.Sets/src/mage/cards/s/Stingmoggie.java b/Mage.Sets/src/mage/cards/s/Stingmoggie.java
index 9122319521..f69162f0d6 100644
--- a/Mage.Sets/src/mage/cards/s/Stingmoggie.java
+++ b/Mage.Sets/src/mage/cards/s/Stingmoggie.java
@@ -45,7 +45,7 @@ public final class Stingmoggie extends CardImpl {
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),"with two +1/+1 counters on it"));
// {3}{R}, Remove a +1/+1 counter from Stingmoggie: Destroy target artifact or land.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{3}{R}"));
ability.addCost(new RemoveCountersSourceCost(CounterType.P1P1.createInstance(1)));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StirTheSands.java b/Mage.Sets/src/mage/cards/s/StirTheSands.java
index 8fe7584c84..591d5dc771 100644
--- a/Mage.Sets/src/mage/cards/s/StirTheSands.java
+++ b/Mage.Sets/src/mage/cards/s/StirTheSands.java
@@ -24,7 +24,7 @@ public final class StirTheSands extends CardImpl {
getSpellAbility().addEffect(new CreateTokenEffect(new ZombieToken(), 3));
// Cycling {3}{B}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}{B}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}{B}")));
// When you cycle Stir the Sands, create a 2/2 black Zombie creature token.
this.addAbility(new CycleTriggeredAbility(new CreateTokenEffect(new ZombieToken())));
diff --git a/Mage.Sets/src/mage/cards/s/StirringAddress.java b/Mage.Sets/src/mage/cards/s/StirringAddress.java
index 358ab4cd31..13378b8453 100644
--- a/Mage.Sets/src/mage/cards/s/StirringAddress.java
+++ b/Mage.Sets/src/mage/cards/s/StirringAddress.java
@@ -27,7 +27,7 @@ public final class StirringAddress extends CardImpl {
// Overload {5}{W}
this.addAbility(new OverloadAbility(this, new BoostControlledEffect(
2, 2, Duration.EndOfTurn
- ).setText("Each creature you control gets +2/+2 until end of turn."), new ManaCostsImpl("{5}{W}")));
+ ).setText("Each creature you control gets +2/+2 until end of turn."), new ManaCostsImpl<>("{5}{W}")));
}
private StirringAddress(final StirringAddress card) {
diff --git a/Mage.Sets/src/mage/cards/s/StirringWildwood.java b/Mage.Sets/src/mage/cards/s/StirringWildwood.java
index 62b019a549..cabcf81d03 100644
--- a/Mage.Sets/src/mage/cards/s/StirringWildwood.java
+++ b/Mage.Sets/src/mage/cards/s/StirringWildwood.java
@@ -30,7 +30,7 @@ public final class StirringWildwood extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new GreenManaAbility());
this.addAbility(new WhiteManaAbility());
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new StirringWildwoodToken(), "land", Duration.EndOfTurn), new ManaCostsImpl("{1}{G}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new StirringWildwoodToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{G}{W}")));
}
private StirringWildwood(final StirringWildwood card) {
diff --git a/Mage.Sets/src/mage/cards/s/StitcherGeralf.java b/Mage.Sets/src/mage/cards/s/StitcherGeralf.java
index 156d974dc3..0d1f937fc9 100644
--- a/Mage.Sets/src/mage/cards/s/StitcherGeralf.java
+++ b/Mage.Sets/src/mage/cards/s/StitcherGeralf.java
@@ -37,7 +37,7 @@ public final class StitcherGeralf extends CardImpl {
this.toughness = new MageInt(4);
// {2}{U}, {tap}: Each player puts the top three cards of their library into their graveyard. Exile up to two creature cards put into graveyards this way. Create an X/X blue Zombie creature token, where X is the total power of the cards exiled this way.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StitcherGeralfEffect(), new ManaCostsImpl("{2}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StitcherGeralfEffect(), new ManaCostsImpl<>("{2}{U}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StitchersApprentice.java b/Mage.Sets/src/mage/cards/s/StitchersApprentice.java
index 100868f5ea..6762f9a452 100644
--- a/Mage.Sets/src/mage/cards/s/StitchersApprentice.java
+++ b/Mage.Sets/src/mage/cards/s/StitchersApprentice.java
@@ -37,7 +37,7 @@ public final class StitchersApprentice extends CardImpl {
this.toughness = new MageInt(2);
// {1}{U}, {tap}: Create a 2/2 blue Homunculus creature token, then sacrifice a creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new StitchersApprenticeHomunculusToken()), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new StitchersApprenticeHomunculusToken()), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
ability.addEffect(new StitchersApprenticeEffect());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java b/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java
index ed2016f848..95c5b92a23 100644
--- a/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java
+++ b/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java
@@ -34,7 +34,7 @@ public final class StitchwingSkaab extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}{U}, Discard two cards: Return Stitchwing Skaab from your graveyard to the battlefield tapped.
- Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards"))));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java b/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java
index b39eb0453e..5499a272c9 100644
--- a/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java
+++ b/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java
@@ -28,7 +28,7 @@ public final class StoneHavenMedic extends CardImpl {
this.toughness = new MageInt(3);
// {W}, {T}: You gain 1 life.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StoneKavu.java b/Mage.Sets/src/mage/cards/s/StoneKavu.java
index 4716aea4cc..d09944766a 100644
--- a/Mage.Sets/src/mage/cards/s/StoneKavu.java
+++ b/Mage.Sets/src/mage/cards/s/StoneKavu.java
@@ -27,9 +27,9 @@ public final class StoneKavu extends CardImpl {
this.toughness = new MageInt(3);
// {R}: Stone Kavu gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
// {W}: Stone Kavu gets +0/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{W}")));
}
private StoneKavu(final StoneKavu card) {
diff --git a/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java b/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java
index 63597c378c..d27bf4768f 100644
--- a/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java
+++ b/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java
@@ -28,7 +28,7 @@ public final class StonefareCrocodile extends CardImpl {
this.toughness = new MageInt(2);
// {2}{B}: Stonefare Crocodile gains lifelink until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
}
private StonefareCrocodile(final StonefareCrocodile card) {
diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java b/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java
index ab7cd94903..756df2a70f 100644
--- a/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java
+++ b/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java
@@ -43,7 +43,7 @@ public final class StoneforgeMystic extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(target, true, true), true));
// {1}{W}, {T}: You may put an Equipment card from your hand onto the battlefield.
- SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), new ManaCostsImpl("{1}{W}"));
+ SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutCardFromHandOntoBattlefieldEffect(filter), new ManaCostsImpl<>("{1}{W}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StonehewerGiant.java b/Mage.Sets/src/mage/cards/s/StonehewerGiant.java
index 32c6fb962f..3be10833c4 100644
--- a/Mage.Sets/src/mage/cards/s/StonehewerGiant.java
+++ b/Mage.Sets/src/mage/cards/s/StonehewerGiant.java
@@ -44,7 +44,7 @@ public final class StonehewerGiant extends CardImpl {
Ability ability = new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new StonehewerGiantEffect(),
- new ManaCostsImpl("{1}{W}")
+ new ManaCostsImpl<>("{1}{W}")
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StonehornChanter.java b/Mage.Sets/src/mage/cards/s/StonehornChanter.java
index 9a3d32d076..065949b277 100644
--- a/Mage.Sets/src/mage/cards/s/StonehornChanter.java
+++ b/Mage.Sets/src/mage/cards/s/StonehornChanter.java
@@ -31,7 +31,7 @@ public final class StonehornChanter extends CardImpl {
this.toughness = new MageInt(4);
// {5}{W}: Stonehorn Chanter gains vigilance and lifelink until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{5}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{5}{W}"));
ability.addEffect(new GainAbilitySourceEffect(LifelinkAbility.getInstance()));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java b/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java
index d21065c47c..dfa1a08cd0 100644
--- a/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java
+++ b/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java
@@ -35,7 +35,7 @@ public final class StonewiseFortifier extends CardImpl {
this.toughness = new MageInt(2);
// {4}{W}: Prevent all damage that would be dealt to Stonewise Fortifier by target creature this turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StonewiseFortifierPreventAllDamageToEffect(), new ManaCostsImpl("{4}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StonewiseFortifierPreventAllDamageToEffect(), new ManaCostsImpl<>("{4}{W}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java b/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java
index 71fe7caedf..15375153a6 100644
--- a/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java
+++ b/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java
@@ -28,7 +28,7 @@ public final class StonewoodInvoker extends CardImpl {
this.toughness = new MageInt(2);
// {7}{G}: Stonewood Invoker gets +5/+5 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(5,5,Duration.EndOfTurn), new ManaCostsImpl("{7}{G}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(5,5,Duration.EndOfTurn), new ManaCostsImpl<>("{7}{G}")));
}
private StonewoodInvoker(final StonewoodInvoker card) {
diff --git a/Mage.Sets/src/mage/cards/s/Stonewright.java b/Mage.Sets/src/mage/cards/s/Stonewright.java
index d8291dd4b5..6cc3f81bf5 100644
--- a/Mage.Sets/src/mage/cards/s/Stonewright.java
+++ b/Mage.Sets/src/mage/cards/s/Stonewright.java
@@ -36,7 +36,7 @@ public final class Stonewright extends CardImpl {
this.addAbility(new SoulbondAbility());
// As long as Stonewright is paired with another creature, each of those creatures has "{R}: This creature gets +1/+0 until end of turn."
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(ability, ruleText)));
}
diff --git a/Mage.Sets/src/mage/cards/s/StonybrookAngler.java b/Mage.Sets/src/mage/cards/s/StonybrookAngler.java
index f5b7aa3e22..987f179e7d 100644
--- a/Mage.Sets/src/mage/cards/s/StonybrookAngler.java
+++ b/Mage.Sets/src/mage/cards/s/StonybrookAngler.java
@@ -30,7 +30,7 @@ public final class StonybrookAngler extends CardImpl {
this.toughness = new MageInt(2);
// {1}{U}, {tap}: You may tap or untap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new ManaCostsImpl("{1}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new ManaCostsImpl<>("{1}{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StormElemental.java b/Mage.Sets/src/mage/cards/s/StormElemental.java
index f9ac6e9ba9..f4e5f32940 100644
--- a/Mage.Sets/src/mage/cards/s/StormElemental.java
+++ b/Mage.Sets/src/mage/cards/s/StormElemental.java
@@ -44,13 +44,13 @@ public final class StormElemental extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {U}, Exile the top card of your library: Tap target creature with flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{U}"));
ability.addCost(new ExileTopCardLibraryCost());
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
// {U}, Exile the top card of your library: If the exiled card is a snow land, Storm Elemental gets +1/+1 until end of turn.
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StormElementalEffect(), new ManaCostsImpl("{U}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new StormElementalEffect(), new ManaCostsImpl<>("{U}"));
ability2.addCost(new ExileTopCardLibraryCost());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/s/StormFront.java b/Mage.Sets/src/mage/cards/s/StormFront.java
index 309ec3fae3..5c88d0bf64 100644
--- a/Mage.Sets/src/mage/cards/s/StormFront.java
+++ b/Mage.Sets/src/mage/cards/s/StormFront.java
@@ -31,7 +31,7 @@ public final class StormFront extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
// {G}{G}: Tap target creature with flying.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{G}{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{G}{G}"));
ability.addTarget(new TargetCreaturePermanent(filter));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StormShaman.java b/Mage.Sets/src/mage/cards/s/StormShaman.java
index 474c4aaac0..15afdf8a97 100644
--- a/Mage.Sets/src/mage/cards/s/StormShaman.java
+++ b/Mage.Sets/src/mage/cards/s/StormShaman.java
@@ -29,7 +29,7 @@ public final class StormShaman extends CardImpl {
this.toughness = new MageInt(4);
// {R}: Storm Shaman gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}")));
}
private StormShaman(final StormShaman card) {
diff --git a/Mage.Sets/src/mage/cards/s/Stormbind.java b/Mage.Sets/src/mage/cards/s/Stormbind.java
index c21d47d7f1..fcde28f945 100644
--- a/Mage.Sets/src/mage/cards/s/Stormbind.java
+++ b/Mage.Sets/src/mage/cards/s/Stormbind.java
@@ -24,7 +24,7 @@ public final class Stormbind extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}{G}");
// {2}, Discard a card at random: Stormbind deals 2 damage to any target.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl<>("{2}"));
ability.addCost(new DiscardCardCost(true));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java b/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java
index bb87931e40..9f0845fecd 100644
--- a/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java
+++ b/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java
@@ -30,7 +30,7 @@ public final class StormcallerOfKeranos extends CardImpl {
// Haste
this.addAbility(HasteAbility.getInstance());
// {1}{U}: Scry 1.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new ManaCostsImpl("{1}{U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new ManaCostsImpl<>("{1}{U}")));
}
private StormcallerOfKeranos(final StormcallerOfKeranos card) {
diff --git a/Mage.Sets/src/mage/cards/s/StormchaserChimera.java b/Mage.Sets/src/mage/cards/s/StormchaserChimera.java
index 176ce12367..c4314d2762 100644
--- a/Mage.Sets/src/mage/cards/s/StormchaserChimera.java
+++ b/Mage.Sets/src/mage/cards/s/StormchaserChimera.java
@@ -40,7 +40,7 @@ public final class StormchaserChimera extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
// {2}{U}{R}: Scry 1, then reveal the top card of your library. Stormchaser Chimera gets +X/+0 until end of turn, where X is that card's converted mana cost.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl("{2}{U}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl<>("{2}{U}{R}"));
ability.addEffect(new StormchaserChimeraEffect());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java b/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java
index 0e04d1e819..b3aa559488 100644
--- a/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java
+++ b/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java
@@ -36,7 +36,7 @@ public final class StormcloudDjinn extends CardImpl {
this.addAbility(new CanBlockOnlyFlyingAbility());
// {R}{R}: Stormcloud Djinn gets +2/+0 until end of turn and deals 1 damage to you.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn),
- new ManaCostsImpl("{R}{R}"));
+ new ManaCostsImpl<>("{R}{R}"));
Effect effect = new DamageControllerEffect(1);
effect.setText("and deals 1 damage to you");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/StormcragElemental.java b/Mage.Sets/src/mage/cards/s/StormcragElemental.java
index d2d26275ae..717b6b270f 100644
--- a/Mage.Sets/src/mage/cards/s/StormcragElemental.java
+++ b/Mage.Sets/src/mage/cards/s/StormcragElemental.java
@@ -27,7 +27,7 @@ public final class StormcragElemental extends CardImpl {
this.addAbility(TrampleAbility.getInstance());
// Megamorph {4}{R}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{4}{R}{R}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{4}{R}{R}"), true));
}
private StormcragElemental(final StormcragElemental card) {
diff --git a/Mage.Sets/src/mage/cards/s/StormscaleAnarch.java b/Mage.Sets/src/mage/cards/s/StormscaleAnarch.java
index 52c2c9db45..969b0baf95 100644
--- a/Mage.Sets/src/mage/cards/s/StormscaleAnarch.java
+++ b/Mage.Sets/src/mage/cards/s/StormscaleAnarch.java
@@ -33,7 +33,7 @@ public final class StormscaleAnarch extends CardImpl {
this.toughness = new MageInt(2);
// {2}{R}, Discard a card at random: Stormscale Anarch deals 2 damage to any target. If the discarded card was multicolored, Stormscale Anarch deals 4 damage to that creature or player instead.
- Ability ability = new SimpleActivatedAbility(new StormscaleAnarchEffect(), new ManaCostsImpl("{2}{R}"));
+ Ability ability = new SimpleActivatedAbility(new StormscaleAnarchEffect(), new ManaCostsImpl<>("{2}{R}"));
ability.addCost(new DiscardCardCost(true));
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java b/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java
index 658d257a08..2090746f79 100644
--- a/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java
+++ b/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java
@@ -32,12 +32,12 @@ public final class StormscapeApprentice extends CardImpl {
this.toughness = new MageInt(1);
// {W}, {T}: Tap target creature.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl("{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new ManaCostsImpl<>("{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {B}, {T}: Target player loses 1 life.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl("{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), new ManaCostsImpl<>("{B}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/StormscapeMaster.java b/Mage.Sets/src/mage/cards/s/StormscapeMaster.java
index f0951fa077..f272e72bbe 100644
--- a/Mage.Sets/src/mage/cards/s/StormscapeMaster.java
+++ b/Mage.Sets/src/mage/cards/s/StormscapeMaster.java
@@ -37,13 +37,13 @@ public final class StormscapeMaster extends CardImpl {
// {W}{W}, {T}: Target creature gains protection from the color of your choice until end of turn.
Effect effect = new GainProtectionFromColorTargetEffect(Duration.EndOfTurn);
effect.setText("Target creature gains protection from the color of your choice until end of turn.");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {B}{B}, {T}: Target player loses 2 life and you gain 2 life.
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2), new ManaCostsImpl("{B}{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2), new ManaCostsImpl<>("{B}{B}"));
ability.addEffect(new GainLifeEffect(2).setText("and you gain 2 life"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPlayer());
diff --git a/Mage.Sets/src/mage/cards/s/StormwingDragon.java b/Mage.Sets/src/mage/cards/s/StormwingDragon.java
index 0a1b7d52d9..4d39ce2588 100644
--- a/Mage.Sets/src/mage/cards/s/StormwingDragon.java
+++ b/Mage.Sets/src/mage/cards/s/StormwingDragon.java
@@ -43,7 +43,7 @@ public final class StormwingDragon extends CardImpl {
this.addAbility(FirstStrikeAbility.getInstance());
// Megamorph {5}{R}{R}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{5}{R}{R}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{5}{R}{R}"), true));
// When Stormwing Dragon is turned face up, put a +1/+1 counter on each other Dragon creature you control.
this.addAbility(new TurnedFaceUpSourceTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, false));
diff --git a/Mage.Sets/src/mage/cards/s/StormwingEntity.java b/Mage.Sets/src/mage/cards/s/StormwingEntity.java
index 076af362ea..d8b1c2bcc4 100644
--- a/Mage.Sets/src/mage/cards/s/StormwingEntity.java
+++ b/Mage.Sets/src/mage/cards/s/StormwingEntity.java
@@ -41,7 +41,7 @@ public final class StormwingEntity extends CardImpl {
// This spell costs {2}{U} less to cast if you've cast an instant or sorcery spell this turn.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(
- new ManaCostsImpl("{2}{U}"), StormwingEntityCondition.instance
+ new ManaCostsImpl<>("{2}{U}"), StormwingEntityCondition.instance
)).setRuleAtTheTop(true).addHint(hint), new SpellsCastWatcher());
// Flying
diff --git a/Mage.Sets/src/mage/cards/s/StoryCircle.java b/Mage.Sets/src/mage/cards/s/StoryCircle.java
index d28b341b9e..140a0a2cd3 100644
--- a/Mage.Sets/src/mage/cards/s/StoryCircle.java
+++ b/Mage.Sets/src/mage/cards/s/StoryCircle.java
@@ -32,7 +32,7 @@ public final class StoryCircle extends CardImpl {
// As Story Circle enters the battlefield, choose a color.
this.addAbility(new EntersBattlefieldAbility(new ChooseColorEffect(Outcome.Neutral)));
// {W}: The next time a source of your choice of the chosen color would deal damage to you this turn, prevent that damage.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new StoryCircleEffect(), new ManaCostsImpl("{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new StoryCircleEffect(), new ManaCostsImpl<>("{W}")));
}
private StoryCircle(final StoryCircle card) {
diff --git a/Mage.Sets/src/mage/cards/s/StrandsOfNight.java b/Mage.Sets/src/mage/cards/s/StrandsOfNight.java
index 66628c2803..f507cf8325 100644
--- a/Mage.Sets/src/mage/cards/s/StrandsOfNight.java
+++ b/Mage.Sets/src/mage/cards/s/StrandsOfNight.java
@@ -34,7 +34,7 @@ public final class StrandsOfNight extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}");
// {B}{B}, Pay 2 life, Sacrifice a Swamp: Return target creature card from your graveyard to the battlefield.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{B}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{B}{B}"));
ability.addCost(new PayLifeCost(2));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
diff --git a/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java b/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java
index 275ddae657..3e7c06cc3d 100644
--- a/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java
+++ b/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java
@@ -38,7 +38,7 @@ public final class StrandsOfUndeath extends CardImpl {
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
this.addAbility(new EnchantAbility(auraTarget.getTargetName()));
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl<>("{B}")));
Ability abilityDiscard = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(2));
abilityDiscard.addTarget(new TargetPlayer());
diff --git a/Mage.Sets/src/mage/cards/s/StranglingSoot.java b/Mage.Sets/src/mage/cards/s/StranglingSoot.java
index b5061c16ab..e720e91b11 100644
--- a/Mage.Sets/src/mage/cards/s/StranglingSoot.java
+++ b/Mage.Sets/src/mage/cards/s/StranglingSoot.java
@@ -32,7 +32,7 @@ public final class StranglingSoot extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
this.getSpellAbility().addEffect(new DestroyTargetEffect());
// Flashback {5}{R}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{5}{R}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{5}{R}")));
}
private StranglingSoot(final StranglingSoot card) {
diff --git a/Mage.Sets/src/mage/cards/s/StratusDancer.java b/Mage.Sets/src/mage/cards/s/StratusDancer.java
index 6e57901459..a32d05dd07 100644
--- a/Mage.Sets/src/mage/cards/s/StratusDancer.java
+++ b/Mage.Sets/src/mage/cards/s/StratusDancer.java
@@ -34,7 +34,7 @@ public final class StratusDancer extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// Megamorph {1}{U}
- this.addAbility(new MorphAbility(new ManaCostsImpl("{1}{U}"), true));
+ this.addAbility(new MorphAbility(new ManaCostsImpl<>("{1}{U}"), true));
// When Stratus Dancer is turned face up, counter target instant or sorcery spell
Effect effect = new CounterTargetEffect();
diff --git a/Mage.Sets/src/mage/cards/s/StreamHopper.java b/Mage.Sets/src/mage/cards/s/StreamHopper.java
index fc41137ea9..68bdd5c3e0 100644
--- a/Mage.Sets/src/mage/cards/s/StreamHopper.java
+++ b/Mage.Sets/src/mage/cards/s/StreamHopper.java
@@ -27,7 +27,7 @@ public final class StreamHopper extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U/R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U/R}")));
}
private StreamHopper(final StreamHopper card) {
diff --git a/Mage.Sets/src/mage/cards/s/StreetSpasm.java b/Mage.Sets/src/mage/cards/s/StreetSpasm.java
index a14e0760a2..fd6410f189 100644
--- a/Mage.Sets/src/mage/cards/s/StreetSpasm.java
+++ b/Mage.Sets/src/mage/cards/s/StreetSpasm.java
@@ -39,7 +39,7 @@ public final class StreetSpasm extends CardImpl {
this.getSpellAbility().addEffect(new DamageTargetEffect(ManacostVariableValue.REGULAR));
// Overload {X}{X}{R}{R} (You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")
- this.addAbility(new OverloadAbility(this, new DamageAllEffect(ManacostVariableValue.REGULAR, filter), new ManaCostsImpl("{X}{X}{R}{R}")));
+ this.addAbility(new OverloadAbility(this, new DamageAllEffect(ManacostVariableValue.REGULAR, filter), new ManaCostsImpl<>("{X}{X}{R}{R}")));
}
private StreetSpasm(final StreetSpasm card) {
diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java b/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java
index 7382dda0dd..82cd1896bf 100644
--- a/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java
+++ b/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java
@@ -47,7 +47,7 @@ public final class StrengthOfIsolation extends CardImpl {
ability.addEffect(effect);
this.addAbility(ability);
// Madness {W}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{W}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{W}")));
}
private StrengthOfIsolation(final StrengthOfIsolation card) {
diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java b/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java
index a2d2fea2ce..f218b0ad07 100644
--- a/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java
+++ b/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java
@@ -47,7 +47,7 @@ public final class StrengthOfLunacy extends CardImpl {
ability.addEffect(effect);
this.addAbility(ability);
// Madness {B}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{B}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{B}")));
}
private StrengthOfLunacy(final StrengthOfLunacy card) {
diff --git a/Mage.Sets/src/mage/cards/s/StringOfDisappearances.java b/Mage.Sets/src/mage/cards/s/StringOfDisappearances.java
index ecbe6e9db0..ce004b3d13 100644
--- a/Mage.Sets/src/mage/cards/s/StringOfDisappearances.java
+++ b/Mage.Sets/src/mage/cards/s/StringOfDisappearances.java
@@ -73,7 +73,7 @@ class StringOfDisappearancesEffect extends OneShotEffect {
if (!affectedPlayer.chooseUse(Outcome.Copy, "Pay {U}{U} to copy the spell?", source, game)) {
return true;
}
- Cost cost = new ManaCostsImpl("{U}{U}");
+ Cost cost = new ManaCostsImpl<>("{U}{U}");
if (!cost.pay(source, game, source, affectedPlayer.getId(), false, null)) {
return true;
}
diff --git a/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java b/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java
index e5d902ee01..0a0c58c9df 100644
--- a/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java
+++ b/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java
@@ -28,7 +28,7 @@ public final class StripedRiverwinder extends CardImpl {
this.addAbility(HexproofAbility.getInstance());
// Cycling {U}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{U}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java b/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java
index f3d613d8c7..bdde6f6bef 100644
--- a/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java
+++ b/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java
@@ -35,10 +35,10 @@ public final class StromgaldCrusader extends CardImpl {
this.addAbility(ProtectionAbility.from(ObjectColor.WHITE));
// {B}: Stromgald Crusader gains flying until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{B}")));
// {B}{B}: Stromgald Crusader gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{B}{B}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{B}")));
}
private StromgaldCrusader(final StromgaldCrusader card) {
diff --git a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java
index 275548de47..618f6d74f9 100644
--- a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java
+++ b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java
@@ -33,7 +33,7 @@ public final class StromkirkOccultist extends CardImpl {
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new ExileTopXMayPlayUntilEndOfTurnEffect(1), false));
// Madness {1}{R}
- this.addAbility(new MadnessAbility(new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new MadnessAbility(new ManaCostsImpl<>("{1}{R}")));
}
private StromkirkOccultist(final StromkirkOccultist card) {
diff --git a/Mage.Sets/src/mage/cards/s/StrongholdBiologist.java b/Mage.Sets/src/mage/cards/s/StrongholdBiologist.java
index 547272ec27..cf831cf5ad 100644
--- a/Mage.Sets/src/mage/cards/s/StrongholdBiologist.java
+++ b/Mage.Sets/src/mage/cards/s/StrongholdBiologist.java
@@ -31,7 +31,7 @@ public final class StrongholdBiologist extends CardImpl {
this.toughness = new MageInt(1);
// {U}{U}, {tap}, Discard a card: Counter target creature spell.
- Ability ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl("{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(new CounterTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetSpell(new FilterCreatureSpell()));
diff --git a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
index a403daf089..34dbe63064 100644
--- a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
+++ b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java
@@ -32,7 +32,7 @@ public final class StrongholdMachinist extends CardImpl {
this.toughness = new MageInt(1);
// {U}{U}, {tap}, Discard a card: Counter target noncreature spell.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{U}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl<>("{U}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardCardCost());
ability.addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_NON_CREATURE));
diff --git a/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java b/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java
index 1972a7470f..1ad200544c 100644
--- a/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java
+++ b/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java
@@ -45,7 +45,7 @@ public final class StrongholdOverseer extends CardImpl {
// Shadow
this.addAbility(ShadowAbility.getInstance());
// {B}{B}: Creatures with shadow get +1/+0 until end of turn and creatures without shadow get -1/-0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false), new ManaCostsImpl("{B}{B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 0, Duration.EndOfTurn, filter, false), new ManaCostsImpl<>("{B}{B}"));
Effect effect = new BoostAllEffect(-1, 0, Duration.EndOfTurn, filter2, false);
effect.setText("and creatures without shadow get -1/-0 until end of turn");
ability.addEffect(effect);
diff --git a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java
index ec094ae4c2..a696841e35 100644
--- a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java
+++ b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java
@@ -31,7 +31,7 @@ public final class StudentOfWarfare extends LevelerCard {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
- this.addAbility(new LevelUpAbility(new ManaCostsImpl("{W}")));
+ this.addAbility(new LevelUpAbility(new ManaCostsImpl<>("{W}")));
Abilities abilities1 = new AbilitiesImpl<>();
abilities1.add(FirstStrikeAbility.getInstance());
diff --git a/Mage.Sets/src/mage/cards/s/SturdyHatchling.java b/Mage.Sets/src/mage/cards/s/SturdyHatchling.java
index d4875e3c46..1dd0a756fc 100644
--- a/Mage.Sets/src/mage/cards/s/SturdyHatchling.java
+++ b/Mage.Sets/src/mage/cards/s/SturdyHatchling.java
@@ -46,7 +46,7 @@ public final class SturdyHatchling extends CardImpl {
// Sturdy Hatchling enters the battlefield with four -1/-1 counters on it.
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(4)),"with four -1/-1 counters on it"));
// {G/U}: Sturdy Hatchling gains shroud until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{G/U}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{G/U}")));
// Whenever you cast a green spell, remove a -1/-1 counter from Sturdy Hatchling.
this.addAbility(new SpellCastControllerTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance(1)), filterGreenSpell, false));
// Whenever you cast a blue spell, remove a -1/-1 counter from Sturdy Hatchling.
diff --git a/Mage.Sets/src/mage/cards/s/SubiraTulzidiCaravanner.java b/Mage.Sets/src/mage/cards/s/SubiraTulzidiCaravanner.java
index f7bfca6bd7..6c6a3e5d13 100644
--- a/Mage.Sets/src/mage/cards/s/SubiraTulzidiCaravanner.java
+++ b/Mage.Sets/src/mage/cards/s/SubiraTulzidiCaravanner.java
@@ -63,7 +63,7 @@ public final class SubiraTulzidiCaravanner extends CardImpl {
// {1}{R}, {T}, Discard your hand: Until end of turn, whenever a creature you control with power 2 or less deals combat damage to a player, draw a card.
ability = new SimpleActivatedAbility(new CreateDelayedTriggeredAbilityEffect(
new SubiraTulzidiCaravannerAbility()
- ), new ManaCostsImpl("{1}{R}"));
+ ), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addCost(new DiscardHandCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SultaiBanner.java b/Mage.Sets/src/mage/cards/s/SultaiBanner.java
index c86f244f85..ec098570bc 100644
--- a/Mage.Sets/src/mage/cards/s/SultaiBanner.java
+++ b/Mage.Sets/src/mage/cards/s/SultaiBanner.java
@@ -31,7 +31,7 @@ public final class SultaiBanner extends CardImpl {
this.addAbility(new BlueManaAbility());
// {B}{G}{U}, {T}, Sacrifice Sultai Banner: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{B}{G}{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{B}{G}{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SummonersPact.java b/Mage.Sets/src/mage/cards/s/SummonersPact.java
index 2ea7c5aaee..23fe2f6872 100644
--- a/Mage.Sets/src/mage/cards/s/SummonersPact.java
+++ b/Mage.Sets/src/mage/cards/s/SummonersPact.java
@@ -33,7 +33,7 @@ public final class SummonersPact extends CardImpl {
// Search your library for a green creature card, reveal it, and put it into your hand. Then shuffle your library.
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true));
// At the beginning of your next upkeep, pay {2}{G}{G}. If you don't, you lose the game.
- this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new PactDelayedTriggeredAbility(new ManaCostsImpl("{2}{G}{G}"))));
+ this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect(new PactDelayedTriggeredAbility(new ManaCostsImpl<>("{2}{G}{G}"))));
}
private SummonersPact(final SummonersPact card) {
diff --git a/Mage.Sets/src/mage/cards/s/SummoningTrap.java b/Mage.Sets/src/mage/cards/s/SummoningTrap.java
index 4339ce56ba..0b6ac70ec7 100644
--- a/Mage.Sets/src/mage/cards/s/SummoningTrap.java
+++ b/Mage.Sets/src/mage/cards/s/SummoningTrap.java
@@ -34,7 +34,7 @@ public final class SummoningTrap extends CardImpl {
this.subtype.add(SubType.TRAP);
// If a creature spell you cast this turn was countered by a spell or ability an opponent controlled, you may pay {0} rather than pay Summoning Trap's mana cost.
- this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl("{0}"), SummoningTrapCondition.instance), new SummoningTrapWatcher());
+ this.addAbility(new AlternativeCostSourceAbility(new ManaCostsImpl<>("{0}"), SummoningTrapCondition.instance), new SummoningTrapWatcher());
// Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield.
// Put the rest on the bottom of your library in any order.
diff --git a/Mage.Sets/src/mage/cards/s/SunCollaredRaptor.java b/Mage.Sets/src/mage/cards/s/SunCollaredRaptor.java
index deb517edec..7ad67d508b 100644
--- a/Mage.Sets/src/mage/cards/s/SunCollaredRaptor.java
+++ b/Mage.Sets/src/mage/cards/s/SunCollaredRaptor.java
@@ -34,7 +34,7 @@ public final class SunCollaredRaptor extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BoostSourceEffect(3, 0, Duration.EndOfTurn),
- new ManaCostsImpl("{2}{R}"))
+ new ManaCostsImpl<>("{2}{R}"))
);
}
diff --git a/Mage.Sets/src/mage/cards/s/SunbladeElf.java b/Mage.Sets/src/mage/cards/s/SunbladeElf.java
index 7fcde80074..939de6e681 100644
--- a/Mage.Sets/src/mage/cards/s/SunbladeElf.java
+++ b/Mage.Sets/src/mage/cards/s/SunbladeElf.java
@@ -40,7 +40,7 @@ public final class SunbladeElf extends CardImpl {
// Sunblade Elf gets +1/+1 as long as you control a Plains.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(filter, 1, 1)));
// {4}{W}: Creatures you control get +1/+1 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false), new ManaCostsImpl("{4}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false), new ManaCostsImpl<>("{4}{W}")));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunfireBalm.java b/Mage.Sets/src/mage/cards/s/SunfireBalm.java
index ad765d1fda..c1a1726433 100644
--- a/Mage.Sets/src/mage/cards/s/SunfireBalm.java
+++ b/Mage.Sets/src/mage/cards/s/SunfireBalm.java
@@ -26,7 +26,7 @@ public final class SunfireBalm extends CardImpl {
this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn, 4));
this.getSpellAbility().addTarget(new TargetAnyTarget());
// Cycling {1}{W}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{1}{W}")));
// When you cycle Sunfire Balm, you may prevent the next 1 damage that would be dealt to any target this turn.
Ability ability = new CycleTriggeredAbility(new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), true);
ability.addTarget(new TargetAnyTarget());
diff --git a/Mage.Sets/src/mage/cards/s/SunflareShaman.java b/Mage.Sets/src/mage/cards/s/SunflareShaman.java
index 16c7eb1377..3cbe4343c0 100644
--- a/Mage.Sets/src/mage/cards/s/SunflareShaman.java
+++ b/Mage.Sets/src/mage/cards/s/SunflareShaman.java
@@ -35,7 +35,7 @@ public final class SunflareShaman extends CardImpl {
this.toughness = new MageInt(1);
// {1}{R}, {tap}: Sunflare Shaman deals X damage to any target and X damage to itself, where X is the number of Elemental cards in your graveyard.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SunflareShamanEffect(), new ManaCostsImpl("{1}{R}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SunflareShamanEffect(), new ManaCostsImpl<>("{1}{R}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Sunforger.java b/Mage.Sets/src/mage/cards/s/Sunforger.java
index 85e47c4ec4..323cef247d 100644
--- a/Mage.Sets/src/mage/cards/s/Sunforger.java
+++ b/Mage.Sets/src/mage/cards/s/Sunforger.java
@@ -51,7 +51,7 @@ public final class Sunforger extends CardImpl {
// instant card with converted mana cost 4 or less and cast that card
// without paying its mana cost. Then shuffle your library.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
- new SunforgerEffect(), new ManaCostsImpl("{R}{W}"));
+ new SunforgerEffect(), new ManaCostsImpl<>("{R}{W}"));
ability.addCost(new SunforgerUnattachCost(this.getName()));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SungrassEgg.java b/Mage.Sets/src/mage/cards/s/SungrassEgg.java
index f4aa9bf141..44a4efe07d 100644
--- a/Mage.Sets/src/mage/cards/s/SungrassEgg.java
+++ b/Mage.Sets/src/mage/cards/s/SungrassEgg.java
@@ -24,7 +24,7 @@ public final class SungrassEgg extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}");
// {2}, {tap}, Sacrifice Sungrass Egg: Add {G}{W}. Draw a card.
- ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new ManaCostsImpl("{2}"));
+ ActivatedManaAbilityImpl ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/s/SungrassPrairie.java b/Mage.Sets/src/mage/cards/s/SungrassPrairie.java
index a99c16cfd7..8a9183e0f2 100644
--- a/Mage.Sets/src/mage/cards/s/SungrassPrairie.java
+++ b/Mage.Sets/src/mage/cards/s/SungrassPrairie.java
@@ -22,7 +22,7 @@ public final class SungrassPrairie extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
// {1}, {tap}: Add {G}{W}.
- Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java b/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java
index 3c794f83ec..38c607a07d 100644
--- a/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java
+++ b/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java
@@ -36,7 +36,7 @@ public final class SunhomeEnforcer extends CardImpl {
this.addAbility(new SunhomeEnforcerTriggeredAbility());
// {1}{R}: Sunhome Enforcer gets +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}")));
}
private SunhomeEnforcer(final SunhomeEnforcer card) {
diff --git a/Mage.Sets/src/mage/cards/s/SunhomeFortressOfTheLegion.java b/Mage.Sets/src/mage/cards/s/SunhomeFortressOfTheLegion.java
index b74a48f223..21e5cfcea5 100644
--- a/Mage.Sets/src/mage/cards/s/SunhomeFortressOfTheLegion.java
+++ b/Mage.Sets/src/mage/cards/s/SunhomeFortressOfTheLegion.java
@@ -25,7 +25,7 @@ public final class SunhomeFortressOfTheLegion extends CardImpl {
public SunhomeFortressOfTheLegion(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new ColorlessManaAbility());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{2}{R}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}{W}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java b/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java
index 30ab1ffbc1..189b02df32 100644
--- a/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java
@@ -29,10 +29,10 @@ public final class SunhomeGuildmage extends CardImpl {
this.toughness = new MageInt(2);
//{1}{R}{W}: Creatures you control get +1/+0 until end of turn.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}{W}")));
//{2}{R}{W}: Create a 1/1 red and white Soldier creature token with haste.
- this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierTokenWithHaste()), new ManaCostsImpl("{2}{R}{W}")));
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SoldierTokenWithHaste()), new ManaCostsImpl<>("{2}{R}{W}")));
}
private SunhomeGuildmage(final SunhomeGuildmage card) {
diff --git a/Mage.Sets/src/mage/cards/s/SunkenCity.java b/Mage.Sets/src/mage/cards/s/SunkenCity.java
index 27100937f7..07f55e4cd3 100644
--- a/Mage.Sets/src/mage/cards/s/SunkenCity.java
+++ b/Mage.Sets/src/mage/cards/s/SunkenCity.java
@@ -33,7 +33,7 @@ public final class SunkenCity extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}");
// At the beginning of your upkeep, sacrifice Sunken City unless you pay {U}{U}.
- this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{U}{U}")), TargetController.YOU, false));
+ this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{U}")), TargetController.YOU, false));
// Blue creatures get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false)));
}
diff --git a/Mage.Sets/src/mage/cards/s/SunkenField.java b/Mage.Sets/src/mage/cards/s/SunkenField.java
index d65a21d865..7bfbc2bf97 100644
--- a/Mage.Sets/src/mage/cards/s/SunkenField.java
+++ b/Mage.Sets/src/mage/cards/s/SunkenField.java
@@ -40,7 +40,7 @@ public final class SunkenField extends CardImpl {
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Enchanted land has "{T}: Counter target spell unless its controller pays {1}."
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl("{1}")), new TapSourceCost());
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new ManaCostsImpl<>("{1}")), new TapSourceCost());
ability.addTarget(new TargetSpell());
Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA);
effect.setText("Enchanted land has \"{T}: Counter target spell unless its controller pays {1}.\"");
diff --git a/Mage.Sets/src/mage/cards/s/SunkenRuins.java b/Mage.Sets/src/mage/cards/s/SunkenRuins.java
index 309857c65e..aca1cfd306 100644
--- a/Mage.Sets/src/mage/cards/s/SunkenRuins.java
+++ b/Mage.Sets/src/mage/cards/s/SunkenRuins.java
@@ -24,15 +24,15 @@ public final class SunkenRuins extends CardImpl {
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {UB}, {tap}: Add {U}{U}, {U}{B}, or {B}{B}.
- SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{U/B}"));
+ SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl<>("{U/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
- ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 1, 0, 0, 0, 0, 0), new ManaCostsImpl("{U/B}"));
+ ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 1, 0, 0, 0, 0, 0), new ManaCostsImpl<>("{U/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
- ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{U/B}"));
+ ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl<>("{U/B}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SunmanePegasus.java b/Mage.Sets/src/mage/cards/s/SunmanePegasus.java
index b1ffbb30e8..d0d2f46b16 100644
--- a/Mage.Sets/src/mage/cards/s/SunmanePegasus.java
+++ b/Mage.Sets/src/mage/cards/s/SunmanePegasus.java
@@ -34,7 +34,7 @@ public final class SunmanePegasus extends CardImpl {
// {1}{W}: Sunmane Pegasus gains vigilance and lifelink until end of turn.
Ability ability = new SimpleActivatedAbility(new GainAbilitySourceEffect(
VigilanceAbility.getInstance(), Duration.EndOfTurn
- ).setText("{this} gains vigilance"), new ManaCostsImpl("{1}{W}"));
+ ).setText("{this} gains vigilance"), new ManaCostsImpl<>("{1}{W}"));
ability.addEffect(new GainAbilitySourceEffect(
LifelinkAbility.getInstance(), Duration.EndOfTurn
).setText("and lifelink until end of turn"));
diff --git a/Mage.Sets/src/mage/cards/s/SunsBounty.java b/Mage.Sets/src/mage/cards/s/SunsBounty.java
index 0357740670..3e37c88d01 100644
--- a/Mage.Sets/src/mage/cards/s/SunsBounty.java
+++ b/Mage.Sets/src/mage/cards/s/SunsBounty.java
@@ -22,7 +22,7 @@ public final class SunsBounty extends CardImpl {
this.getSpellAbility().addEffect(new GainLifeEffect(4));
// Recover {1}{W}
- this.addAbility(new RecoverAbility(new ManaCostsImpl("{1}{W}"), this));
+ this.addAbility(new RecoverAbility(new ManaCostsImpl<>("{1}{W}"), this));
}
private SunsBounty(final SunsBounty card) {
diff --git a/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java b/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java
index 531b937800..80bd1d8ebe 100644
--- a/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java
+++ b/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java
@@ -34,13 +34,13 @@ public final class SunscapeApprentice extends CardImpl {
// {G}, {tap}: Target creature gets +1/+1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn),
- new ManaCostsImpl("{G}"));
+ new ManaCostsImpl<>("{G}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// {U}, {tap}: Put target creature you control on top of its owner's library.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOnLibraryTargetEffect(true),
- new ManaCostsImpl("{U}"));
+ new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SunscapeMaster.java b/Mage.Sets/src/mage/cards/s/SunscapeMaster.java
index deea61ff93..8dfa9c11c6 100644
--- a/Mage.Sets/src/mage/cards/s/SunscapeMaster.java
+++ b/Mage.Sets/src/mage/cards/s/SunscapeMaster.java
@@ -34,14 +34,14 @@ public final class SunscapeMaster extends CardImpl {
// {G}{G}, {tap}: Creatures you control get +2/+2 until end of turn.
Effect effect1 = new BoostControlledEffect(2, 2, Duration.EndOfTurn);
effect1.setText("Creatures you control get +2/+2 until end of turn");
- Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect1, new ManaCostsImpl("{G}{G}"));
+ Ability ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect1, new ManaCostsImpl<>("{G}{G}"));
ability1.addCost(new TapSourceCost());
this.addAbility(ability1);
// {U}{U}, {tap}: Return target creature to its owner's hand.
Effect effect2 = new ReturnToHandTargetEffect();
effect2.setText("Return target creature to its owner's hand.");
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl("{U}{U}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl<>("{U}{U}"));
ability2.addTarget(new TargetCreaturePermanent());
ability2.addCost(new TapSourceCost());
this.addAbility(ability2);
diff --git a/Mage.Sets/src/mage/cards/s/Sunstone.java b/Mage.Sets/src/mage/cards/s/Sunstone.java
index 5e3df1dcb0..0f526ac568 100644
--- a/Mage.Sets/src/mage/cards/s/Sunstone.java
+++ b/Mage.Sets/src/mage/cards/s/Sunstone.java
@@ -35,7 +35,7 @@ public final class Sunstone extends CardImpl {
// {2}, Sacrifice a snow land: Prevent all combat damage that would be dealt this turn.
Effect effect = new PreventAllDamageByAllPermanentsEffect(Duration.EndOfTurn, true);
effect.setText("Prevent all combat damage that would be dealt this turn");
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SurgeMare.java b/Mage.Sets/src/mage/cards/s/SurgeMare.java
index faf14a0e0e..cd11baa5f3 100644
--- a/Mage.Sets/src/mage/cards/s/SurgeMare.java
+++ b/Mage.Sets/src/mage/cards/s/SurgeMare.java
@@ -58,7 +58,7 @@ public final class SurgeMare extends CardImpl {
this.addAbility(new SimpleActivatedAbility(
Zone.BATTLEFIELD,
new BoostSourceEffect(2, -2, Duration.EndOfTurn),
- new ManaCostsImpl("{1}{U}")
+ new ManaCostsImpl<>("{1}{U}")
));
}
diff --git a/Mage.Sets/src/mage/cards/s/Surgespanner.java b/Mage.Sets/src/mage/cards/s/Surgespanner.java
index 735a28683e..6348776038 100644
--- a/Mage.Sets/src/mage/cards/s/Surgespanner.java
+++ b/Mage.Sets/src/mage/cards/s/Surgespanner.java
@@ -29,7 +29,7 @@ public final class Surgespanner extends CardImpl {
this.toughness = new MageInt(2);
// Whenever Surgespanner becomes tapped, you may pay {1}{U}. If you do, return target permanent to its owner's hand.
- Ability ability = new BecomesTappedSourceTriggeredAbility(new DoIfCostPaid(new ReturnToHandTargetEffect(), new ManaCostsImpl("{1}{U}")));
+ Ability ability = new BecomesTappedSourceTriggeredAbility(new DoIfCostPaid(new ReturnToHandTargetEffect(), new ManaCostsImpl<>("{1}{U}")));
ability.addTarget(new TargetPermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SurvivorOfTheUnseen.java b/Mage.Sets/src/mage/cards/s/SurvivorOfTheUnseen.java
index f7e7ca917e..640c282da7 100644
--- a/Mage.Sets/src/mage/cards/s/SurvivorOfTheUnseen.java
+++ b/Mage.Sets/src/mage/cards/s/SurvivorOfTheUnseen.java
@@ -35,7 +35,7 @@ public final class SurvivorOfTheUnseen extends CardImpl {
this.toughness = new MageInt(1);
// Cumulative upkeep {2}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}")));
// {T}: Draw two cards, then put a card from your hand on top of your library.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SurvivorOfTheUnseenEffect(), new TapSourceCost()));
diff --git a/Mage.Sets/src/mage/cards/s/SustainingSpirit.java b/Mage.Sets/src/mage/cards/s/SustainingSpirit.java
index 5bb0322233..09d7bdd941 100644
--- a/Mage.Sets/src/mage/cards/s/SustainingSpirit.java
+++ b/Mage.Sets/src/mage/cards/s/SustainingSpirit.java
@@ -31,7 +31,7 @@ public final class SustainingSpirit extends CardImpl {
this.toughness = new MageInt(3);
// Cumulative upkeep {1}{W}
- this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl("{1}{W}")));
+ this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}{W}")));
// Damage that would reduce your life total to less than 1 reduces it to 1 instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SustainingSpiritReplacementEffect()));
diff --git a/Mage.Sets/src/mage/cards/s/Sustenance.java b/Mage.Sets/src/mage/cards/s/Sustenance.java
index 0212bfeaf5..2cbe843c8e 100644
--- a/Mage.Sets/src/mage/cards/s/Sustenance.java
+++ b/Mage.Sets/src/mage/cards/s/Sustenance.java
@@ -26,7 +26,7 @@ public final class Sustenance extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}");
// {1}, Sacrifice a land: Target creature gets +1/+1 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}"));
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("land"))));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SutureSpirit.java b/Mage.Sets/src/mage/cards/s/SutureSpirit.java
index 6fb029e9cd..012c14d69b 100644
--- a/Mage.Sets/src/mage/cards/s/SutureSpirit.java
+++ b/Mage.Sets/src/mage/cards/s/SutureSpirit.java
@@ -28,7 +28,7 @@ public final class SutureSpirit extends CardImpl {
this.power = new MageInt(1);
this.toughness = new MageInt(1);
this.addAbility(FlyingAbility.getInstance());
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{W/B}{W/B}{W/B}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl<>("{W/B}{W/B}{W/B}"));
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java
index 8a28fce99a..8aa108fdba 100644
--- a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java
+++ b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java
@@ -33,7 +33,7 @@ public final class SvyelunitePriest extends CardImpl {
this.toughness = new MageInt(1);
// {U}{U}, {tap}: Target creature gains shroud until end of turn. Activate this ability only during your upkeep.
- Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}{U}"),
+ Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}{U}"),
new IsStepCondition(PhaseStep.UPKEEP), null);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/s/SwarmGuildmage.java b/Mage.Sets/src/mage/cards/s/SwarmGuildmage.java
index 8f514a0bd8..396bf2305f 100644
--- a/Mage.Sets/src/mage/cards/s/SwarmGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SwarmGuildmage.java
@@ -35,7 +35,7 @@ public final class SwarmGuildmage extends CardImpl {
Ability ability = new SimpleActivatedAbility(
new BoostControlledEffect(1, 0, Duration.EndOfTurn)
.setText("creatures you control get +1/+0"),
- new ManaCostsImpl("{4}{B}")
+ new ManaCostsImpl<>("{4}{B}")
);
ability.addEffect(new GainAbilityControlledEffect(
new MenaceAbility(), Duration.EndOfTurn,
@@ -48,7 +48,7 @@ public final class SwarmGuildmage extends CardImpl {
// {1}{G}, {T}: You gain 2 life.
ability = new SimpleActivatedAbility(
new GainLifeEffect(2),
- new ManaCostsImpl("{1}{G}")
+ new ManaCostsImpl<>("{1}{G}")
);
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/Swat.java b/Mage.Sets/src/mage/cards/s/Swat.java
index 992bfc5ffe..336201fd61 100644
--- a/Mage.Sets/src/mage/cards/s/Swat.java
+++ b/Mage.Sets/src/mage/cards/s/Swat.java
@@ -33,7 +33,7 @@ public final class Swat extends CardImpl {
this.getSpellAbility().addEffect(new DestroyTargetEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
// Cycling {2}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
}
private Swat(final Swat card) {
diff --git a/Mage.Sets/src/mage/cards/s/SwellOfCourage.java b/Mage.Sets/src/mage/cards/s/SwellOfCourage.java
index 3b1980287c..fbaf108b9a 100644
--- a/Mage.Sets/src/mage/cards/s/SwellOfCourage.java
+++ b/Mage.Sets/src/mage/cards/s/SwellOfCourage.java
@@ -24,7 +24,7 @@ public final class SwellOfCourage extends CardImpl {
// Creatures you control get +2/+2 until end of turn.
this.getSpellAbility().addEffect(new BoostControlledEffect(2,2, Duration.EndOfTurn));
// Reinforce X-{X}{W}{W}
- this.addAbility(new ReinforceAbility(ManacostVariableValue.REGULAR, new ManaCostsImpl("{X}{W}{W}")));
+ this.addAbility(new ReinforceAbility(ManacostVariableValue.REGULAR, new ManaCostsImpl<>("{X}{W}{W}")));
}
private SwellOfCourage(final SwellOfCourage card) {
diff --git a/Mage.Sets/src/mage/cards/s/SwelteringSuns.java b/Mage.Sets/src/mage/cards/s/SwelteringSuns.java
index 06f3751800..e692b1a276 100644
--- a/Mage.Sets/src/mage/cards/s/SwelteringSuns.java
+++ b/Mage.Sets/src/mage/cards/s/SwelteringSuns.java
@@ -24,7 +24,7 @@ public final class SwelteringSuns extends CardImpl {
this.getSpellAbility().addEffect(new DamageAllEffect(3, new FilterCreaturePermanent()));
//Cycling {3}
- this.addAbility(new CyclingAbility(new ManaCostsImpl("{3}")));
+ this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{3}")));
}
private SwelteringSuns(final SwelteringSuns card) {
diff --git a/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java b/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java
index 15b5ee2d62..314fca9ee0 100644
--- a/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java
+++ b/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java
@@ -30,7 +30,7 @@ public final class SwirlingSpriggan extends CardImpl {
this.toughness = new MageInt(3);
// {GU}{GU}: Target creature you control becomes the color or colors of your choice until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorOrColorsTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{G/U}{G/U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesColorOrColorsTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{G/U}{G/U}"));
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SwoopingTalon.java b/Mage.Sets/src/mage/cards/s/SwoopingTalon.java
index c1963bbce9..07dc579602 100644
--- a/Mage.Sets/src/mage/cards/s/SwoopingTalon.java
+++ b/Mage.Sets/src/mage/cards/s/SwoopingTalon.java
@@ -32,7 +32,7 @@ public final class SwoopingTalon extends CardImpl {
this.addAbility(FlyingAbility.getInstance());
// {1}: Swooping Talon loses flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilitySourceEffect(
- FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}")));
+ FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{1}")));
// Provoke
this.addAbility(new ProvokeAbility());
}
diff --git a/Mage.Sets/src/mage/cards/s/SwordDancer.java b/Mage.Sets/src/mage/cards/s/SwordDancer.java
index e5a09dcfa9..cfe99b2eb8 100644
--- a/Mage.Sets/src/mage/cards/s/SwordDancer.java
+++ b/Mage.Sets/src/mage/cards/s/SwordDancer.java
@@ -30,7 +30,7 @@ public final class SwordDancer extends CardImpl {
this.toughness = new MageInt(2);
// {W}{W}: Target attacking creature gets -1/-0 until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 0, Duration.EndOfTurn), new ManaCostsImpl("{W}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{W}{W}"));
ability.addTarget(new TargetAttackingCreature());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
index 85702677c7..15c61fc6f5 100644
--- a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
+++ b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java
@@ -31,7 +31,7 @@ public final class SwordOfKaldra extends CardImpl {
// Whenever equipped creature deals damage to a creature, exile that creature.
this.addAbility(new SwordOfKaldraTriggeredAbility());
// Equip {4}
- this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl("{4}")));
+ this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl<>("{4}")));
}
private SwordOfKaldra(final SwordOfKaldra card) {
diff --git a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
index a07f21e6e7..2197d820a4 100644
--- a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
+++ b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java
@@ -46,13 +46,13 @@ public final class SydriGalvanicGenius extends CardImpl {
this.toughness = new MageInt(2);
// {U}: Target noncreature artifact becomes an artifact creature with power and toughness each equal to its converted mana cost until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SydriGalvanicGeniusEffect(), new ManaCostsImpl("{U}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SydriGalvanicGeniusEffect(), new ManaCostsImpl<>("{U}"));
ability.addTarget(new TargetPermanent(filterNonCreature));
this.addAbility(ability);
// {W}{B}: Target artifact creature gains deathtouch and lifelink until end of turn.
Effect effect = new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn, "Target artifact creature gains deathtouch");
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}{B}"));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}{B}"));
ability.addEffect(new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, "and lifelink until end of turn"));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java b/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java
index a7ffd9acf7..8a570022ac 100644
--- a/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java
+++ b/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java
@@ -39,7 +39,7 @@ public final class SyggRiverGuide extends CardImpl {
// Islandwalk
this.addAbility(new IslandwalkAbility());
// {1}{W}: Target Merfolk you control gains protection from the color of your choice until end of turn.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainProtectionFromColorTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainProtectionFromColorTargetEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}"));
Target target = new TargetControlledCreaturePermanent(1,1,filter, false);
ability.addTarget(target);
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SylvanBounty.java b/Mage.Sets/src/mage/cards/s/SylvanBounty.java
index 883a3a160c..174c1817ab 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanBounty.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanBounty.java
@@ -23,7 +23,7 @@ public final class SylvanBounty extends CardImpl {
// Target player gains 8 life.
this.getSpellAbility().addEffect(new GainLifeTargetEffect(8));
this.getSpellAbility().addTarget(new TargetPlayer());
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{1}{G}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{1}{G}")));
}
private SylvanBounty(final SylvanBounty card) {
diff --git a/Mage.Sets/src/mage/cards/s/SylvanMight.java b/Mage.Sets/src/mage/cards/s/SylvanMight.java
index 8345379ada..587ac6b214 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanMight.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanMight.java
@@ -33,7 +33,7 @@ public final class SylvanMight extends CardImpl {
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Flashback {2}{G}{G}
- this.addAbility(new FlashbackAbility(this, new ManaCostsImpl("{2}{G}{G}")));
+ this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{2}{G}{G}")));
}
private SylvanMight(final SylvanMight card) {
diff --git a/Mage.Sets/src/mage/cards/s/SylvanReclamation.java b/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
index 5bb5facd02..98c6c993a2 100644
--- a/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
+++ b/Mage.Sets/src/mage/cards/s/SylvanReclamation.java
@@ -37,7 +37,7 @@ public final class SylvanReclamation extends CardImpl {
this.getSpellAbility().addEffect(effect);
// Basic landcycling {2}
- this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl("{2}")));
+ this.addAbility(new BasicLandcyclingAbility(new ManaCostsImpl<>("{2}")));
}
private SylvanReclamation(final SylvanReclamation card) {
diff --git a/Mage.Sets/src/mage/cards/s/SylvokReplica.java b/Mage.Sets/src/mage/cards/s/SylvokReplica.java
index 42280b212a..f7f0e1a387 100644
--- a/Mage.Sets/src/mage/cards/s/SylvokReplica.java
+++ b/Mage.Sets/src/mage/cards/s/SylvokReplica.java
@@ -30,7 +30,7 @@ public final class SylvokReplica extends CardImpl {
this.toughness = new MageInt(3);
// {G}, Sacrifice Sylvok Replica: Destroy target artifact or enchantment.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{G}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl<>("{G}"));
ability.addCost(new SacrificeSourceCost());
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java b/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java
index 7cecb89eb9..1079be0735 100644
--- a/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java
+++ b/Mage.Sets/src/mage/cards/s/SymbioticDeployment.java
@@ -36,7 +36,7 @@ public final class SymbioticDeployment extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect()));
// {1}, Tap two untapped creatures you control: Draw a card.
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}"));
ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, false)));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SyndicateGuildmage.java b/Mage.Sets/src/mage/cards/s/SyndicateGuildmage.java
index 2103a1c94a..c7cad70702 100644
--- a/Mage.Sets/src/mage/cards/s/SyndicateGuildmage.java
+++ b/Mage.Sets/src/mage/cards/s/SyndicateGuildmage.java
@@ -41,7 +41,7 @@ public final class SyndicateGuildmage extends CardImpl {
// {1}{W}, {T}: Tap target creature with power 4 or greater.
Ability ability = new SimpleActivatedAbility(
- new TapTargetEffect(), new ManaCostsImpl("{1}{W}")
+ new TapTargetEffect(), new ManaCostsImpl<>("{1}{W}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetPermanent(filter));
@@ -49,7 +49,7 @@ public final class SyndicateGuildmage extends CardImpl {
// {4}{B}, {T}: Syndicate Guildmage deals 2 damage to target opponent or planeswalker.
ability = new SimpleActivatedAbility(
- new DamageTargetEffect(2), new ManaCostsImpl("{4}{B}")
+ new DamageTargetEffect(2), new ManaCostsImpl<>("{4}{B}")
);
ability.addCost(new TapSourceCost());
ability.addTarget(new TargetOpponentOrPlaneswalker());
diff --git a/Mage.Sets/src/mage/cards/s/SynodArtificer.java b/Mage.Sets/src/mage/cards/s/SynodArtificer.java
index ab4faa884e..639f71839f 100644
--- a/Mage.Sets/src/mage/cards/s/SynodArtificer.java
+++ b/Mage.Sets/src/mage/cards/s/SynodArtificer.java
@@ -42,7 +42,7 @@ public final class SynodArtificer extends CardImpl {
// {X}, {tap}: Tap X target noncreature artifacts.
Effect tapEffect = new TapTargetEffect();
tapEffect.setText("Tap X target noncreature artifacts.");
- Ability tapAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, tapEffect, new ManaCostsImpl("{X}"));
+ Ability tapAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, tapEffect, new ManaCostsImpl<>("{X}"));
tapAbility.addCost(new TapSourceCost());
tapAbility.setTargetAdjuster(XTargetsAdjuster.instance);
tapAbility.addTarget(new TargetPermanent(filter));
@@ -51,7 +51,7 @@ public final class SynodArtificer extends CardImpl {
// {X}, {tap}: Untap X target noncreature artifacts.
Effect untapEffect = new UntapTargetEffect();
untapEffect.setText("Untap X target noncreature artifacts.");
- Ability untapAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, untapEffect, new ManaCostsImpl("{X}"));
+ Ability untapAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, untapEffect, new ManaCostsImpl<>("{X}"));
untapAbility.addCost(new TapSourceCost());
untapAbility.setTargetAdjuster(XTargetsAdjuster.instance);
untapAbility.addTarget(new TargetPermanent(filter));
diff --git a/Mage.Sets/src/mage/cards/s/SynodSanctum.java b/Mage.Sets/src/mage/cards/s/SynodSanctum.java
index 77eb9f2cfe..268cb11b5d 100644
--- a/Mage.Sets/src/mage/cards/s/SynodSanctum.java
+++ b/Mage.Sets/src/mage/cards/s/SynodSanctum.java
@@ -41,7 +41,7 @@ public final class SynodSanctum extends CardImpl {
// {2}, {tap}: Exile target permanent you control.
SynodSanctumEffect effect = new SynodSanctumEffect();
- Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}"));
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}"));
ability.addCost(new TapSourceCost());
Target target = new TargetPermanent(filter);
ability.addTarget(target);
@@ -49,7 +49,7 @@ public final class SynodSanctum extends CardImpl {
// {2}, Sacrifice Synod Sanctum: Return all cards exiled with Synod Sanctum to the battlefield under your control.
SynodSanctumEffect2 effect2 = new SynodSanctumEffect2();
- Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl("{2}"));
+ Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect2, new ManaCostsImpl<>("{2}"));
ability2.addCost(new SacrificeSourceCost());
this.addAbility(ability2);
}
diff --git a/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java
index ad96561c21..f468f997bd 100644
--- a/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java
+++ b/Mage.Sets/src/mage/cards/s/SyrKonradTheGrim.java
@@ -37,7 +37,7 @@ public final class SyrKonradTheGrim extends CardImpl {
// {1}{B}: Each player puts the top card of their library into their graveyard.
this.addAbility(new SimpleActivatedAbility(new MillCardsEachPlayerEffect(
1, TargetController.ANY
- ), new ManaCostsImpl("{1}{B}")));
+ ), new ManaCostsImpl<>("{1}{B}")));
}
private SyrKonradTheGrim(final SyrKonradTheGrim card) {